Blueprint migration for ITM
[genius.git] / itm / itm-impl / src / main / java / org / opendaylight / genius / itm / listeners / TunnelMonitorChangeListener.java
index e82263602b79512cbebe7d0cafc4479e719a6817..4e73b506984e5667de86415af5904c3015aa8c98 100644 (file)
@@ -8,13 +8,10 @@
 package org.opendaylight.genius.itm.listeners;
 
 import com.google.common.base.Optional;
-import java.util.ArrayList;
-import java.util.List;
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase;
 import org.opendaylight.genius.datastoreutils.DataStoreJobCoordinator;
-import org.opendaylight.genius.itm.confighelpers.HwVtep;
 import org.opendaylight.genius.itm.confighelpers.ItmMonitorToggleWorker;
 import org.opendaylight.genius.itm.globals.ITMConstants;
 import org.opendaylight.genius.itm.impl.ItmUtils;
@@ -22,25 +19,36 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.config.rev160406.TunnelMonitorParams;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.TransportZones;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TransportZone;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone.Subnets;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone.subnets.DeviceVteps;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import javax.annotation.PostConstruct;
+import javax.annotation.PreDestroy;
+import javax.inject.Inject;
+import javax.inject.Singleton;
+
+@Singleton
 public class TunnelMonitorChangeListener  extends AsyncDataTreeChangeListenerBase<TunnelMonitorParams, TunnelMonitorChangeListener>
         implements  AutoCloseable {
     private static final Logger LOG = LoggerFactory.getLogger(TunnelMonitorChangeListener.class);
     private final DataBroker broker;
     // private final IInterfaceManager interfaceManager;
 
-    public TunnelMonitorChangeListener(final DataBroker db) {
+    @Inject
+    public TunnelMonitorChangeListener(final DataBroker dataBroker) {
         super(TunnelMonitorParams.class, TunnelMonitorChangeListener.class);
-        broker = db;
+        this.broker = dataBroker;
         // interfaceManager = ifManager;
         // registerListener(db);
     }
 
+    @PostConstruct
+    public void start() throws  Exception {
+        registerListener(LogicalDatastoreType.CONFIGURATION, this.broker);
+        LOG.info("Tunnel Monitor listeners Started");
+    }
+
     /* private void registerListener(final DataBroker db) {
          try {
              TunnelMonitorChangeListener monitorEnabledChangeListener = new TunnelMonitorChangeListener();
@@ -52,6 +60,7 @@ public class TunnelMonitorChangeListener  extends AsyncDataTreeChangeListenerBas
          }
      }
  */    @Override
+    @PreDestroy
     public void close() throws Exception {
        /* if (monitorEnabledListenerRegistration != null) {
             try {