OF port deletion complete implementation
[genius.git] / itm / itm-impl / src / main / java / org / opendaylight / genius / itm / confighelpers / ItmOfPortRemoveWorker.java
index 5d375ba11f04672229923347768aadea7d6178bd..3f06baf771fafc6a651c646cfb9a8c6126dda2ba 100644 (file)
@@ -9,20 +9,33 @@
 package org.opendaylight.genius.itm.confighelpers;
 
 import com.google.common.util.concurrent.ListenableFuture;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.Callable;
-import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.dpn.tep.config.OfDpnTep;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.dpn.tep.config.OfDpnTepKey;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class ItmOfPortRemoveWorker implements Callable<List<? extends ListenableFuture<?>>> {
-    public ItmOfPortRemoveWorker(Map<OfDpnTepKey, OfDpnTep> oldDpnTepList, DataBroker dataBroker,
+
+    private static final Logger LOG = LoggerFactory.getLogger(ItmOfPortRemoveWorker.class);
+
+    private Map<OfDpnTepKey, OfDpnTep> oldDpnTepMap;
+    private final ItmOfTunnelDeleteWorker itmOfTunnelDeleteWorker;
+
+    public ItmOfPortRemoveWorker(Map<OfDpnTepKey, OfDpnTep> oldDpnTepMap,
                                  ItmOfTunnelDeleteWorker itmOfTunnelDeleteWorker) {
+        this.itmOfTunnelDeleteWorker = itmOfTunnelDeleteWorker;
+        this.oldDpnTepMap = oldDpnTepMap;
     }
 
     @Override
-    public List<ListenableFuture<Void>> call() throws Exception {
-        return null;
+    public List<? extends ListenableFuture<?>> call() throws Exception {
+        List<ListenableFuture<?>> futures = new ArrayList<>();
+        futures.addAll(itmOfTunnelDeleteWorker.deleteOfTeps(oldDpnTepMap.values()));
+        LOG.debug("Invoking OfTep delete method with OfTep list to be deleted {}", oldDpnTepMap.values());
+        return futures;
     }
 }