Bump version odlparent->6.0.0,mdsal->5.0.3
[genius.git] / interfacemanager / interfacemanager-shell / src / main / java / org / opendaylight / genius / interfacemanager / shell / IfmCLIUtil.java
index c3982b81169c66ff9648c8c7ab6704790c472036..297c11244365394e6813a3853b2ea7e13d7a9ebc 100644 (file)
@@ -7,9 +7,7 @@
  */
 package org.opendaylight.genius.interfacemanager.shell;
 
-import java.math.BigInteger;
 import java.util.Formatter;
-
 import org.apache.felix.service.command.CommandSession;
 import org.opendaylight.genius.interfacemanager.globals.InterfaceInfo;
 import org.opendaylight.genius.interfacemanager.globals.InterfaceInfo.InterfaceOpState;
@@ -20,21 +18,26 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.ParentRefs;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbTerminationPointAugmentation;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.port._interface.attributes.Options;
+import org.opendaylight.yangtools.yang.common.Uint64;
 
-public class IfmCLIUtil {
+public final class IfmCLIUtil {
     private static final String VLAN_OUTPUT_FORMAT_LINE1 = "%-55s";
     private static final String VLAN_OUTPUT_FORMAT = "%-24s %-20s %-15s %-24s";
     private static final String VXLAN_OUTPUT_FORMAT = "%-24s %-24s %-18s %-5s";
     private static final String VXLAN_OUTPUT_FORMAT_LINE1 = "%-49s %-45s";
     private static final String IF_TP_OUTPUT_FORMAT = "%-24s";
     private static final String TP_OUTPUT_FORMAT = "%-24s %-20s %-8s";
+    private static final String BFD_OUTPUT_FORMAT = "%-24s %-8s";
     private static final String TP_VXLAN_OUTPUT_FORMAT_LINE1 = "local_ip:%-24s remote_ip:%-24s key:%-12s";
     private static final String BRIDGE_PORTS_OUTPUT_FORMAT_HEADER = "%-8s %-20s";
     private static final String TP_OUTPUT_FORMAT_LINE2 = "%-12s";
     private static final String UNSET = "N/A";
     private static final int IFTYPE_LEN = "InterfaceType".length();
 
-    public static void showVlanHeaderOutput(CommandSession session) {
+    private IfmCLIUtil() {
+    }
+
+    static void showVlanHeaderOutput(CommandSession session) {
         StringBuilder sb = new StringBuilder();
         Formatter fmt = new Formatter(sb);
         session.getConsole().println(fmt.format(VLAN_OUTPUT_FORMAT_LINE1, "Name"));
@@ -53,11 +56,11 @@ public class IfmCLIUtil {
         fmt.close();
     }
 
-    public static void showVlanOutput(InterfaceInfo ifaceInfo, Interface iface, CommandSession session) {
+    static void showVlanOutput(InterfaceInfo ifaceInfo, Interface iface, CommandSession session) {
         StringBuilder sb = new StringBuilder();
         Formatter fmt = new Formatter(sb);
-        IfL2vlan l2vlan = iface.getAugmentation(IfL2vlan.class);
-        int vlanId = l2vlan != null ? l2vlan.getVlanId() != null ? l2vlan.getVlanId().getValue() : 0 : 0;
+        IfL2vlan l2vlan = iface.augmentation(IfL2vlan.class);
+        int vlanId = l2vlan != null ? l2vlan.getVlanId() != null ? l2vlan.getVlanId().getValue().toJava() : 0 : 0;
         session.getConsole().println(fmt.format(VLAN_OUTPUT_FORMAT_LINE1,
                 iface.getName()));
         sb.setLength(0);
@@ -71,13 +74,13 @@ public class IfmCLIUtil {
                 ifaceInfo == null ? UNSET : ifaceInfo.getAdminState(),
                 ifaceInfo == null ? UNSET : ifaceInfo.getOpState()));
         sb.setLength(0);
-        session.getConsole().println(fmt.format(VLAN_OUTPUT_FORMAT + "\n",
+        session.getConsole().println(fmt.format(VLAN_OUTPUT_FORMAT + "%n",
                 iface.getDescription(), "", "", ""));
         sb.setLength(0);
         fmt.close();
     }
 
-    public static void showVxlanHeaderOutput(CommandSession session) {
+    static void showVxlanHeaderOutput(CommandSession session) {
         StringBuilder sb = new StringBuilder();
         Formatter fmt = new Formatter(sb);
         session.getConsole().println(fmt
@@ -94,21 +97,21 @@ public class IfmCLIUtil {
         fmt.close();
     }
 
-    public static void showVxlanOutput(Interface iface, InterfaceInfo interfaceInfo, CommandSession session) {
+    static void showVxlanOutput(Interface iface, InterfaceInfo interfaceInfo, CommandSession session) {
         StringBuilder sb = new StringBuilder();
         Formatter fmt = new Formatter(sb);
         session.getConsole().println(fmt.format(VXLAN_OUTPUT_FORMAT_LINE1,
                 iface.getName(),
                 iface.getDescription() == null ? UNSET : iface.getDescription()));
         sb.setLength(0);
-        IfTunnel ifTunnel = iface.getAugmentation(IfTunnel.class);
+        IfTunnel ifTunnel = iface.augmentation(IfTunnel.class);
         session.getConsole().println(fmt.format(VXLAN_OUTPUT_FORMAT,
-                new String(ifTunnel.getTunnelSource().getValue()),
-                new String(ifTunnel.getTunnelDestination().getValue()),
-                ifTunnel.getTunnelGateway() == null ? UNSET : new String(ifTunnel.getTunnelGateway().getValue()),
+                ifTunnel.getTunnelSource().stringValue(),
+                ifTunnel.getTunnelDestination().stringValue(),
+                ifTunnel.getTunnelGateway() == null ? UNSET : ifTunnel.getTunnelGateway().stringValue(),
                 interfaceInfo == null ? InterfaceInfo.InterfaceAdminState.DISABLED : interfaceInfo.getAdminState()));
         sb.setLength(0);
-        ParentRefs parentRefs = iface.getAugmentation(ParentRefs.class);
+        ParentRefs parentRefs = iface.augmentation(ParentRefs.class);
         session.getConsole().println(fmt.format(VXLAN_OUTPUT_FORMAT + "\n",
                 interfaceInfo == null ? InterfaceOpState.DOWN : interfaceInfo.getOpState(),
                 String.format("%s/%s", parentRefs.getDatapathNodeIdentifier(),
@@ -118,7 +121,7 @@ public class IfmCLIUtil {
     }
 
     //TODO: Capture more information and cleaner display for TerminationPoint
-    public static void showInterfaceToTpHeader(CommandSession session) {
+    static void showInterfaceToTpHeader(CommandSession session) {
         StringBuilder sb = new StringBuilder();
         Formatter fmt = new Formatter(sb);
         session.getConsole().println(fmt
@@ -132,19 +135,38 @@ public class IfmCLIUtil {
         fmt.close();
     }
 
-    public static void showInterfaceToTpOutput(String ifName, OvsdbTerminationPointAugmentation port,
-                    CommandSession session) {
+    static void showInterfaceToTpOutput(String ifName, OvsdbTerminationPointAugmentation port,
+                                        CommandSession session) {
         StringBuilder sb = new StringBuilder();
         Formatter fmt = new Formatter(sb);
         session.getConsole().println(fmt
-            .format(TP_OUTPUT_FORMAT, port.getName(), getPortTypeStr(port), port.getOfport()));
+                .format(TP_OUTPUT_FORMAT, port.getName(), getPortTypeStr(port), port.getOfport()));
         sb.setLength(0);
         session.getConsole().println(fmt.format(IF_TP_OUTPUT_FORMAT, ifName));
         sb.setLength(0);
         fmt.close();
     }
 
-    public static void showBridgePortsHeader(CommandSession session, BigInteger dpnId) {
+    static void printBfdCachesHeader(CommandSession session) {
+        StringBuilder sb = new StringBuilder();
+        Formatter fmt = new Formatter(sb);
+        session.getConsole().println(fmt.format(BFD_OUTPUT_FORMAT, "InterfaceName", "OperStatus"));
+        sb.setLength(0);
+        session.getConsole().println(fmt
+                .format("--------------------------------------------------------------------------------"));
+        fmt.close();
+    }
+
+    static void printBfdCachesOutput(String ifName, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf
+            .interfaces.rev140508.interfaces.state.Interface.OperStatus st,
+                                       CommandSession session) {
+        StringBuilder sb = new StringBuilder();
+        Formatter fmt = new Formatter(sb);
+        session.getConsole().println(fmt.format(BFD_OUTPUT_FORMAT, ifName, st.getName()));
+        fmt.close();
+    }
+
+    static void showBridgePortsHeader(CommandSession session, Uint64 dpnId) {
         StringBuilder sb = new StringBuilder();
         Formatter fmt = new Formatter(sb);
         session.getConsole().println(fmt
@@ -164,7 +186,7 @@ public class IfmCLIUtil {
         fmt.close();
     }
 
-    public static void showBridgePortsOutput(CommandSession session, OvsdbTerminationPointAugmentation port) {
+    static void showBridgePortsOutput(CommandSession session, OvsdbTerminationPointAugmentation port) {
         StringBuilder sb = new StringBuilder();
         Formatter fmt = new Formatter(sb);
         session.getConsole().println(fmt
@@ -190,13 +212,19 @@ public class IfmCLIUtil {
             String remoteIp = UNSET;
             String localIp = UNSET;
             String key = UNSET;
-            for (Options portOption: port.getOptions()) {
-                if (portOption.getOption().equals("local_ip")) {
-                    localIp = portOption.getValue();
-                } else if (portOption.getOption().equals("remote_ip")) {
-                    remoteIp = portOption.getValue();
-                } else if (portOption.getOption().equals("key")) {
-                    key = portOption.getValue();
+            for (Options portOption: port.nonnullOptions()) {
+                switch (portOption.getOption()) {
+                    case "local_ip":
+                        localIp = portOption.getValue();
+                        break;
+                    case "remote_ip":
+                        remoteIp = portOption.getValue();
+                        break;
+                    case "key":
+                        key = portOption.getValue();
+                        break;
+                    default:
+                        break;
                 }
             }
             return String.format(TP_VXLAN_OUTPUT_FORMAT_LINE1, localIp, remoteIp, key);