OVSDB-486 Fix Null Pointer Exception in OVSDB 34/82734/4
authorNobin Mathew <nobin.mathew@ericsson.com>
Tue, 11 Sep 2018 06:06:10 +0000 (11:36 +0530)
committerNobin Mathew <nobin.mathew@ericsson.com>
Wed, 31 Jul 2019 09:26:11 +0000 (14:56 +0530)
Fix for Null Pointer Exception

Change-Id: I93227ab66df4529a9b8c127c4b41096335424cc3
Signed-off-by: Nobin Mathew <nobin.mathew@ericsson.com>
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbPortUpdateCommand.java

index b6824bc6ace2365710236c00a446edf2576f463f..236e7fddbe12e68d568201a6d5c7a8073bdfee8a 100644 (file)
@@ -240,15 +240,23 @@ public class OvsdbPortUpdateCommand extends AbstractTransactionCommand {
         OvsdbNodeAugmentation ovsdbNode = node.augmentation(OvsdbNodeAugmentation.class);
         List<ManagedNodeEntry> managedNodes = ovsdbNode.getManagedNodeEntry();
         TpId tpId = new TpId(tpName);
+
         for (ManagedNodeEntry managedNodeEntry : managedNodes) {
-            Node managedNode = readNode(transaction,
-                    (InstanceIdentifier<Node>)managedNodeEntry.getBridgeRef().getValue()).get();
-            for (TerminationPoint tpEntry : managedNode.getTerminationPoint()) {
-                if (tpId.equals(tpEntry.getTpId())) {
-                    return Optional.of((InstanceIdentifier<Node>)managedNodeEntry.getBridgeRef().getValue());
+            Optional<Node> optManagedNode = readNode(transaction,
+                    (InstanceIdentifier<Node>)managedNodeEntry.getBridgeRef().getValue());
+            if (optManagedNode.isPresent()) {
+                Node managedNode = optManagedNode.get();
+                List<TerminationPoint> tpEntrys = managedNode.getTerminationPoint();
+                if (tpEntrys != null) {
+                    for (TerminationPoint tpEntry : tpEntrys) {
+                        if (tpId.equals(tpEntry.getTpId())) {
+                            return Optional.of((InstanceIdentifier<Node>) managedNodeEntry.getBridgeRef().getValue());
+                        }
+                    }
                 }
             }
         }
+
         return Optional.absent();
     }