OVSDB-486 Fix Null Pointer Exception in OVSDB 43/83343/1
authorNobin Mathew <nobin.mathew@ericsson.com>
Tue, 11 Sep 2018 06:06:10 +0000 (11:36 +0530)
committerAnil Vishnoi <vishnoianil@gmail.com>
Wed, 31 Jul 2019 23:44:37 +0000 (23:44 +0000)
Fix for Null Pointer Exception

Change-Id: I93227ab66df4529a9b8c127c4b41096335424cc3
Signed-off-by: Nobin Mathew <nobin.mathew@ericsson.com>
(cherry picked from commit cfab9e1aefdd0c7bdb09770309f8ad05c4c2c6ce)

southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbPortUpdateCommand.java

index 1694f7085fbf93615a619b461840e00bb1d59977..505aaa26a074ed316f8cff663d88e9966b8e98a2 100644 (file)
@@ -237,15 +237,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();
     }