BUG-3879 : Fixed NPE in OspfPseudonodes case. 73/23273/4
authorDana Kutenicsova <dkutenic@cisco.com>
Thu, 25 Jun 2015 13:36:34 +0000 (15:36 +0200)
committerDana Kutenicsova <dkutenic@cisco.com>
Mon, 29 Jun 2015 12:39:51 +0000 (12:39 +0000)
OspfPseudonodes weren't properly extracted from BI to BA.

Change-Id: I30a6b163806af69c9c8efa77a5d9f208228d54fa
Signed-off-by: Dana Kutenicsova <dkutenic@cisco.com>
bgp/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/nlri/NodeNlriParser.java

index 7d757888e3e9c9f7fe818449ec839399694e702e..196a8802319eb4779d3733de69740813e72af907 100644 (file)
@@ -249,16 +249,14 @@ public final class NodeNlriParser {
 
     private static CRouterIdentifier serializeOspfPseudoNode(final ContainerNode ospfPseudonode) {
         final OspfPseudonodeCaseBuilder builder = new OspfPseudonodeCaseBuilder();
-        if (ospfPseudonode.getChild(OSPF_PSEUDONODE_NID).isPresent()) {
-            final OspfPseudonodeBuilder nodeBuilder = new OspfPseudonodeBuilder();
-            if (ospfPseudonode.getChild(LAN_IFACE_NID).isPresent()) {
-                nodeBuilder.setLanInterface(new OspfInterfaceIdentifier((Long) ospfPseudonode.getChild(LAN_IFACE_NID).get().getValue()));
-            }
-            if (ospfPseudonode.getChild(OSPF_ROUTER_NID).isPresent()) {
-                nodeBuilder.setOspfRouterId((Long) ospfPseudonode.getChild(OSPF_ROUTER_NID).get().getValue());
-            }
-            builder.setOspfPseudonode(nodeBuilder.build());
+        final OspfPseudonodeBuilder nodeBuilder = new OspfPseudonodeBuilder();
+        if (ospfPseudonode.getChild(LAN_IFACE_NID).isPresent()) {
+            nodeBuilder.setLanInterface(new OspfInterfaceIdentifier((Long)ospfPseudonode.getChild(LAN_IFACE_NID).get().getValue()));
+        }
+        if (ospfPseudonode.getChild(OSPF_ROUTER_NID).isPresent()) {
+            nodeBuilder.setOspfRouterId((Long)ospfPseudonode.getChild(OSPF_ROUTER_NID).get().getValue());
         }
+        builder.setOspfPseudonode(nodeBuilder.build());
         return builder.build();
     }
 
@@ -305,7 +303,7 @@ public final class NodeNlriParser {
     }
 
     static LocalNodeDescriptors serializeLocalNodeDescriptors(final ContainerNode descriptorsData) {
-        LocalNodeDescriptorsBuilder builder = new LocalNodeDescriptorsBuilder();
+        final LocalNodeDescriptorsBuilder builder = new LocalNodeDescriptorsBuilder();
         builder.setAsNumber(serializeAsNumber(descriptorsData));
         builder.setDomainId(serializeDomainId(descriptorsData));
         builder.setAreaId(serializeAreaId(descriptorsData));
@@ -314,7 +312,7 @@ public final class NodeNlriParser {
     }
 
     static RemoteNodeDescriptors serializeRemoteNodeDescriptors(final ContainerNode descriptorsData) {
-        RemoteNodeDescriptorsBuilder builder = new RemoteNodeDescriptorsBuilder();
+        final RemoteNodeDescriptorsBuilder builder = new RemoteNodeDescriptorsBuilder();
         builder.setAsNumber(serializeAsNumber(descriptorsData));
         builder.setDomainId(serializeDomainId(descriptorsData));
         builder.setAreaId(serializeAreaId(descriptorsData));
@@ -323,7 +321,7 @@ public final class NodeNlriParser {
     }
 
     static AdvertisingNodeDescriptors serializeAdvNodeDescriptors(final ContainerNode descriptorsData) {
-        AdvertisingNodeDescriptorsBuilder builder = new AdvertisingNodeDescriptorsBuilder();
+        final AdvertisingNodeDescriptorsBuilder builder = new AdvertisingNodeDescriptorsBuilder();
         builder.setAsNumber(serializeAsNumber(descriptorsData));
         builder.setDomainId(serializeDomainId(descriptorsData));
         builder.setAreaId(serializeAreaId(descriptorsData));
@@ -332,7 +330,7 @@ public final class NodeNlriParser {
     }
 
     static NodeDescriptors serializeNodeDescriptors(final ContainerNode descriptorsData) {
-        NodeDescriptorsBuilder builder = new NodeDescriptorsBuilder();
+        final NodeDescriptorsBuilder builder = new NodeDescriptorsBuilder();
         builder.setAsNumber(serializeAsNumber(descriptorsData));
         builder.setDomainId(serializeDomainId(descriptorsData));
         builder.setAreaId(serializeAreaId(descriptorsData));