X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Ftopologymanager%2Fimplementation%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Ftopologymanager%2Finternal%2FTopologyManagerImpl.java;h=b0e87c48f3e0812fd2e33c7789e5e916479f6465;hp=ff1c026a344d74efa5aa1f1b57e05e60775cd1a4;hb=776b087b1e29c356cc912fd0a0b672fe2981a139;hpb=e5fe969c544e5354d2ba6253c98596cae0ea36c5 diff --git a/opendaylight/topologymanager/implementation/src/main/java/org/opendaylight/controller/topologymanager/internal/TopologyManagerImpl.java b/opendaylight/topologymanager/implementation/src/main/java/org/opendaylight/controller/topologymanager/internal/TopologyManagerImpl.java index ff1c026a34..b0e87c48f3 100644 --- a/opendaylight/topologymanager/implementation/src/main/java/org/opendaylight/controller/topologymanager/internal/TopologyManagerImpl.java +++ b/opendaylight/topologymanager/implementation/src/main/java/org/opendaylight/controller/topologymanager/internal/TopologyManagerImpl.java @@ -57,6 +57,7 @@ import org.opendaylight.controller.switchmanager.ISwitchManager; import org.opendaylight.controller.topologymanager.ITopologyManager; import org.opendaylight.controller.topologymanager.ITopologyManagerAware; import org.opendaylight.controller.topologymanager.ITopologyManagerClusterWideAware; +import org.opendaylight.controller.topologymanager.ITopologyManagerShell; import org.opendaylight.controller.topologymanager.TopologyUserLinkConfig; import org.osgi.framework.BundleContext; import org.osgi.framework.FrameworkUtil; @@ -71,6 +72,7 @@ import org.slf4j.LoggerFactory; public class TopologyManagerImpl implements ICacheUpdateAware, ITopologyManager, + ITopologyManagerShell, IConfigurationContainerAware, IListenTopoUpdates, IObjectReader, @@ -1010,4 +1012,82 @@ public class TopologyManagerImpl implements } } } + + public List printUserLink() { + List result = new ArrayList(); + for (String name : this.userLinksDB.keySet()) { + TopologyUserLinkConfig linkConfig = userLinksDB.get(name); + result.add("Name : " + name); + result.add(linkConfig.toString()); + result.add("Edge " + getLinkTuple(linkConfig)); + result.add("Reverse Edge " + getReverseLinkTuple(linkConfig)); + } + return result; + } + + public List addUserLink(String name, String ncStr1, String ncStr2) { + List result = new ArrayList(); + if ((name == null)) { + result.add("Please enter a valid Name"); + return result; + } + + if (ncStr1 == null) { + result.add("Please enter two node connector strings"); + return result; + } + if (ncStr2 == null) { + result.add("Please enter second node connector string"); + return result; + } + + NodeConnector nc1 = NodeConnector.fromString(ncStr1); + if (nc1 == null) { + result.add("Invalid input node connector 1 string: " + ncStr1); + return result; + } + NodeConnector nc2 = NodeConnector.fromString(ncStr2); + if (nc2 == null) { + result.add("Invalid input node connector 2 string: " + ncStr2); + return result; + } + + TopologyUserLinkConfig config = new TopologyUserLinkConfig(name, ncStr1, ncStr2); + result.add(this.addUserLink(config).toString()); + return result; + } + + public List deleteUserLinkShell(String name) { + List result = new ArrayList(); + if ((name == null)) { + result.add("Please enter a valid Name"); + return result; + } + this.deleteUserLink(name); + return result; + } + + public List printNodeEdges() { + List result = new ArrayList(); + Map> nodeEdges = getNodeEdges(); + if (nodeEdges == null) { + return result; + } + Set nodeSet = nodeEdges.keySet(); + if (nodeSet == null) { + return result; + } + result.add(" Node Edge"); + for (Node node : nodeSet) { + Set edgeSet = nodeEdges.get(node); + if (edgeSet == null) { + continue; + } + for (Edge edge : edgeSet) { + result.add(node + " " + edge); + } + } + return result; + } + }