NETVIRT-1630 migrate to md-sal APIs
[netvirt.git] / natservice / impl / src / main / java / org / opendaylight / netvirt / natservice / ha / SnatNodeEventListener.java
index d9206d99d1c3948562e98f1bf70d4753eb0f2740..f7060b1818d4b5a3937aa6b02a334b0d88b1f4b5 100644 (file)
@@ -8,16 +8,15 @@
 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;
@@ -39,12 +38,19 @@ public class SnatNodeEventListener  extends AbstractClusteredAsyncDataTreeChange
     public SnatNodeEventListener(final DataBroker dataBroker,
             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;
     }
 
+    @Override
+    @PreDestroy
+    public void close() {
+        super.close();
+        org.opendaylight.infrautils.utils.concurrent.Executors.shutdownAndAwaitTermination(getExecutorService());
+    }
+
     @Override
     public void remove(Node dataObjectModification) {
         NodeKey nodeKey = dataObjectModification.key();