Provide FlowCapableNodeDataChangeListener to openstack.netvirt via NodeCacheManager
[netvirt.git] / openstack / net-virt / src / main / java / org / opendaylight / ovsdb / openstack / netvirt / SouthboundHandler.java
index 9d6123507ab74cd6e33dfdc8902a01be24b13a67..46d2f4474b2bfd579e44c80aa7bedb8da9c3a7d3 100644 (file)
 package org.opendaylight.ovsdb.openstack.netvirt;
 
 import org.opendaylight.neutron.spi.NeutronNetwork;
-import org.opendaylight.controller.sal.core.Node;
-import org.opendaylight.controller.sal.core.NodeConnector;
-import org.opendaylight.controller.sal.core.Property;
-import org.opendaylight.controller.sal.core.UpdateType;
-import org.opendaylight.controller.switchmanager.IInventoryListener;
 import org.opendaylight.ovsdb.lib.notation.Row;
 import org.opendaylight.ovsdb.lib.notation.UUID;
 import org.opendaylight.ovsdb.openstack.netvirt.api.Action;
@@ -23,14 +18,14 @@ import org.opendaylight.ovsdb.openstack.netvirt.api.ConfigurationService;
 import org.opendaylight.ovsdb.openstack.netvirt.api.NetworkingProviderManager;
 import org.opendaylight.ovsdb.openstack.netvirt.api.TenantNetworkManager;
 import org.opendaylight.ovsdb.openstack.netvirt.impl.NeutronL3Adapter;
-import org.opendaylight.ovsdb.compatibility.plugin.api.OvsdbConfigurationService;
-import org.opendaylight.ovsdb.compatibility.plugin.api.OvsdbConnectionService;
-import org.opendaylight.ovsdb.compatibility.plugin.api.OvsdbInventoryListener;
+import org.opendaylight.ovsdb.plugin.api.OvsdbConfigurationService;
+import org.opendaylight.ovsdb.plugin.api.OvsdbConnectionService;
+import org.opendaylight.ovsdb.plugin.api.OvsdbInventoryListener;
 import org.opendaylight.ovsdb.schema.openvswitch.Interface;
 import org.opendaylight.ovsdb.schema.openvswitch.OpenVSwitch;
 import org.opendaylight.ovsdb.schema.openvswitch.Port;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
 
-import com.google.common.collect.Lists;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -40,11 +35,9 @@ import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.ConcurrentMap;
 
-public class SouthboundHandler extends AbstractHandler implements OvsdbInventoryListener,
-                                                                  IInventoryListener {
+public class SouthboundHandler extends AbstractHandler implements OvsdbInventoryListener {
     static final Logger logger = LoggerFactory.getLogger(SouthboundHandler.class);
     //private Thread eventThread;
-    List<Node> nodeCache;
 
     // The implementation for each of these services is resolved by the OSGi Service Manager
     private volatile ConfigurationService configurationService;
@@ -56,7 +49,6 @@ public class SouthboundHandler extends AbstractHandler implements OvsdbInventory
     private volatile NeutronL3Adapter neutronL3Adapter;
 
     void init() {
-        nodeCache = Lists.newArrayList();
     }
 
     void start() {
@@ -295,24 +287,6 @@ public class SouthboundHandler extends AbstractHandler implements OvsdbInventory
         return null;
     }
 
-    @Override
-    public void notifyNode(Node node, UpdateType type, Map<String, Property> propMap) {
-        logger.debug("notifyNode: Node {} update {} from Controller's inventory Service", node, type);
-
-        // Add the Node Type check back once the Consistency issue is resolved between MD-SAL and AD-SAL
-        if (!type.equals(UpdateType.REMOVED) && !nodeCache.contains(node)) {
-            nodeCache.add(node);
-            networkingProviderManager.getProvider(node).initializeOFFlowRules(node);
-        } else if (type.equals(UpdateType.REMOVED)){
-            nodeCache.remove(node);
-        }
-    }
-
-    @Override
-    public void notifyNodeConnector(NodeConnector nodeConnector, UpdateType type, Map<String, Property> propMap) {
-        //We are not interested in the nodeConnectors at this moment
-    }
-
     private void triggerUpdates() {
         List<Node> nodes = connectionService.getNodes();
         if (nodes == null) return;