2 * Copyright (c) 2016 Ericsson India Global Services Pvt Ltd. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.vpnservice.interfacemgr.shell;
10 import org.opendaylight.vpnservice.interfacemgr.globals.InterfaceInfo;
11 import org.opendaylight.vpnservice.interfacemgr.globals.InterfaceInfo.InterfaceOpState;
12 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.interfacemgr.rev150331.IfL2vlan;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.interfacemgr.rev150331.IfTunnel;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.interfacemgr.rev150331.ParentRefs;
17 import java.util.Formatter;
19 public class IfmCLIUtil {
20 private static final String VLAN_OUTPUT_FORMAT_LINE1 = "%-55s";
21 private static final String VLAN_OUTPUT_FORMAT = "%-24s %-20s %-15s %-24s";
22 private static final String VXLAN_OUTPUT_FORMAT = "%-24s %-24s %-18s %-5s";
23 private static final String VXLAN_OUTPUT_FORMAT_LINE1 = "%-49s %-45s";
24 private static final String UNSET = "N/A";
26 public static void showVlanHeaderOutput() {
27 StringBuilder sb = new StringBuilder();
28 Formatter fmt = new Formatter(sb);
29 System.out.println(fmt.format(VLAN_OUTPUT_FORMAT_LINE1, "Name"));
31 System.out.println(fmt.format(VLAN_OUTPUT_FORMAT, "", "Dpn", "PortName",
34 System.out.println(fmt.format(VLAN_OUTPUT_FORMAT, "Tag", "PortNo",
35 "AdmState", "OpState"));
37 System.out.println(fmt.format(VLAN_OUTPUT_FORMAT, "Description", "", "", ""));
39 System.out.println(fmt.format("--------------------------------------------------------------------------------"));
44 public static void showVlanOutput(InterfaceInfo ifaceInfo, Interface iface) {
45 StringBuilder sb = new StringBuilder();
46 Formatter fmt = new Formatter(sb);
47 IfL2vlan l2vlan = iface.getAugmentation(IfL2vlan.class);
48 int vlanId = l2vlan != null ? l2vlan.getVlanId() != null ? l2vlan.getVlanId().getValue() : 0 : 0;
49 System.out.println(fmt.format(VLAN_OUTPUT_FORMAT_LINE1,
52 System.out.println(fmt.format(VLAN_OUTPUT_FORMAT,
53 "", (ifaceInfo == null) ? UNSET : ifaceInfo.getDpId(),
54 (ifaceInfo == null) ? UNSET : ifaceInfo.getPortName(), vlanId));
56 System.out.println(fmt.format(VLAN_OUTPUT_FORMAT,
57 (ifaceInfo == null) ? UNSET : ifaceInfo.getInterfaceTag(),
58 (ifaceInfo == null) ? UNSET : ifaceInfo.getPortNo(),
59 (ifaceInfo == null) ? UNSET : ifaceInfo.getAdminState(),
60 (ifaceInfo == null) ? UNSET : ifaceInfo.getOpState()));
62 System.out.println(fmt.format(VLAN_OUTPUT_FORMAT + "\n",
63 iface.getDescription(), "", "", ""));
68 public static void showVxlanHeaderOutput() {
69 StringBuilder sb = new StringBuilder();
70 Formatter fmt = new Formatter(sb);
71 System.out.println(fmt
72 .format(VXLAN_OUTPUT_FORMAT_LINE1, "Name", "Description"));
74 System.out.println(fmt.format(VXLAN_OUTPUT_FORMAT, "Local IP",
75 "Remote IP", "Gateway IP", "AdmState"));
77 System.out.println(fmt.format(VXLAN_OUTPUT_FORMAT, "OpState", "Parent",
80 System.out.println(fmt
81 .format("--------------------------------------------------------------------------------"));
85 public static void showVxlanOutput(Interface iface, InterfaceInfo interfaceInfo) {
86 StringBuilder sb = new StringBuilder();
87 Formatter fmt = new Formatter(sb);
88 System.out.println(fmt.format(VXLAN_OUTPUT_FORMAT_LINE1,
90 iface.getDescription() == null ? UNSET : iface.getDescription()));
92 IfTunnel ifTunnel = iface.getAugmentation(IfTunnel.class);
93 System.out.println(fmt.format(VXLAN_OUTPUT_FORMAT,
94 ifTunnel.getTunnelSource().getIpv4Address().getValue(),
95 ifTunnel.getTunnelDestination().getIpv4Address().getValue(),
96 ifTunnel.getTunnelGateway() == null ? UNSET : ifTunnel.getTunnelGateway().getIpv4Address().getValue(),
97 (interfaceInfo == null) ? InterfaceInfo.InterfaceAdminState.DISABLED : interfaceInfo.getAdminState()));
99 ParentRefs parentRefs = iface.getAugmentation(ParentRefs.class);
100 System.out.println(fmt.format(VXLAN_OUTPUT_FORMAT + "\n",
101 (interfaceInfo == null) ? InterfaceOpState.DOWN : interfaceInfo.getOpState(),
102 String.format("%s/%s", parentRefs.getDatapathNodeIdentifier(),
103 parentRefs.getParentInterface()),
104 (interfaceInfo == null) ? UNSET : interfaceInfo.getInterfaceTag(), ""));