OF port deletion complete implementation
[genius.git] / itm / itm-impl / src / main / java / org / opendaylight / genius / itm / confighelpers / ItmOfPortRemoveWorker.java
1 /*
2  * Copyright (c) 2020 Ericsson India Global Services Pvt Ltd. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8
9 package org.opendaylight.genius.itm.confighelpers;
10
11 import com.google.common.util.concurrent.ListenableFuture;
12 import java.util.ArrayList;
13 import java.util.List;
14 import java.util.Map;
15 import java.util.concurrent.Callable;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.dpn.tep.config.OfDpnTep;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.dpn.tep.config.OfDpnTepKey;
18 import org.slf4j.Logger;
19 import org.slf4j.LoggerFactory;
20
21 public class ItmOfPortRemoveWorker implements Callable<List<? extends ListenableFuture<?>>> {
22
23     private static final Logger LOG = LoggerFactory.getLogger(ItmOfPortRemoveWorker.class);
24
25     private Map<OfDpnTepKey, OfDpnTep> oldDpnTepMap;
26     private final ItmOfTunnelDeleteWorker itmOfTunnelDeleteWorker;
27
28     public ItmOfPortRemoveWorker(Map<OfDpnTepKey, OfDpnTep> oldDpnTepMap,
29                                  ItmOfTunnelDeleteWorker itmOfTunnelDeleteWorker) {
30         this.itmOfTunnelDeleteWorker = itmOfTunnelDeleteWorker;
31         this.oldDpnTepMap = oldDpnTepMap;
32     }
33
34     @Override
35     public List<? extends ListenableFuture<?>> call() throws Exception {
36         List<ListenableFuture<?>> futures = new ArrayList<>();
37         futures.addAll(itmOfTunnelDeleteWorker.deleteOfTeps(oldDpnTepMap.values()));
38         LOG.debug("Invoking OfTep delete method with OfTep list to be deleted {}", oldDpnTepMap.values());
39         return futures;
40     }
41 }