Fix bulk sync in SwitchMananger.
[controller.git] / opendaylight / switchmanager / implementation / src / main / java / org / opendaylight / controller / switchmanager / internal / SwitchManagerImpl.java
index 1b1a47bf231b6613ae49fbe247552ea136c0e1f0..443c7a42ab7da517fbb8df65082c36d1a220a79e 100644 (file)
@@ -820,6 +820,8 @@ CommandProvider {
 
     @Override
     public void updateNode(Node node, UpdateType type, Set<Property> props) {
+        log.debug("updateNode: {} type {} props {} for container {}",
+                new Object[] { node, type, props, containerName });
         switch (type) {
         case ADDED:
             addNode(node, props);
@@ -841,7 +843,8 @@ CommandProvider {
         Node node = nodeConnector.getNode();
         Map<String, Property> propMap = new HashMap<String, Property>();
 
-        log.trace("{} {}", nodeConnector, type);
+        log.debug("updateNodeConnector: {} type {} props {} for container {}",
+                new Object[] { nodeConnector, type, props, containerName });
 
         if (nodeConnectorProps == null) {
             return;
@@ -1335,6 +1338,8 @@ CommandProvider {
         Set<Node> nodeSet = nodeProps.keySet();
         if (nodeSet != null) {
             for (Node node : nodeSet) {
+                log.debug("getInventories: {} added for container {}",
+                        new Object[] { node, containerName });
                 addNode(node, null);
             }
         }
@@ -1384,17 +1389,17 @@ CommandProvider {
     }
 
     private void bulkUpdateService(IInventoryListener service) {
+        Map<String, Property> propMap;
+        UpdateType type = UpdateType.ADDED;
+
         for (Node node : getNodes()) {
-            service.notifyNode(node, UpdateType.ADDED, null);
+            propMap = nodeProps.get(node);
+            service.notifyNode(node, type, propMap);
         }
 
-        Map<String, Property> propMap = new HashMap<String, Property>();
-        propMap.put(State.StatePropName, new State(State.EDGE_UP));
         for (NodeConnector nodeConnector : nodeConnectorProps.keySet()) {
-            if (isNodeConnectorEnabled(nodeConnector)) {
-                service.notifyNodeConnector(nodeConnector, UpdateType.ADDED,
-                        propMap);
-            }
+            propMap = nodeConnectorProps.get(nodeConnector);
+            service.notifyNodeConnector(nodeConnector, type, propMap);
         }
     }
 
@@ -1646,7 +1651,8 @@ CommandProvider {
 
     @Override
     public byte[] getNodeMAC(Node node) {
-        MacAddress mac = (MacAddress) nodeProps.get(MacAddress.name);
+        MacAddress mac = (MacAddress) this.getNodeProp(node,
+                MacAddress.name);
         return (mac != null) ? mac.getMacAddress() : null;
     }
 
@@ -1698,7 +1704,7 @@ CommandProvider {
         List<NodeConnector> ncLists = new ArrayList<NodeConnector>();
 
         for (NodeConnector nodeConnector : nodeConncetors) {
-            if (!spanNodeConnectors.contains(nodeConnector)) {
+            if (spanNodeConnectors.contains(nodeConnector)) {
                 ncLists.add(nodeConnector);
             }
         }