Adjusted null check to cache rather then connection.
authorBrent Salisbury <brent.salisbury@gmail.com>
Wed, 6 Nov 2013 19:24:46 +0000 (14:24 -0500)
committerBrent Salisbury <brent.salisbury@gmail.com>
Wed, 6 Nov 2013 19:49:02 +0000 (14:49 -0500)
Signed-off-by: Brent Salisbury <brent.salisbury@gmail.com>
ovsdb/src/main/java/org/opendaylight/ovsdb/plugin/ConfigurationService.java

index 3ecc92e689730fa326ce039eab059898723c929a..61d7a017de189f50e5ef1069eb95b41b934ed9a4 100755 (executable)
@@ -566,11 +566,15 @@ public class ConfigurationService implements IPluginInBridgeDomainConfigService,
 
     @Override
     public List<String> getBridgeDomains(Node node) {
-
-        Connection connection = connectionService.getConnection(node);
-        Map<String, OVSBridge> existingBridges = OVSBridge.monitorBridge(connection);
-        List<String> bridgeDomains = new ArrayList<String>(existingBridges.keySet());
-        return bridgeDomains;
+        List<String> brlist = new ArrayList<String>();
+        Map<String, Table<?>> brTableCache = inventoryServiceInternal.getTableCache(node, Bridge.NAME.getName());
+        if(brTableCache != null){
+            for (String uuid : brTableCache.keySet()) {
+                Bridge bridge = (Bridge) brTableCache.get(uuid);
+                brlist.add(bridge.getName());
+            }
+        }
+        return brlist;
     }
 
     @Override
@@ -777,6 +781,23 @@ public class ConfigurationService implements IPluginInBridgeDomainConfigService,
         }
     }
 
+    public void _getBridgeDomains (CommandInterpreter ci) {
+        String nodeName = ci.nextArgument();
+        if (nodeName == null) {
+            ci.println("Please enter Node Name");
+            return;
+        }
+        Status status;
+        List<String> brlist = new ArrayList<String>();
+        try {
+            brlist = this.getBridgeDomains(Node.fromString(nodeName));
+            ci.println("Existing Bridges: "+brlist.toString());
+        } catch (Throwable e) {
+            e.printStackTrace();
+            ci.println("Failed to list Bridges");
+        }
+    }
+
     public void _addPort (CommandInterpreter ci) {
         String nodeName = ci.nextArgument();
         if (nodeName == null) {
@@ -985,6 +1006,7 @@ public class ConfigurationService implements IPluginInBridgeDomainConfigService,
         help.append("---OVSDB CLI---\n");
         help.append("\t ovsconnect <ConnectionName> <ip-address>                        - Connect to OVSDB\n");
         help.append("\t addBridge <Node> <BridgeName>                                   - Add Bridge\n");
+        help.append("\t getBridgeDomains                                                - Get Bridges\n");
         help.append("\t addPort <Node> <BridgeName> <PortName> <type> <options pairs>   - Add Port\n");
         help.append("\t delPort <Node> <BridgeName> <PortName>                          - Delete Port\n");
         help.append("\t addPortVlan <Node> <BridgeName> <PortName> <vlan>               - Add Port, Vlan\n");