NETVIRT-1630 migrate to md-sal APIs
[netvirt.git] / elanmanager / impl / src / main / java / org / opendaylight / netvirt / elan / cli / l2gw / L2GwValidateCli.java
index 75f007f3641be9b680ce953c1911bdf18ad5a04d..70a561fea5e07e86276e4a7f7ada3cb0f84c53ab 100644 (file)
@@ -9,7 +9,6 @@
 package org.opendaylight.netvirt.elan.cli.l2gw;
 
 import com.google.common.base.Function;
-import com.google.common.base.Optional;
 import com.google.common.collect.Sets;
 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.io.File;
@@ -21,16 +20,18 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
+import java.util.Optional;
 import java.util.Set;
+import java.util.concurrent.ExecutionException;
 import java.util.stream.Collectors;
 import org.apache.karaf.shell.commands.Command;
 import org.apache.karaf.shell.console.OsgiCommandSupport;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
-import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException;
+import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.genius.utils.hwvtep.HwvtepNodeHACache;
 import org.opendaylight.genius.utils.hwvtep.HwvtepSouthboundUtils;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.ReadTransaction;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.netvirt.elan.l2gw.ha.HwvtepHAUtil;
 import org.opendaylight.netvirt.elan.l2gw.ha.commands.LogicalSwitchesCmd;
 import org.opendaylight.netvirt.elan.l2gw.ha.commands.MergeCommand;
@@ -109,6 +110,7 @@ public class L2GwValidateCli extends OsgiCommandSupport {
 
     @Override
     @SuppressFBWarnings("DM_DEFAULT_ENCODING")
+    @Nullable
     public Object doExecute() throws Exception {
         try {
             pw = new PrintWriter(new FileOutputStream(new File("l2gw.validation.txt")));
@@ -117,28 +119,28 @@ public class L2GwValidateCli extends OsgiCommandSupport {
             verifyConfigVsOperationalDiff();
             verifyL2GatewayConnections();
             pw.close();
-        } catch (ReadFailedException e) {
+        } catch (ExecutionException | InterruptedException e) {
             session.getConsole().println("Failed with error " + e.getMessage());
             LOG.error("Failed with error ", e);
         }
         return null;
     }
 
-    private void readNodes() throws ReadFailedException {
-        try (ReadOnlyTransaction tx = dataBroker.newReadOnlyTransaction()) {
+    private void readNodes() throws ExecutionException, InterruptedException {
+        try (ReadTransaction tx = dataBroker.newReadOnlyTransaction()) {
             InstanceIdentifier<Topology> topoId = HwvtepSouthboundUtils.createHwvtepTopologyInstanceIdentifier();
 
-            Optional<Topology> operationalTopoOptional = tx.read(LogicalDatastoreType.OPERATIONAL, topoId).checkedGet();
-            Optional<Topology> configTopoOptional = tx.read(LogicalDatastoreType.CONFIGURATION, topoId).checkedGet();
+            Optional<Topology> operationalTopoOptional = tx.read(LogicalDatastoreType.OPERATIONAL, topoId).get();
+            Optional<Topology> configTopoOptional = tx.read(LogicalDatastoreType.CONFIGURATION, topoId).get();
 
             if (operationalTopoOptional.isPresent()) {
-                for (Node node : operationalTopoOptional.get().getNode()) {
+                for (Node node : operationalTopoOptional.get().nonnullNode()) {
                     InstanceIdentifier<Node> nodeIid = topoId.child(Node.class, node.key());
                     operationalNodes.put(nodeIid, node);
                 }
             }
             if (configTopoOptional.isPresent()) {
-                for (Node node : configTopoOptional.get().getNode()) {
+                for (Node node : configTopoOptional.get().nonnullNode()) {
                     InstanceIdentifier<Node> nodeIid = topoId.child(Node.class, node.key());
                     configNodes.put(nodeIid, node);
                 }
@@ -148,7 +150,7 @@ public class L2GwValidateCli extends OsgiCommandSupport {
             fillNodesData(configNodes, configNodesData);
 
             Optional<ElanInstances> elanInstancesOptional = tx.read(LogicalDatastoreType.CONFIGURATION,
-                    InstanceIdentifier.builder(ElanInstances.class).build()).checkedGet();
+                    InstanceIdentifier.builder(ElanInstances.class).build()).get();
 
             if (elanInstancesOptional.isPresent() && elanInstancesOptional.get().getElanInstance() != null) {
                 for (ElanInstance elanInstance : elanInstancesOptional.get().getElanInstance()) {
@@ -163,7 +165,7 @@ public class L2GwValidateCli extends OsgiCommandSupport {
         }
     }
 
-    private boolean isPresent(Map<InstanceIdentifier<Node>, Map<InstanceIdentifier, DataObject>> dataMap,
+    private static boolean isPresent(Map<InstanceIdentifier<Node>, Map<InstanceIdentifier, DataObject>> dataMap,
                               InstanceIdentifier<Node> nodeIid, InstanceIdentifier dataIid) {
         if (dataMap.containsKey(nodeIid)) {
             return dataMap.get(nodeIid).containsKey(dataIid);
@@ -171,7 +173,8 @@ public class L2GwValidateCli extends OsgiCommandSupport {
         return false;
     }
 
-    private DataObject getData(Map<InstanceIdentifier<Node>, Map<InstanceIdentifier, DataObject>> dataMap,
+    @Nullable
+    private static DataObject getData(Map<InstanceIdentifier<Node>, Map<InstanceIdentifier, DataObject>> dataMap,
                                InstanceIdentifier<Node> nodeIid, InstanceIdentifier dataIid) {
         if (dataMap.containsKey(nodeIid)) {
             return dataMap.get(nodeIid).get(dataIid);
@@ -265,7 +268,7 @@ public class L2GwValidateCli extends OsgiCommandSupport {
         }
     }
 
-    private boolean containsLogicalSwitch(Node node) {
+    private static boolean containsLogicalSwitch(Node node) {
         if (node == null || node.augmentation(HwvtepGlobalAugmentation.class) == null
                 || HwvtepHAUtil.isEmptyList(
                 node.augmentation(HwvtepGlobalAugmentation.class).getLogicalSwitches())) {
@@ -385,7 +388,7 @@ public class L2GwValidateCli extends OsgiCommandSupport {
 
             L2gateway l2gateway = uuidToL2Gateway.get(l2gatewayConnection.getL2gatewayId());
             String logicalSwitchName = l2gatewayConnection.getNetworkId().getValue();
-            List<Devices> devices = l2gateway.getDevices();
+            List<Devices> devices = l2gateway.nonnullDevices();
 
             for (Devices device : devices) {
 
@@ -433,7 +436,8 @@ public class L2GwValidateCli extends OsgiCommandSupport {
         return true;
     }
 
-    private  InstanceIdentifier<TerminationPoint> getPhysicalPortTerminationPointIid(NodeId nodeId, String portName) {
+    private static InstanceIdentifier<TerminationPoint> getPhysicalPortTerminationPointIid(NodeId nodeId,
+            String portName) {
         TerminationPointKey tpKey = new TerminationPointKey(new TpId(portName));
         InstanceIdentifier<TerminationPoint> iid = HwvtepSouthboundUtils.createTerminationPointId(nodeId, tpKey);
         return iid;
@@ -550,7 +554,7 @@ public class L2GwValidateCli extends OsgiCommandSupport {
             VlanBindings expectedBindings = !expectedVlans.isEmpty() ? expectedVlans.get(0) : null;
             boolean foundBindings = false;
             List<VlanBindings> vlanBindingses = configTerminationPoint.augmentation(
-                    HwvtepPhysicalPortAugmentation.class).getVlanBindings();
+                    HwvtepPhysicalPortAugmentation.class).nonnullVlanBindings();
             for (VlanBindings actual : vlanBindingses) {
                 if (actual.equals(expectedBindings)) {
                     foundBindings = true;