Implemented OVS list bridge functionality and Junit 76/776/1
authorBrent Salisbury <brent.salisbury@gmail.com>
Fri, 2 Aug 2013 16:54:47 +0000 (12:54 -0400)
committerBrent Salisbury <brent.salisbury@gmail.com>
Fri, 2 Aug 2013 16:54:47 +0000 (12:54 -0400)
Signed-off-by: Brent Salisbury <brent.salisbury@gmail.com>
ovsdb/src/main/java/org/opendaylight/ovsdb/internal/ConfigurationService.java
ovsdb/src/test/java/org/opendaylight/ovsdb/OVSDBTestGetBridgeDomains.java [new file with mode: 0644]

index 57928b1456b5f58c77d67d9675b1416676249368..7c501e005d9543053f4d6d7ce4e61527ef94900c 100755 (executable)
@@ -435,8 +435,11 @@ public class ConfigurationService implements IPluginInBridgeDomainConfigService,
 
     @Override
     public List<String> getBridgeDomains(Node node) {
-        // TODO Auto-generated method stub
-        return null;
+
+        Connection connection = connectionService.getConnection(node);
+        Map<String, OVSBridge> existingBridges = OVSBridge.monitorBridge(connection);
+        List<String> bridgeDomains = new ArrayList<String>(existingBridges.keySet());
+        return bridgeDomains;
     }
 
     @Override
diff --git a/ovsdb/src/test/java/org/opendaylight/ovsdb/OVSDBTestGetBridgeDomains.java b/ovsdb/src/test/java/org/opendaylight/ovsdb/OVSDBTestGetBridgeDomains.java
new file mode 100644 (file)
index 0000000..65bb20c
--- /dev/null
@@ -0,0 +1,47 @@
+package org.opendaylight.ovsdb;
+
+import org.junit.Test;
+import org.opendaylight.controller.sal.connection.ConnectionConstants;
+import org.opendaylight.controller.sal.core.Node;
+import org.opendaylight.controller.sal.core.NodeConnector;
+import org.opendaylight.ovsdb.internal.ConfigurationService;
+import org.opendaylight.ovsdb.internal.ConnectionService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class OVSDBTestGetBridgeDomains {
+    private static final Logger logger = LoggerFactory
+            .getLogger(OVSDBTestGetBridgeDomains.class);
+
+    @Test
+    public void getBridgeDomains() throws Throwable{
+        Node.NodeIDType.registerIDType("OVS", String.class);
+        NodeConnector.NodeConnectorIDType.registerIDType("OVS", String.class, "OVS");
+
+        ConnectionService connectionService = new ConnectionService();
+        connectionService.init();
+        String identifier = "TEST";
+        Map<ConnectionConstants, String> params = new HashMap<ConnectionConstants, String>();
+        params.put(ConnectionConstants.ADDRESS, "172.28.30.51");
+
+        Node node = connectionService.connect(identifier, params);
+        if(node == null){
+            logger.error("Could not connect to ovsdb server");
+            return;
+        }
+        /**
+         * List a Bridge Domain
+         *
+         * @param node Node serving this configuration service
+         *
+         */
+        ConfigurationService configurationService = new ConfigurationService();
+        configurationService.setConnectionServiceInternal(connectionService);
+        List<String> ls = configurationService.getBridgeDomains(node);
+        System.out.println(ls);
+    }
+}