import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.ExecutionException;
-import org.opendaylight.controller.sal.connection.ConnectionConstants;
-import org.opendaylight.controller.sal.connection.IPluginInConnectionService;
import org.opendaylight.controller.sal.core.Node;
import org.opendaylight.controller.sal.core.Property;
-import org.opendaylight.controller.sal.utils.Status;
-import org.opendaylight.controller.sal.utils.StatusCode;
import org.opendaylight.ovsdb.lib.MonitorCallBack;
import org.opendaylight.ovsdb.lib.OvsdbClient;
import org.opendaylight.ovsdb.lib.OvsdbConnection;
import org.opendaylight.ovsdb.lib.schema.DatabaseSchema;
import org.opendaylight.ovsdb.lib.schema.GenericTableSchema;
import org.opendaylight.ovsdb.lib.schema.TableSchema;
-import org.opendaylight.ovsdb.plugin.IConnectionServiceInternal;
import org.opendaylight.ovsdb.plugin.api.Connection;
+import org.opendaylight.ovsdb.plugin.api.ConnectionConstants;
+import org.opendaylight.ovsdb.plugin.api.Status;
+import org.opendaylight.ovsdb.plugin.api.StatusCode;
import org.opendaylight.ovsdb.plugin.internal.IPAddressProperty;
import org.opendaylight.ovsdb.plugin.internal.L4PortProperty;
import org.opendaylight.ovsdb.plugin.api.OvsdbConnectionService;
* Represents the openflow plugin component in charge of programming the flows
* the flow programming and relay them to functional modules above SAL.
*/
-public class ConnectionServiceImpl implements IPluginInConnectionService,
- OvsdbConnectionService,
- IConnectionServiceInternal,
+public class ConnectionServiceImpl implements OvsdbConnectionService,
OvsdbConnectionListener {
protected static final Logger logger = LoggerFactory.getLogger(ConnectionServiceImpl.class);
/* Then get connection clients */
Collection<OvsdbClient> connections = connectionLib.getConnections();
for (OvsdbClient client : connections) {
+ logger.info("CONNECT start connected clients client = {}", client);
this.connected(client);
}
}
}
}
- @Override
public Status disconnect(Node node) {
String identifier = (String) node.getID();
Connection connection = ovsdbConnections.get(identifier);
}
}
- @Override
public Node connect(String identifier, Map<ConnectionConstants, String> params) {
InetAddress address;
Integer port;
return ovsdbConnections.get(identifier);
}
+ @Override
+ public Node getNode (String identifier) {
+ String id = identifier;
+
+ String[] pair = identifier.split("[|,:]+");
+ if (pair[0].equals("OVS")) {
+ id = pair[1];
+ }
+
+ Connection connection = ovsdbConnections.get(id);
+ if (connection != null) {
+ return connection.getNode();
+ } else {
+ return null;
+ }
+ }
+
@Override
public List<Node> getNodes() {
List<Node> nodes = new ArrayList<Node>();
return nodes;
}
- @Override
- public void notifyClusterViewChanged() {
- }
-
- @Override
- public void notifyNodeDisconnectFromMaster(Node arg0) {
- }
-
private Node handleNewConnection(String identifier, OvsdbClient client) throws InterruptedException, ExecutionException {
Connection connection = new Connection(identifier, client);
Node node = connection.getNode();