X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fconnectionmanager%2Fimplementation%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconnectionmanager%2Finternal%2FConnectionManager.java;h=df5175083b1870ef99b29443d42003eb2bb179c5;hb=5ea1d65aee8571ebaaff4f8b30065816873f018e;hp=9cbddbb13046202e482a6765c810bfd4e3507bd3;hpb=7ea745ea554f99275d96504c09d63d24137278eb;p=controller.git diff --git a/opendaylight/connectionmanager/implementation/src/main/java/org/opendaylight/controller/connectionmanager/internal/ConnectionManager.java b/opendaylight/connectionmanager/implementation/src/main/java/org/opendaylight/controller/connectionmanager/internal/ConnectionManager.java index 9cbddbb130..df5175083b 100644 --- a/opendaylight/connectionmanager/implementation/src/main/java/org/opendaylight/controller/connectionmanager/internal/ConnectionManager.java +++ b/opendaylight/connectionmanager/implementation/src/main/java/org/opendaylight/controller/connectionmanager/internal/ConnectionManager.java @@ -37,6 +37,7 @@ import org.eclipse.osgi.framework.console.CommandProvider; import org.opendaylight.controller.clustering.services.ICacheUpdateAware; import org.opendaylight.controller.clustering.services.IClusterGlobalServices; import org.opendaylight.controller.clustering.services.ICoordinatorChangeAware; +import org.opendaylight.controller.connectionmanager.ConnectionLocality; import org.opendaylight.controller.connectionmanager.ConnectionMgmtScheme; import org.opendaylight.controller.connectionmanager.IConnectionManager; import org.opendaylight.controller.connectionmanager.scheme.AbstractScheme; @@ -133,11 +134,17 @@ public class ConnectionManager implements IConnectionManager, IConnectionListene } public void init() { + String schemeStr = System.getProperty("connection.scheme"); this.connectionEvents = new LinkedBlockingQueue(); schemes = new ConcurrentHashMap(); for (ConnectionMgmtScheme scheme : ConnectionMgmtScheme.values()) { AbstractScheme schemeImpl = SchemeFactory.getScheme(scheme, clusterServices); - if (schemeImpl != null) schemes.put(scheme, schemeImpl); + if (schemeImpl != null) { + schemes.put(scheme, schemeImpl); + if (scheme.name().equalsIgnoreCase(schemeStr)) { + activeScheme = scheme; + } + } } } @@ -179,6 +186,13 @@ public class ConnectionManager implements IConnectionManager, IConnectionListene return scheme.isLocal(node); } + @Override + public ConnectionLocality getLocalityStatus(Node node) { + AbstractScheme scheme = schemes.get(activeScheme); + if (scheme == null) return ConnectionLocality.NOT_CONNECTED; + return scheme.getLocalityStatus(node); + } + @Override public void updateNode(Node node, UpdateType type, Set props) { logger.debug("updateNode: {} type {} props {}", node, type, props); @@ -352,16 +366,21 @@ public class ConnectionManager implements IConnectionManager, IConnectionListene String controller = ci.nextArgument(); if (controller == null) { ci.println("Nodes connected to this controller : "); - if (this.getLocalNodes() == null) ci.println("None"); - else ci.println(this.getLocalNodes().toString()); + if (this.getLocalNodes() == null) { + ci.println("None"); + } else { + ci.println(this.getLocalNodes().toString()); + } return; } try { InetAddress address = InetAddress.getByName(controller); ci.println("Nodes connected to controller "+controller); - if (this.getNodes(address) == null) ci.println("None"); - else ci.println(this.getNodes(address).toString()); - return; + if (this.getNodes(address) == null) { + ci.println("None"); + } else { + ci.println(this.getNodes(address).toString()); + } } catch (UnknownHostException e) { logger.error("An error occured",e); }