Handle no present ext community for VpnNonMemberHandler 66/73866/2
authorClaudio D. Gasparini <claudio.gasparini@pantheon.tech>
Tue, 10 Jul 2018 06:51:34 +0000 (08:51 +0200)
committerClaudio D. Gasparini <claudio.gasparini@pantheon.tech>
Tue, 10 Jul 2018 10:40:36 +0000 (12:40 +0200)
avoiding possible NPE

JIRA: BGPCEP-811
Change-Id: I1a597d712bb847ca5708345248c2b06766ecd002
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/conditions/VpnNonMemberHandler.java

index 096af45f6d131b743b0dca5bb35b6930f7fbdced..d312f951f566560b56a63787c5a18d6a8adc24e9 100644 (file)
@@ -10,6 +10,7 @@ package org.opendaylight.protocol.bgp.openconfig.routing.policy.statement.condit
 
 import java.util.Collections;
 import java.util.List;
+import java.util.Objects;
 import java.util.stream.Collectors;
 import org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.RouteEntryBaseAttributes;
 import org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.policy.condition.BgpConditionsAugmentationPolicy;
@@ -69,6 +70,7 @@ public final class VpnNonMemberHandler implements
         }
         final List<RouteTarget> toRT = attributes.stream()
                 .map(ext -> ext.getExtendedCommunity())
+                .filter(Objects::nonNull)
                 .filter(this::filterRTExtComm)
                 .map(this::extendedCommunityToRouteTarget)
                 .collect(Collectors.toList());
@@ -91,6 +93,7 @@ public final class VpnNonMemberHandler implements
 
     @Override
     public List<ExtendedCommunities> getConditionParameter(final Attributes attributes) {
-        return attributes.getExtendedCommunities();
+        final List<ExtendedCommunities> ext = attributes.getExtendedCommunities();
+        return ext == null ? Collections.emptyList() : ext;
     }
 }