X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fsal%2Fconnection%2Fimplementation%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fconnection%2Fimplementation%2Finternal%2FConnectionService.java;h=5a637b79991fa26553e0b902571c2ecd311b7b40;hb=ea2ea3252c90434d9fc09b1e712ac2f9a30afe38;hp=e2132fb8a09ed5144ab27abe3c907766e4961a94;hpb=0c5ae1a17f8edf8e5bd21fd4d47b4feff5c59fae;p=controller.git diff --git a/opendaylight/sal/connection/implementation/src/main/java/org/opendaylight/controller/sal/connection/implementation/internal/ConnectionService.java b/opendaylight/sal/connection/implementation/src/main/java/org/opendaylight/controller/sal/connection/implementation/internal/ConnectionService.java index e2132fb8a0..5a637b7999 100644 --- a/opendaylight/sal/connection/implementation/src/main/java/org/opendaylight/controller/sal/connection/implementation/internal/ConnectionService.java +++ b/opendaylight/sal/connection/implementation/src/main/java/org/opendaylight/controller/sal/connection/implementation/internal/ConnectionService.java @@ -8,14 +8,11 @@ package org.opendaylight.controller.sal.connection.implementation.internal; -import java.util.HashSet; import java.util.Map; -import java.util.Set; -import java.util.Collections; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; - import org.opendaylight.controller.sal.connection.ConnectionConstants; +import org.opendaylight.controller.sal.connection.ConnectionLocality; import org.opendaylight.controller.sal.connection.IConnectionListener; import org.opendaylight.controller.sal.connection.IConnectionService; import org.opendaylight.controller.sal.connection.IPluginInConnectionService; @@ -34,7 +31,7 @@ public class ConnectionService implements IPluginOutConnectionService, IConnecti private ConcurrentMap pluginService = new ConcurrentHashMap(); - void setPluginService (Map props, IPluginInConnectionService s) { + void setPluginService (Map props, IPluginInConnectionService s) { String type = null; Object value = props.get(GlobalConstants.PROTOCOLPLUGINTYPE.toString()); if (value instanceof String) { @@ -48,7 +45,7 @@ public class ConnectionService implements IPluginOutConnectionService, IConnecti } } - void unsetPluginService(Map props, IPluginInConnectionService s) { + void unsetPluginService(Map props, IPluginInConnectionService s) { String type = null; Object value = props.get(GlobalConstants.PROTOCOLPLUGINTYPE.toString()); @@ -104,10 +101,18 @@ public class ConnectionService implements IPluginOutConnectionService, IConnecti return connectionListener.isLocal(node); } + @Override + public ConnectionLocality getLocalityStatus(Node node) { + if (this.connectionListener == null) return ConnectionLocality.NOT_CONNECTED; + return connectionListener.getLocalityStatus(node); + } + @Override public Node connect (String type, String connectionIdentifier, Map params) { IPluginInConnectionService s = pluginService.get(type); - if (s != null) return s.connect(connectionIdentifier, params); + if (s != null) { + return s.connect(connectionIdentifier, params); + } return null; } @@ -117,7 +122,9 @@ public class ConnectionService implements IPluginOutConnectionService, IConnecti for (String pluginType : this.pluginService.keySet()) { IPluginInConnectionService s = pluginService.get(pluginType); Node node = s.connect(connectionIdentifier, params); - if (node != null) return node; + if (node != null) { + return node; + } } } return null; @@ -146,9 +153,9 @@ public class ConnectionService implements IPluginOutConnectionService, IConnecti */ @Override public void notifyNodeDisconnectFromMaster(Node node) { - for (String pluginType : this.pluginService.keySet()) { - IPluginInConnectionService s = pluginService.get(pluginType); - s.notifyNodeDisconnectFromMaster(node); + IPluginInConnectionService s = pluginService.get(node.getType()); + if (s != null) { + s.notifyNodeDisconnectFromMaster(node); } } -} \ No newline at end of file +}