NETVIRT-1630 migrate to md-sal APIs
[netvirt.git] / natservice / impl / src / main / java / org / opendaylight / netvirt / natservice / ha / SnatNodeEventListener.java
index 19d86bb5befe76e1797822fc1209e30e972fedd4..f7060b1818d4b5a3937aa6b02a334b0d88b1f4b5 100644 (file)
@@ -8,20 +8,18 @@
 package org.opendaylight.netvirt.natservice.ha;
 
 import java.util.concurrent.Executors;
-
+import javax.annotation.PreDestroy;
 import javax.inject.Inject;
-
 import javax.inject.Singleton;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.genius.mdsalutil.MDSALUtil;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataTreeIdentifier;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.netvirt.natservice.api.NatSwitchCache;
-import org.opendaylight.serviceutils.tools.mdsal.listener.AbstractClusteredAsyncDataTreeChangeListener;
+import org.opendaylight.serviceutils.tools.listener.AbstractClusteredAsyncDataTreeChangeListener;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.config.rev170206.NatserviceConfig;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.common.Uint64;
 import org.slf4j.Logger;
@@ -35,32 +33,30 @@ import org.slf4j.LoggerFactory;
 public class SnatNodeEventListener  extends AbstractClusteredAsyncDataTreeChangeListener<Node> {
     private static final Logger LOG = LoggerFactory.getLogger(SnatNodeEventListener.class);
     private final NatSwitchCache  centralizedSwitchCache;
-    private final NatserviceConfig.NatMode natMode;
 
     @Inject
     public SnatNodeEventListener(final DataBroker dataBroker,
-            final NatSwitchCache centralizedSwitchCache,
-            final NatserviceConfig config) {
+            final NatSwitchCache centralizedSwitchCache) {
 
-        super(dataBroker,new DataTreeIdentifier<>(LogicalDatastoreType.OPERATIONAL, InstanceIdentifier
+        super(dataBroker, DataTreeIdentifier.create(LogicalDatastoreType.OPERATIONAL, InstanceIdentifier
                 .create(Nodes.class).child(Node.class)),
                 Executors.newSingleThreadExecutor());
         this.centralizedSwitchCache = centralizedSwitchCache;
-        if (config != null) {
-            this.natMode = config.getNatMode();
-        } else {
-            this.natMode = NatserviceConfig.NatMode.Controller;
-        }
+    }
+
+    @Override
+    @PreDestroy
+    public void close() {
+        super.close();
+        org.opendaylight.infrautils.utils.concurrent.Executors.shutdownAndAwaitTermination(getExecutorService());
     }
 
     @Override
     public void remove(Node dataObjectModification) {
-        if (natMode == NatserviceConfig.NatMode.Conntrack) {
-            NodeKey nodeKey = dataObjectModification.key();
-            Uint64 dpnId = MDSALUtil.getDpnIdFromNodeName(nodeKey.getId());
-            LOG.info("Dpn removed {}", dpnId);
-            centralizedSwitchCache.removeSwitch(dpnId);
-        }
+        NodeKey nodeKey = dataObjectModification.key();
+        Uint64 dpnId = MDSALUtil.getDpnIdFromNodeName(nodeKey.getId());
+        LOG.info("Dpn removed {}", dpnId);
+        centralizedSwitchCache.removeSwitch(dpnId);
     }
 
     @Override
@@ -71,11 +67,9 @@ public class SnatNodeEventListener  extends AbstractClusteredAsyncDataTreeChange
 
     @Override
     public void add(Node dataObjectModification) {
-        if (natMode == NatserviceConfig.NatMode.Conntrack) {
-            NodeKey nodeKey = dataObjectModification.key();
-            Uint64 dpnId = MDSALUtil.getDpnIdFromNodeName(nodeKey.getId());
-            LOG.info("Dpn added {}", dpnId);
-            centralizedSwitchCache.addSwitch(dpnId);
-        }
+        NodeKey nodeKey = dataObjectModification.key();
+        Uint64 dpnId = MDSALUtil.getDpnIdFromNodeName(nodeKey.getId());
+        LOG.info("Dpn added {}", dpnId);
+        centralizedSwitchCache.addSwitch(dpnId);
     }
 }