NETVIRT-1630 migrate to md-sal APIs
[netvirt.git] / natservice / impl / src / main / java / org / opendaylight / netvirt / natservice / cli / DisplayNaptSwithcesCli.java
index 12d38d74f5de83053ac1fca1ae414d9a83dcb392..894031fca561b253e3bfed5412bffa262a462a02 100644 (file)
@@ -8,15 +8,17 @@
 
 package org.opendaylight.netvirt.natservice.cli;
 
-import com.google.common.base.Optional;
 import java.io.PrintStream;
 import java.math.BigInteger;
-import javax.annotation.Nonnull;
+import java.util.Optional;
 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.common.api.data.LogicalDatastoreType;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.genius.datastoreutils.SingleTransactionDataBroker;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
+import org.opendaylight.netvirt.natservice.internal.NatUtil;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.meta.rev160406.BridgeRefInfo;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.meta.rev160406.bridge.ref.info.BridgeRefEntry;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.meta.rev160406.bridge.ref.info.BridgeRefEntryKey;
@@ -39,25 +41,22 @@ public class DisplayNaptSwithcesCli extends OsgiCommandSupport {
     }
 
     @Override
-    protected Object doExecute() throws Exception {
+    @Nullable
+    protected Object doExecute() {
         PrintStream ps = session.getConsole();
-        Optional<NaptSwitches> npatSwitches = SingleTransactionDataBroker.syncReadOptional(dataBroker,
-                LogicalDatastoreType.CONFIGURATION, getNaptSwitchesIdentifier());
+        Optional<NaptSwitches> npatSwitches = NatUtil.getAllPrimaryNaptSwitches(dataBroker);
         ps.printf(String.format(" %-36s  %-20s  %-20s %n", "Router Id ", "Datapath Node Id", "Managment Ip Address"));
         ps.printf("-------------------------------------------------------------------------------------------%n");
         if (npatSwitches.isPresent()) {
-            for (RouterToNaptSwitch routerToNaptSwitch : npatSwitches.get().getRouterToNaptSwitch()) {
+            for (RouterToNaptSwitch routerToNaptSwitch : npatSwitches.get().nonnullRouterToNaptSwitch()) {
                 ps.printf(String.format(" %-36s  %-20s  %-20s %n", routerToNaptSwitch.getRouterName(),
-                     routerToNaptSwitch.getPrimarySwitchId(), getDpnLocalIp(routerToNaptSwitch.getPrimarySwitchId())));
+                     routerToNaptSwitch.getPrimarySwitchId(),
+                     getDpnLocalIp(routerToNaptSwitch.getPrimarySwitchId().toJava())));
             }
         }
         return null;
     }
 
-    private InstanceIdentifier<NaptSwitches> getNaptSwitchesIdentifier() {
-        return InstanceIdentifier.builder(NaptSwitches.class).build();
-    }
-
     @SuppressWarnings("unchecked")
     private Optional<Node> getPortsNode(BigInteger dpnId) {
         InstanceIdentifier<BridgeRefEntry> bridgeRefInfoPath = InstanceIdentifier.create(BridgeRefInfo.class)
@@ -67,7 +66,7 @@ public class DisplayNaptSwithcesCli extends OsgiCommandSupport {
                 SingleTransactionDataBroker.syncReadOptionalAndTreatReadFailedExceptionAsAbsentOptional(dataBroker,
                         LogicalDatastoreType.OPERATIONAL, bridgeRefInfoPath);
         if (!bridgeRefEntry.isPresent()) {
-            return Optional.absent();
+            return Optional.empty();
         }
 
         InstanceIdentifier<Node> nodeId =
@@ -77,10 +76,12 @@ public class DisplayNaptSwithcesCli extends OsgiCommandSupport {
                 LogicalDatastoreType.OPERATIONAL, nodeId);
     }
 
+    @Nullable
     private String getDpnLocalIp(BigInteger dpId) {
-        return getPortsNode(dpId).toJavaUtil().map(node -> getOpenvswitchOtherConfig(node, LOCAL_IP)).orElse(null);
+        return getPortsNode(dpId).map(node -> getOpenvswitchOtherConfig(node, LOCAL_IP)).orElse(null);
     }
 
+    @Nullable
     private String getOpenvswitchOtherConfig(Node node, String key) {
         OvsdbNodeAugmentation ovsdbNode = node.augmentation(OvsdbNodeAugmentation.class);
         if (ovsdbNode == null) {
@@ -92,7 +93,7 @@ public class DisplayNaptSwithcesCli extends OsgiCommandSupport {
 
         if (ovsdbNode != null && ovsdbNode.getOpenvswitchOtherConfigs() != null) {
             for (OpenvswitchOtherConfigs openvswitchOtherConfigs : ovsdbNode.getOpenvswitchOtherConfigs()) {
-                if (openvswitchOtherConfigs.getOtherConfigKey().equals(key)) {
+                if (key.equals(openvswitchOtherConfigs.getOtherConfigKey())) {
                     return openvswitchOtherConfigs.getOtherConfigValue();
                 }
             }
@@ -101,7 +102,7 @@ public class DisplayNaptSwithcesCli extends OsgiCommandSupport {
         return null;
     }
 
-    @Nonnull
+    @NonNull
     private Optional<Node> readOvsdbNode(Node bridgeNode) {
         OvsdbBridgeAugmentation bridgeAugmentation = extractBridgeAugmentation(bridgeNode);
         if (bridgeAugmentation != null) {
@@ -110,11 +111,12 @@ public class DisplayNaptSwithcesCli extends OsgiCommandSupport {
             return SingleTransactionDataBroker.syncReadOptionalAndTreatReadFailedExceptionAsAbsentOptional(dataBroker,
                     LogicalDatastoreType.OPERATIONAL, ovsdbNodeIid);
         }
-        return Optional.absent();
+        return Optional.empty();
 
     }
 
-    private OvsdbBridgeAugmentation extractBridgeAugmentation(Node node) {
+    @Nullable
+    private OvsdbBridgeAugmentation extractBridgeAugmentation(@Nullable Node node) {
         if (node == null) {
             return null;
         }