ISSUE
[controller.git] / opendaylight / protocol_plugins / openflow / src / main / java / org / opendaylight / controller / protocol_plugin / openflow / internal / TopologyServiceShim.java
index b62b068b8164cbb9f2857ade33a291d8dad7cc25..5d0ee5dccb51afbf6358e0b340eebf1a0e343208 100644 (file)
@@ -226,7 +226,7 @@ public class TopologyServiceShim implements IDiscoveryService,
 
         for (NodeConnector connector : globalContainerEdges.keySet()) {
             // Skip if node connector belongs to production switch
-            if (connector.getType() == NodeConnector.NodeConnectorIDType.PRODUCTION) {
+            if (connector.getType().equals(NodeConnector.NodeConnectorIDType.PRODUCTION)) {
                 continue;
             }
 
@@ -326,7 +326,8 @@ public class TopologyServiceShim implements IDiscoveryService,
             return;
         }
         if ((this.topologyServiceShimListeners != null)
-                && !this.topologyServiceShimListeners.containsKey(s)) {
+                && !this.topologyServiceShimListeners
+                       .containsKey(containerName)) {
             this.topologyServiceShimListeners.put(containerName, s);
             logger.trace("Added topologyServiceShimListener for container:"
                     + containerName);
@@ -345,7 +346,11 @@ public class TopologyServiceShim implements IDiscoveryService,
             return;
         }
         if ((this.topologyServiceShimListeners != null)
-                && this.topologyServiceShimListeners.containsKey(s)) {
+                && this.topologyServiceShimListeners
+                .containsKey(containerName)
+                && this.topologyServiceShimListeners
+                .get(containerName).equals(s)
+                ) {
             this.topologyServiceShimListeners.remove(containerName);
             logger.trace("Removed topologyServiceShimListener for container: "
                     + containerName);