Follow-up to https://git.opendaylight.org/gerrit/#/c/64492/ 92/64892/3
authorTom Pantelis <tompantelis@gmail.com>
Mon, 30 Oct 2017 19:47:06 +0000 (15:47 -0400)
committerDavid Suarez <david.suarez.fuentes@gmail.com>
Sat, 4 Nov 2017 10:54:19 +0000 (10:54 +0000)
Addresses Michael's comments. The *Helper classes are now
singletons and inject all dependent services. In addition,
AlivenessMonitorUtils was made a singleton as well to be
consistent.

Since OvsInterfaceTopologyStateRemoveHelper has only one user
and its lone method is not large, I removed the class and
in-lined the code in InterfaceTopologyStateListener rather than
making it a singleton.

Change-Id: I450f5ad115f6c7b9926c06081ead5447f15ad496
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
17 files changed:
interfacemanager/interfacemanager-impl/src/main/java/org/opendaylight/genius/interfacemanager/commons/AlivenessMonitorUtils.java
interfacemanager/interfacemanager-impl/src/main/java/org/opendaylight/genius/interfacemanager/listeners/AlivenessMonitorListener.java
interfacemanager/interfacemanager-impl/src/main/java/org/opendaylight/genius/interfacemanager/listeners/InterfaceConfigListener.java
interfacemanager/interfacemanager-impl/src/main/java/org/opendaylight/genius/interfacemanager/listeners/InterfaceInventoryStateListener.java
interfacemanager/interfacemanager-impl/src/main/java/org/opendaylight/genius/interfacemanager/listeners/InterfaceTopologyStateListener.java
interfacemanager/interfacemanager-impl/src/main/java/org/opendaylight/genius/interfacemanager/listeners/TerminationPointStateListener.java
interfacemanager/interfacemanager-impl/src/main/java/org/opendaylight/genius/interfacemanager/listeners/VlanMemberConfigListener.java
interfacemanager/interfacemanager-impl/src/main/java/org/opendaylight/genius/interfacemanager/renderer/ovs/confighelpers/OvsInterfaceConfigAddHelper.java
interfacemanager/interfacemanager-impl/src/main/java/org/opendaylight/genius/interfacemanager/renderer/ovs/confighelpers/OvsInterfaceConfigRemoveHelper.java
interfacemanager/interfacemanager-impl/src/main/java/org/opendaylight/genius/interfacemanager/renderer/ovs/confighelpers/OvsInterfaceConfigUpdateHelper.java
interfacemanager/interfacemanager-impl/src/main/java/org/opendaylight/genius/interfacemanager/renderer/ovs/confighelpers/OvsVlanMemberConfigAddHelper.java
interfacemanager/interfacemanager-impl/src/main/java/org/opendaylight/genius/interfacemanager/renderer/ovs/confighelpers/OvsVlanMemberConfigRemoveHelper.java
interfacemanager/interfacemanager-impl/src/main/java/org/opendaylight/genius/interfacemanager/renderer/ovs/confighelpers/OvsVlanMemberConfigUpdateHelper.java
interfacemanager/interfacemanager-impl/src/main/java/org/opendaylight/genius/interfacemanager/renderer/ovs/statehelpers/OvsInterfaceStateAddHelper.java
interfacemanager/interfacemanager-impl/src/main/java/org/opendaylight/genius/interfacemanager/renderer/ovs/statehelpers/OvsInterfaceStateUpdateHelper.java
interfacemanager/interfacemanager-impl/src/main/java/org/opendaylight/genius/interfacemanager/renderer/ovs/statehelpers/OvsInterfaceTopologyStateRemoveHelper.java [deleted file]
interfacemanager/interfacemanager-impl/src/main/java/org/opendaylight/genius/interfacemanager/renderer/ovs/statehelpers/OvsInterfaceTopologyStateUpdateHelper.java

index 2c5c1992db497a13d000890381a0010eefcbd063..2381588220c0de384ecbc6e831c10f29b3056dfa 100644 (file)
@@ -12,6 +12,8 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Future;
+import javax.inject.Inject;
+import javax.inject.Singleton;
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.genius.interfacemanager.IfmUtil;
@@ -52,16 +54,17 @@ import org.opendaylight.yangtools.yang.common.RpcResult;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+@Singleton
 public final class AlivenessMonitorUtils {
 
     private static final Logger LOG = LoggerFactory.getLogger(AlivenessMonitorUtils.class);
     private static final long FAILURE_THRESHOLD = 4;
-    private static final long MONITORING_INTERVAL = 10000;
     private static final long MONITORING_WINDOW = 4;
 
     private final AlivenessMonitorService alivenessMonitorService;
     private final DataBroker dataBroker;
 
+    @Inject
     public AlivenessMonitorUtils(AlivenessMonitorService alivenessMonitor, DataBroker dataBroker) {
         this.alivenessMonitorService = alivenessMonitor;
         this.dataBroker = dataBroker;
index 5baa1c2c8ed2be7815a49b7a923928a588e3bda2..e40df4a6e90b857d26c6ec154fa260e7711c6682 100644 (file)
@@ -38,8 +38,9 @@ public class AlivenessMonitorListener implements
     @Inject
     public AlivenessMonitorListener(final DataBroker dataBroker, final NotificationService notificationService,
             final AlivenessMonitorService alivenessMonitorService,
-            final InterfaceManagerCommonUtils interfaceManagerCommonUtils) {
-        this.alivenessMonitorUtils = new AlivenessMonitorUtils(alivenessMonitorService, dataBroker);
+            final InterfaceManagerCommonUtils interfaceManagerCommonUtils,
+            final AlivenessMonitorUtils alivenessMonitorUtils) {
+        this.alivenessMonitorUtils = alivenessMonitorUtils;
         this.interfaceManagerCommonUtils = interfaceManagerCommonUtils;
         notificationService.registerNotificationListener(this);
     }
index 81108b572b4d8acaed958f402c8d2c9f7d00075b..c4c2b721ffe50059fac499ae1f5b8e8023da7355 100644 (file)
@@ -56,18 +56,18 @@ public class InterfaceConfigListener
     public InterfaceConfigListener(final DataBroker dataBroker, final IdManagerService idManager,
             final IMdsalApiManager mdsalApiManager, final InterfacemgrProvider interfaceMgrProvider,
             final AlivenessMonitorService alivenessMonitorService, final EntityOwnershipUtils entityOwnershipUtils,
-            final JobCoordinator coordinator, final InterfaceManagerCommonUtils interfaceManagerCommonUtils) {
+            final JobCoordinator coordinator, final InterfaceManagerCommonUtils interfaceManagerCommonUtils,
+            final OvsInterfaceConfigRemoveHelper ovsInterfaceConfigRemoveHelper,
+            final OvsInterfaceConfigAddHelper ovsInterfaceConfigAddHelper,
+            final OvsInterfaceConfigUpdateHelper ovsInterfaceConfigUpdateHelper) {
         super(Interface.class, InterfaceConfigListener.class);
         this.interfaceMgrProvider = interfaceMgrProvider;
         this.entityOwnershipUtils = entityOwnershipUtils;
         this.coordinator = coordinator;
         this.interfaceManagerCommonUtils = interfaceManagerCommonUtils;
-        this.ovsInterfaceConfigRemoveHelper = new OvsInterfaceConfigRemoveHelper(dataBroker, alivenessMonitorService,
-                mdsalApiManager, idManager, coordinator, interfaceManagerCommonUtils);
-        this.ovsInterfaceConfigAddHelper = new OvsInterfaceConfigAddHelper(dataBroker, alivenessMonitorService,
-                mdsalApiManager, coordinator, interfaceManagerCommonUtils);
-        this.ovsInterfaceConfigUpdateHelper = new OvsInterfaceConfigUpdateHelper(ovsInterfaceConfigAddHelper,
-                ovsInterfaceConfigRemoveHelper);
+        this.ovsInterfaceConfigRemoveHelper = ovsInterfaceConfigRemoveHelper;
+        this.ovsInterfaceConfigAddHelper = ovsInterfaceConfigAddHelper;
+        this.ovsInterfaceConfigUpdateHelper = ovsInterfaceConfigUpdateHelper;
         this.registerListener(LogicalDatastoreType.CONFIGURATION, dataBroker);
     }
 
index 26a946fe2207cb4df9890610a19764acfa0a2afe..b5c60c37f9a4fca288cb63510466b6402c8c545c 100644 (file)
@@ -72,18 +72,19 @@ public class InterfaceInventoryStateListener
     public InterfaceInventoryStateListener(final DataBroker dataBroker, final IdManagerService idManagerService,
             final IMdsalApiManager mdsalApiManager, final AlivenessMonitorService alivenessMonitorService,
             final EntityOwnershipUtils entityOwnershipUtils, final JobCoordinator coordinator,
-            final InterfaceManagerCommonUtils interfaceManagerCommonUtils) {
+            final InterfaceManagerCommonUtils interfaceManagerCommonUtils,
+            final OvsInterfaceStateAddHelper ovsInterfaceStateAddHelper,
+            final OvsInterfaceStateUpdateHelper ovsInterfaceStateUpdateHelper,
+            final AlivenessMonitorUtils alivenessMonitorUtils) {
         super(FlowCapableNodeConnector.class, InterfaceInventoryStateListener.class);
         this.dataBroker = dataBroker;
         this.idManager = idManagerService;
         this.entityOwnershipUtils = entityOwnershipUtils;
         this.coordinator = coordinator;
         this.interfaceManagerCommonUtils = interfaceManagerCommonUtils;
-        this.alivenessMonitorUtils = new AlivenessMonitorUtils(alivenessMonitorService, dataBroker);
-        this.ovsInterfaceStateUpdateHelper = new OvsInterfaceStateUpdateHelper(dataBroker, alivenessMonitorService,
-                interfaceManagerCommonUtils);
-        this.ovsInterfaceStateAddHelper = new OvsInterfaceStateAddHelper(dataBroker,
-                alivenessMonitorService, interfaceManagerCommonUtils);
+        this.alivenessMonitorUtils = alivenessMonitorUtils;
+        this.ovsInterfaceStateUpdateHelper = ovsInterfaceStateUpdateHelper;
+        this.ovsInterfaceStateAddHelper = ovsInterfaceStateAddHelper;
         this.registerListener(LogicalDatastoreType.OPERATIONAL, dataBroker);
     }
 
index 5e4d8a916959641d08723e7bb45ccbc75b9eda7e..145e2ac6d7d0f951cd3baa5c11d88d0c00f7c67f 100644 (file)
@@ -10,6 +10,7 @@ package org.opendaylight.genius.interfacemanager.listeners;
 import com.google.common.util.concurrent.ListenableFuture;
 import java.math.BigInteger;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 import java.util.concurrent.Callable;
 import javax.inject.Inject;
@@ -23,7 +24,6 @@ import org.opendaylight.genius.interfacemanager.IfmUtil;
 import org.opendaylight.genius.interfacemanager.InterfacemgrProvider;
 import org.opendaylight.genius.interfacemanager.commons.InterfaceManagerCommonUtils;
 import org.opendaylight.genius.interfacemanager.commons.InterfaceMetaUtils;
-import org.opendaylight.genius.interfacemanager.renderer.ovs.statehelpers.OvsInterfaceTopologyStateRemoveHelper;
 import org.opendaylight.genius.interfacemanager.renderer.ovs.statehelpers.OvsInterfaceTopologyStateUpdateHelper;
 import org.opendaylight.genius.interfacemanager.renderer.ovs.utilities.SouthboundUtils;
 import org.opendaylight.genius.utils.clustering.EntityOwnershipUtils;
@@ -31,6 +31,7 @@ import org.opendaylight.infrautils.jobcoordinator.JobCoordinator;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.meta.rev160406.bridge._interface.info.BridgeEntry;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.DatapathId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbBridgeAugmentation;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbBridgeRef;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NetworkTopology;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
@@ -52,15 +53,15 @@ public class InterfaceTopologyStateListener
     @Inject
     public InterfaceTopologyStateListener(final DataBroker dataBroker, final InterfacemgrProvider interfaceMgrProvider,
             final EntityOwnershipUtils entityOwnershipUtils, final JobCoordinator coordinator,
-            final InterfaceManagerCommonUtils interfaceManagerCommonUtils) {
+            final InterfaceManagerCommonUtils interfaceManagerCommonUtils,
+            final OvsInterfaceTopologyStateUpdateHelper ovsInterfaceTopologyStateUpdateHelper) {
         super(OvsdbBridgeAugmentation.class, InterfaceTopologyStateListener.class);
         this.dataBroker = dataBroker;
         this.interfaceMgrProvider = interfaceMgrProvider;
         this.entityOwnershipUtils = entityOwnershipUtils;
         this.coordinator = coordinator;
         this.interfaceManagerCommonUtils = interfaceManagerCommonUtils;
-        this.ovsInterfaceTopologyStateUpdateHelper = new OvsInterfaceTopologyStateUpdateHelper(dataBroker,
-                entityOwnershipUtils, coordinator, interfaceManagerCommonUtils);
+        this.ovsInterfaceTopologyStateUpdateHelper = ovsInterfaceTopologyStateUpdateHelper;
         this.registerListener(LogicalDatastoreType.OPERATIONAL, dataBroker);
     }
 
@@ -186,8 +187,26 @@ public class InterfaceTopologyStateListener
 
         @Override
         public List<ListenableFuture<Void>> call() {
-            return OvsInterfaceTopologyStateRemoveHelper.removePortFromBridge(instanceIdentifier, bridgeNew,
-                    dataBroker);
+            BigInteger dpnId = IfmUtil.getDpnId(bridgeNew.getDatapathId());
+
+            if (dpnId == null) {
+                LOG.warn("Got Null DPID for Bridge: {}", bridgeNew);
+                return Collections.emptyList();
+            }
+
+            WriteTransaction transaction = dataBroker.newWriteOnlyTransaction();
+            LOG.debug("removing bridge references for bridge: {}, dpn: {}", bridgeNew, dpnId);
+            // delete bridge reference entry in interface meta operational DS
+            InterfaceMetaUtils.deleteBridgeRefEntry(dpnId, transaction);
+
+            // the bridge reference is copied to dpn-tunnel interfaces map, so that
+            // whenever a northbound delete
+            // happens when bridge is not connected, we need the bridge reference to
+            // clean up the topology config DS
+            InterfaceMetaUtils.addBridgeRefToBridgeInterfaceEntry(dpnId, new OvsdbBridgeRef(instanceIdentifier),
+                    transaction);
+
+            return Collections.singletonList(transaction.submit());
         }
     }
 
index debd44d0c19f77c6e2bc4865cc41864319769bfa..8916046ec93dd4d8fdce565008361789c4aff50f 100644 (file)
@@ -44,13 +44,13 @@ public class TerminationPointStateListener extends
     @Inject
     public TerminationPointStateListener(DataBroker dataBroker, final InterfacemgrProvider interfaceMgrProvider,
             final EntityOwnershipUtils entityOwnershipUtils, final JobCoordinator coordinator,
-            final InterfaceManagerCommonUtils interfaceManagerCommonUtils) {
+            final InterfaceManagerCommonUtils interfaceManagerCommonUtils,
+            final OvsInterfaceTopologyStateUpdateHelper ovsInterfaceTopologyStateUpdateHelper) {
         this.interfaceMgrProvider = interfaceMgrProvider;
         this.entityOwnershipUtils = entityOwnershipUtils;
         this.coordinator = coordinator;
         this.interfaceManagerCommonUtils = interfaceManagerCommonUtils;
-        this.ovsInterfaceTopologyStateUpdateHelper = new OvsInterfaceTopologyStateUpdateHelper(dataBroker,
-                entityOwnershipUtils, coordinator, interfaceManagerCommonUtils);
+        this.ovsInterfaceTopologyStateUpdateHelper = ovsInterfaceTopologyStateUpdateHelper;
         this.registerListener(LogicalDatastoreType.OPERATIONAL, dataBroker);
     }
 
index cbfdb741c5904924adc4bf232221bdfa1307ca37..7a1aa1d69ba6ab866501e644a6b0de01c3265649 100644 (file)
@@ -43,15 +43,15 @@ public class VlanMemberConfigListener extends AsyncDataTreeChangeListenerBase<In
     @Inject
     public VlanMemberConfigListener(final DataBroker dataBroker, final IdManagerService idManagerService,
             final IMdsalApiManager mdsalApiManager, final AlivenessMonitorService alivenessMonitorService,
-            final JobCoordinator coordinator, final InterfaceManagerCommonUtils interfaceManagerCommonUtils) {
+            final JobCoordinator coordinator, final InterfaceManagerCommonUtils interfaceManagerCommonUtils,
+            final OvsVlanMemberConfigAddHelper ovsVlanMemberConfigAddHelper,
+            final OvsVlanMemberConfigRemoveHelper ovsVlanMemberConfigRemoveHelper,
+            final OvsVlanMemberConfigUpdateHelper ovsVlanMemberConfigUpdateHelper) {
         super(Interface.class, VlanMemberConfigListener.class);
         this.coordinator = coordinator;
-        this.ovsVlanMemberConfigAddHelper = new OvsVlanMemberConfigAddHelper(dataBroker, idManagerService,
-                interfaceManagerCommonUtils);
-        this.ovsVlanMemberConfigRemoveHelper = new OvsVlanMemberConfigRemoveHelper(dataBroker,
-                interfaceManagerCommonUtils);
-        this.ovsVlanMemberConfigUpdateHelper = new OvsVlanMemberConfigUpdateHelper(ovsVlanMemberConfigAddHelper,
-                ovsVlanMemberConfigRemoveHelper);
+        this.ovsVlanMemberConfigAddHelper = ovsVlanMemberConfigAddHelper;
+        this.ovsVlanMemberConfigRemoveHelper = ovsVlanMemberConfigRemoveHelper;
+        this.ovsVlanMemberConfigUpdateHelper = ovsVlanMemberConfigUpdateHelper;
         this.registerListener(LogicalDatastoreType.CONFIGURATION, dataBroker);
     }
 
index e0a83228ab40bb614ac23b42afbc0e34210e7ede..2d485a41146a5060a53832565d2b4034f5427f81 100644 (file)
@@ -14,6 +14,8 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.concurrent.Callable;
+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.WriteTransaction;
 import org.opendaylight.genius.interfacemanager.IfmConstants;
@@ -28,7 +30,6 @@ import org.opendaylight.genius.mdsalutil.MDSALUtil;
 import org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager;
 import org.opendaylight.infrautils.jobcoordinator.JobCoordinator;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.alivenessmonitor.rev160411.AlivenessMonitorService;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.meta.rev160406._interface.child.info.InterfaceParentEntry;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.meta.rev160406._interface.child.info.InterfaceParentEntryKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.meta.rev160406._interface.child.info._interface.parent.entry.InterfaceChildEntry;
@@ -47,6 +48,7 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+@Singleton
 public final class OvsInterfaceConfigAddHelper {
     private static final Logger LOG = LoggerFactory.getLogger(OvsInterfaceConfigAddHelper.class);
 
@@ -57,16 +59,17 @@ public final class OvsInterfaceConfigAddHelper {
     private final InterfaceManagerCommonUtils interfaceManagerCommonUtils;
     private final OvsInterfaceStateAddHelper ovsInterfaceStateAddHelper;
 
-    public OvsInterfaceConfigAddHelper(DataBroker dataBroker, AlivenessMonitorService alivenessMonitorService,
+    @Inject
+    public OvsInterfaceConfigAddHelper(DataBroker dataBroker, AlivenessMonitorUtils alivenessMonitorUtils,
             IMdsalApiManager mdsalApiManager, JobCoordinator coordinator,
-            InterfaceManagerCommonUtils interfaceManagerCommonUtils) {
+            InterfaceManagerCommonUtils interfaceManagerCommonUtils,
+            OvsInterfaceStateAddHelper ovsInterfaceStateAddHelper) {
         this.dataBroker = dataBroker;
+        this.alivenessMonitorUtils = alivenessMonitorUtils;
         this.mdsalApiManager = mdsalApiManager;
         this.coordinator = coordinator;
         this.interfaceManagerCommonUtils = interfaceManagerCommonUtils;
-        this.alivenessMonitorUtils = new AlivenessMonitorUtils(alivenessMonitorService, dataBroker);
-        this.ovsInterfaceStateAddHelper = new OvsInterfaceStateAddHelper(dataBroker, alivenessMonitorService,
-                interfaceManagerCommonUtils);
+        this.ovsInterfaceStateAddHelper = ovsInterfaceStateAddHelper;
     }
 
     public List<ListenableFuture<Void>> addConfiguration(ParentRefs parentRefs, Interface interfaceNew) {
index c9d05f0b65df65c98761721ad5028e9c9d0f02b9..6d1c5075ca587a39661b6416e7d4efaf04fa52e6 100644 (file)
@@ -13,6 +13,8 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.concurrent.Callable;
+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.WriteTransaction;
 import org.opendaylight.genius.interfacemanager.IfmConstants;
@@ -26,7 +28,6 @@ import org.opendaylight.genius.mdsalutil.MDSALUtil;
 import org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager;
 import org.opendaylight.infrautils.jobcoordinator.JobCoordinator;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.alivenessmonitor.rev160411.AlivenessMonitorService;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.meta.rev160406._interface.child.info.InterfaceParentEntry;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.meta.rev160406._interface.child.info._interface.parent.entry.InterfaceChildEntry;
@@ -46,55 +47,27 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+@Singleton
 public final class OvsInterfaceConfigRemoveHelper {
     private static final Logger LOG = LoggerFactory.getLogger(OvsInterfaceConfigRemoveHelper.class);
 
     private final DataBroker dataBroker;
-    private final AlivenessMonitorService alivenessMonitorService;
     private final IMdsalApiManager mdsalApiManager;
     private final IdManagerService idManager;
     private final JobCoordinator coordinator;
     private final InterfaceManagerCommonUtils interfaceManagerCommonUtils;
     private final AlivenessMonitorUtils alivenessMonitorUtils;
 
-    public OvsInterfaceConfigRemoveHelper(DataBroker dataBroker, AlivenessMonitorService alivenessMonitorService,
+    @Inject
+    public OvsInterfaceConfigRemoveHelper(DataBroker dataBroker, AlivenessMonitorUtils alivenessMonitorUtils,
             IMdsalApiManager mdsalApiManager, IdManagerService idManager, JobCoordinator coordinator,
             InterfaceManagerCommonUtils interfaceManagerCommonUtils) {
         this.dataBroker = dataBroker;
-        this.alivenessMonitorService = alivenessMonitorService;
         this.mdsalApiManager = mdsalApiManager;
         this.idManager = idManager;
         this.coordinator = coordinator;
         this.interfaceManagerCommonUtils = interfaceManagerCommonUtils;
-        this.alivenessMonitorUtils = new AlivenessMonitorUtils(alivenessMonitorService, dataBroker);
-    }
-
-    public DataBroker getDataBroker() {
-        return dataBroker;
-    }
-
-    public AlivenessMonitorService getAlivenessMonitorService() {
-        return alivenessMonitorService;
-    }
-
-    public IMdsalApiManager getMdsalApiManager() {
-        return mdsalApiManager;
-    }
-
-    public IdManagerService getIdManager() {
-        return idManager;
-    }
-
-    public JobCoordinator getCoordinator() {
-        return coordinator;
-    }
-
-    public AlivenessMonitorUtils getAlivenessMonitorUtils() {
-        return alivenessMonitorUtils;
-    }
-
-    public InterfaceManagerCommonUtils getInterfaceManagerCommonUtils() {
-        return interfaceManagerCommonUtils;
+        this.alivenessMonitorUtils = alivenessMonitorUtils;
     }
 
     public List<ListenableFuture<Void>> removeConfiguration(Interface interfaceOld, ParentRefs parentRefs) {
index dea25646b61ddc70da61d109e76ccf09b36aec78..b7a4702fd70120ac77fb74e98385c3ea3ddf1813 100644 (file)
@@ -12,12 +12,16 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.concurrent.Callable;
+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.WriteTransaction;
 import org.opendaylight.genius.interfacemanager.IfmConstants;
+import org.opendaylight.genius.interfacemanager.commons.AlivenessMonitorUtils;
 import org.opendaylight.genius.interfacemanager.commons.InterfaceManagerCommonUtils;
 import org.opendaylight.genius.interfacemanager.commons.InterfaceMetaUtils;
 import org.opendaylight.genius.interfacemanager.renderer.ovs.utilities.SouthboundUtils;
+import org.opendaylight.infrautils.jobcoordinator.JobCoordinator;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface.OperStatus;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.meta.rev160406._interface.child.info.InterfaceParentEntry;
@@ -30,16 +34,28 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+@Singleton
 public class OvsInterfaceConfigUpdateHelper {
     private static final Logger LOG = LoggerFactory.getLogger(OvsInterfaceConfigUpdateHelper.class);
 
+    private final DataBroker dataBroker;
+    private final JobCoordinator coordinator;
+    private final InterfaceManagerCommonUtils interfaceManagerCommonUtils;
+    private final AlivenessMonitorUtils alivenessMonitorUtils;
     private final OvsInterfaceConfigRemoveHelper ovsInterfaceConfigRemoveHelper;
     private final OvsInterfaceConfigAddHelper ovsInterfaceConfigAddHelper;
 
-    public OvsInterfaceConfigUpdateHelper(OvsInterfaceConfigAddHelper ovsInterfaceConfigAddHelper,
-            OvsInterfaceConfigRemoveHelper ovsInterfaceConfigRemoveHelper) {
-        this.ovsInterfaceConfigAddHelper = ovsInterfaceConfigAddHelper;
+    @Inject
+    public OvsInterfaceConfigUpdateHelper(DataBroker dataBroker, JobCoordinator coordinator,
+            InterfaceManagerCommonUtils interfaceManagerCommonUtils, AlivenessMonitorUtils alivenessMonitorUtils,
+            OvsInterfaceConfigRemoveHelper ovsInterfaceConfigRemoveHelper,
+            OvsInterfaceConfigAddHelper ovsInterfaceConfigAddHelper) {
+        this.dataBroker = dataBroker;
+        this.coordinator = coordinator;
+        this.interfaceManagerCommonUtils = interfaceManagerCommonUtils;
+        this.alivenessMonitorUtils = alivenessMonitorUtils;
         this.ovsInterfaceConfigRemoveHelper = ovsInterfaceConfigRemoveHelper;
+        this.ovsInterfaceConfigAddHelper = ovsInterfaceConfigAddHelper;
     }
 
     public List<ListenableFuture<Void>> updateConfiguration(Interface interfaceNew, Interface interfaceOld) {
@@ -58,10 +74,9 @@ public class OvsInterfaceConfigUpdateHelper {
 
         // If there is no operational state entry for the interface, treat it as
         // create
-        final DataBroker dataBroker = ovsInterfaceConfigRemoveHelper.getDataBroker();
         org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang
-            .ietf.interfaces.rev140508.interfaces.state.Interface ifState = ovsInterfaceConfigRemoveHelper
-                .getInterfaceManagerCommonUtils().getInterfaceState(interfaceNew.getName());
+            .ietf.interfaces.rev140508.interfaces.state.Interface ifState = interfaceManagerCommonUtils
+                .getInterfaceState(interfaceNew.getName());
         if (ifState == null) {
             futures.addAll(ovsInterfaceConfigAddHelper.addConfiguration(interfaceNew.getAugmentation(ParentRefs.class),
                     interfaceNew));
@@ -123,7 +138,6 @@ public class OvsInterfaceConfigUpdateHelper {
     private void handleTunnelMonitorUpdates(List<ListenableFuture<Void>> futures, WriteTransaction transaction,
             Interface interfaceNew, Interface interfaceOld) {
         LOG.debug("tunnel monitoring attributes modified for interface {}", interfaceNew.getName());
-        DataBroker dataBroker = ovsInterfaceConfigRemoveHelper.getDataBroker();
         // update termination point on switch, if switch is connected
         BridgeRefEntry bridgeRefEntry = InterfaceMetaUtils.getBridgeReferenceForInterface(interfaceNew, dataBroker);
         IfTunnel ifTunnel = interfaceNew.getAugmentation(IfTunnel.class);
@@ -134,8 +148,7 @@ public class OvsInterfaceConfigUpdateHelper {
         } else {
             // update lldp tunnel monitoring attributes for an internal vxlan
             // tunnel interface
-            ovsInterfaceConfigRemoveHelper.getAlivenessMonitorUtils().handleTunnelMonitorUpdates(
-                    interfaceOld, interfaceNew);
+            alivenessMonitorUtils.handleTunnelMonitorUpdates(interfaceOld, interfaceNew);
         }
         futures.add(transaction.submit());
     }
@@ -149,9 +162,7 @@ public class OvsInterfaceConfigUpdateHelper {
             return;
         }
         LOG.info("admin-state modified for interface {}", interfaceNew.getName());
-        DataBroker dataBroker = ovsInterfaceConfigRemoveHelper.getDataBroker();
-        OperStatus operStatus = ovsInterfaceConfigRemoveHelper.getInterfaceManagerCommonUtils()
-                .updateStateEntry(interfaceNew, transaction , ifState);
+        OperStatus operStatus = interfaceManagerCommonUtils.updateStateEntry(interfaceNew, transaction , ifState);
         InterfaceParentEntryKey interfaceParentEntryKey = new InterfaceParentEntryKey(interfaceNew.getName());
         InterfaceParentEntry interfaceParentEntry = InterfaceMetaUtils
                 .getInterfaceParentEntryFromConfigDS(interfaceParentEntryKey, dataBroker);
@@ -161,8 +172,7 @@ public class OvsInterfaceConfigUpdateHelper {
 
         VlanMemberStateUpdateWorker vlanMemberStateUpdateWorker = new VlanMemberStateUpdateWorker(dataBroker,
                 operStatus, interfaceParentEntry.getInterfaceChildEntry());
-        ovsInterfaceConfigRemoveHelper.getCoordinator().enqueueJob(interfaceNew.getName(), vlanMemberStateUpdateWorker,
-                IfmConstants.JOB_MAX_RETRIES);
+        coordinator.enqueueJob(interfaceNew.getName(), vlanMemberStateUpdateWorker, IfmConstants.JOB_MAX_RETRIES);
     }
 
     private static <T> boolean checkAugmentations(T oldAug, T newAug) {
index 93bb7d06d6d6d04f514daec72e506a518b89cc2a..8e4bb22e098ffbfab30944faff90c3abd74da795 100644 (file)
@@ -10,43 +10,32 @@ package org.opendaylight.genius.interfacemanager.renderer.ovs.confighelpers;
 import com.google.common.util.concurrent.ListenableFuture;
 import java.util.ArrayList;
 import java.util.List;
+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.WriteTransaction;
 import org.opendaylight.genius.interfacemanager.commons.InterfaceManagerCommonUtils;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.InterfaceKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.IfL2vlan;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.ParentRefs;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+@Singleton
 public class OvsVlanMemberConfigAddHelper {
     private static final Logger LOG = LoggerFactory.getLogger(OvsVlanMemberConfigAddHelper.class);
 
     private final DataBroker dataBroker;
-    private final IdManagerService idManager;
     private final InterfaceManagerCommonUtils interfaceManagerCommonUtils;
 
-    public OvsVlanMemberConfigAddHelper(DataBroker dataBroker, IdManagerService idManager,
+    @Inject
+    public OvsVlanMemberConfigAddHelper(DataBroker dataBroker,
             InterfaceManagerCommonUtils interfaceManagerCommonUtils) {
         this.dataBroker = dataBroker;
-        this.idManager = idManager;
         this.interfaceManagerCommonUtils = interfaceManagerCommonUtils;
     }
 
-    public DataBroker getDataBroker() {
-        return dataBroker;
-    }
-
-    public IdManagerService getIdManager() {
-        return idManager;
-    }
-
-    public InterfaceManagerCommonUtils getInterfaceManagerCommonUtils() {
-        return interfaceManagerCommonUtils;
-    }
-
     public List<ListenableFuture<Void>> addConfiguration(ParentRefs parentRefs, Interface interfaceNew) {
         LOG.info("adding vlan member configuration for interface {}", interfaceNew.getName());
         List<ListenableFuture<Void>> futures = new ArrayList<>();
index 7c28f89e54b1b03d3f97c2514db7aaca50e694a7..7eb20e9275e2427927b3e87e6f7502a8c8b0484c 100644 (file)
@@ -11,6 +11,8 @@ import com.google.common.util.concurrent.ListenableFuture;
 import java.math.BigInteger;
 import java.util.ArrayList;
 import java.util.List;
+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.WriteTransaction;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
@@ -28,12 +30,14 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+@Singleton
 public class OvsVlanMemberConfigRemoveHelper {
     private static final Logger LOG = LoggerFactory.getLogger(OvsVlanMemberConfigRemoveHelper.class);
 
     private final DataBroker dataBroker;
     private final InterfaceManagerCommonUtils interfaceManagerCommonUtils;
 
+    @Inject
     public OvsVlanMemberConfigRemoveHelper(DataBroker dataBroker,
             InterfaceManagerCommonUtils interfaceManagerCommonUtils) {
         this.dataBroker = dataBroker;
index e73d5178f1d05425152c4eeb44617ff1cc31134f..aefd068052b8a520c4c8f8383afdc7ee2e463409 100644 (file)
@@ -11,10 +11,13 @@ import com.google.common.util.concurrent.ListenableFuture;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
+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.WriteTransaction;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.genius.interfacemanager.IfmUtil;
+import org.opendaylight.genius.interfacemanager.commons.InterfaceManagerCommonUtils;
 import org.opendaylight.genius.interfacemanager.commons.InterfaceMetaUtils;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface.OperStatus;
@@ -29,14 +32,22 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+@Singleton
 public class OvsVlanMemberConfigUpdateHelper {
     private static final Logger LOG = LoggerFactory.getLogger(OvsVlanMemberConfigUpdateHelper.class);
 
+    private final DataBroker dataBroker;
+    private final InterfaceManagerCommonUtils interfaceManagerCommonUtils;
     private final OvsVlanMemberConfigAddHelper ovsVlanMemberConfigAddHelper;
     private final OvsVlanMemberConfigRemoveHelper ovsVlanMemberConfigRemoveHelper;
 
-    public OvsVlanMemberConfigUpdateHelper(OvsVlanMemberConfigAddHelper ovsVlanMemberConfigAddHelper,
+    @Inject
+    public OvsVlanMemberConfigUpdateHelper(DataBroker dataBroker,
+            InterfaceManagerCommonUtils interfaceManagerCommonUtils,
+            OvsVlanMemberConfigAddHelper ovsVlanMemberConfigAddHelper,
             OvsVlanMemberConfigRemoveHelper ovsVlanMemberConfigRemoveHelper) {
+        this.dataBroker = dataBroker;
+        this.interfaceManagerCommonUtils = interfaceManagerCommonUtils;
         this.ovsVlanMemberConfigAddHelper = ovsVlanMemberConfigAddHelper;
         this.ovsVlanMemberConfigRemoveHelper = ovsVlanMemberConfigRemoveHelper;
     }
@@ -52,8 +63,7 @@ public class OvsVlanMemberConfigUpdateHelper {
                 parentRefsOld.getParentInterface());
         InterfaceChildEntryKey interfaceChildEntryKey = new InterfaceChildEntryKey(interfaceOld.getName());
         InterfaceChildEntry interfaceChildEntry = InterfaceMetaUtils
-                .getInterfaceChildEntryFromConfigDS(interfaceParentEntryKey, interfaceChildEntryKey,
-                        ovsVlanMemberConfigAddHelper.getDataBroker());
+                .getInterfaceChildEntryFromConfigDS(interfaceParentEntryKey, interfaceChildEntryKey, dataBroker);
 
         if (interfaceChildEntry == null) {
             futures.addAll(ovsVlanMemberConfigAddHelper.addConfiguration(interfaceNew.getAugmentation(ParentRefs.class),
@@ -80,10 +90,9 @@ public class OvsVlanMemberConfigUpdateHelper {
             return futures;
         }
 
-        DataBroker dataBroker = ovsVlanMemberConfigAddHelper.getDataBroker();
         org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf
-            .interfaces.rev140508.interfaces.state.Interface pifState = ovsVlanMemberConfigAddHelper
-                .getInterfaceManagerCommonUtils().getInterfaceState(parentRefsNew.getParentInterface());
+            .interfaces.rev140508.interfaces.state.Interface pifState = interfaceManagerCommonUtils.getInterfaceState(
+                    parentRefsNew.getParentInterface());
         if (pifState != null) {
             OperStatus operStatus = OperStatus.Down;
             if (interfaceNew.isEnabled()) {
index b9dd0f82fefbc07a7bb650e79ada921169816d58..4ca34a4c4b7bded21f88341a4578b194e2cf93bb 100644 (file)
@@ -11,6 +11,8 @@ import com.google.common.util.concurrent.ListenableFuture;
 import java.math.BigInteger;
 import java.util.ArrayList;
 import java.util.List;
+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.WriteTransaction;
 import org.opendaylight.genius.interfacemanager.IfmConstants;
@@ -22,7 +24,6 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.PhysAddress;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNodeConnector;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.alivenessmonitor.rev160411.AlivenessMonitorService;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.IfTunnel;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.ParentRefs;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorId;
@@ -35,6 +36,7 @@ import org.slf4j.LoggerFactory;
  * entries in Interface-State OperDS. Create the entries in Inventory OperDS.
  */
 
+@Singleton
 public final class OvsInterfaceStateAddHelper {
     private static final Logger LOG = LoggerFactory.getLogger(OvsInterfaceStateAddHelper.class);
 
@@ -42,11 +44,12 @@ public final class OvsInterfaceStateAddHelper {
     private final InterfaceManagerCommonUtils interfaceManagerCommonUtils;
     private final AlivenessMonitorUtils alivenessMonitorUtils;
 
-    public OvsInterfaceStateAddHelper(DataBroker dataBroker, AlivenessMonitorService alivenessMonitorService,
+    @Inject
+    public OvsInterfaceStateAddHelper(DataBroker dataBroker, AlivenessMonitorUtils alivenessMonitorUtils,
             InterfaceManagerCommonUtils interfaceManagerCommonUtils) {
         this.dataBroker = dataBroker;
         this.interfaceManagerCommonUtils = interfaceManagerCommonUtils;
-        this.alivenessMonitorUtils = new AlivenessMonitorUtils(alivenessMonitorService, dataBroker);
+        this.alivenessMonitorUtils = alivenessMonitorUtils;
     }
 
     public List<ListenableFuture<Void>> addState(String interfaceName, Interface parentInterface) {
index b162147015470a2fbe9ce76152c0775441672dac..804f35a051a98bd38d6e23a24e44361b065aab73 100644 (file)
@@ -10,6 +10,8 @@ package org.opendaylight.genius.interfacemanager.renderer.ovs.statehelpers;
 import com.google.common.util.concurrent.ListenableFuture;
 import java.util.Collections;
 import java.util.List;
+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.WriteTransaction;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
@@ -22,12 +24,12 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.PhysAddress;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNodeConnector;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.alivenessmonitor.rev160411.AlivenessMonitorService;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.IfTunnel;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+@Singleton
 public class OvsInterfaceStateUpdateHelper {
     private static final Logger LOG = LoggerFactory.getLogger(OvsInterfaceStateUpdateHelper.class);
 
@@ -35,11 +37,12 @@ public class OvsInterfaceStateUpdateHelper {
     private final InterfaceManagerCommonUtils interfaceManagerCommonUtils;
     private final AlivenessMonitorUtils alivenessMonitorUtils;
 
-    public OvsInterfaceStateUpdateHelper(DataBroker dataBroker, AlivenessMonitorService alivenessMonitorService,
+    @Inject
+    public OvsInterfaceStateUpdateHelper(DataBroker dataBroker, AlivenessMonitorUtils alivenessMonitorUtils,
             InterfaceManagerCommonUtils interfaceManagerCommonUtils) {
         this.dataBroker = dataBroker;
         this.interfaceManagerCommonUtils =  interfaceManagerCommonUtils;
-        this.alivenessMonitorUtils = new AlivenessMonitorUtils(alivenessMonitorService, dataBroker);
+        this.alivenessMonitorUtils = alivenessMonitorUtils;
     }
 
     public List<ListenableFuture<Void>> updateState(String interfaceName,
diff --git a/interfacemanager/interfacemanager-impl/src/main/java/org/opendaylight/genius/interfacemanager/renderer/ovs/statehelpers/OvsInterfaceTopologyStateRemoveHelper.java b/interfacemanager/interfacemanager-impl/src/main/java/org/opendaylight/genius/interfacemanager/renderer/ovs/statehelpers/OvsInterfaceTopologyStateRemoveHelper.java
deleted file mode 100644 (file)
index 6f3f29a..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2016, 2017 Ericsson India Global Services Pvt Ltd. and others.  All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.genius.interfacemanager.renderer.ovs.statehelpers;
-
-import com.google.common.util.concurrent.ListenableFuture;
-import java.math.BigInteger;
-import java.util.Collections;
-import java.util.List;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
-import org.opendaylight.genius.interfacemanager.IfmUtil;
-import org.opendaylight.genius.interfacemanager.commons.InterfaceMetaUtils;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbBridgeAugmentation;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbBridgeRef;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class OvsInterfaceTopologyStateRemoveHelper {
-    private static final Logger LOG = LoggerFactory.getLogger(OvsInterfaceTopologyStateRemoveHelper.class);
-
-    public static List<ListenableFuture<Void>> removePortFromBridge(
-            InstanceIdentifier<OvsdbBridgeAugmentation> bridgeIid, OvsdbBridgeAugmentation bridgeOld,
-            DataBroker dataBroker) {
-        BigInteger dpnId = IfmUtil.getDpnId(bridgeOld.getDatapathId());
-
-        if (dpnId == null) {
-            LOG.warn("Got Null DPID for Bridge: {}", bridgeOld);
-            return Collections.emptyList();
-        }
-
-        WriteTransaction transaction = dataBroker.newWriteOnlyTransaction();
-        LOG.debug("removing bridge references for bridge: {}, dpn: {}", bridgeOld,
-                dpnId);
-        // delete bridge reference entry in interface meta operational DS
-        InterfaceMetaUtils.deleteBridgeRefEntry(dpnId, transaction);
-
-        // the bridge reference is copied to dpn-tunnel interfaces map, so that
-        // whenever a northbound delete
-        // happens when bridge is not connected, we need the bridge reference to
-        // clean up the topology config DS
-        InterfaceMetaUtils.addBridgeRefToBridgeInterfaceEntry(dpnId, new OvsdbBridgeRef(bridgeIid), transaction);
-
-        return Collections.singletonList(transaction.submit());
-    }
-}
index 90b6a72834a0be613f65151bc2a88f80be2cc9ae..7cbb2345268f811529f94ebb6759a81f80cad749 100644 (file)
@@ -12,6 +12,8 @@ import java.math.BigInteger;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
+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.WriteTransaction;
 import org.opendaylight.genius.interfacemanager.IfmConstants;
@@ -30,6 +32,7 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+@Singleton
 public class OvsInterfaceTopologyStateUpdateHelper {
     private static final Logger LOG = LoggerFactory.getLogger(OvsInterfaceTopologyStateUpdateHelper.class);
 
@@ -38,6 +41,7 @@ public class OvsInterfaceTopologyStateUpdateHelper {
     private final JobCoordinator coordinator;
     private final InterfaceManagerCommonUtils interfaceManagerCommonUtils;
 
+    @Inject
     public OvsInterfaceTopologyStateUpdateHelper(DataBroker dataBroker, EntityOwnershipUtils entityOwnershipUtils,
             JobCoordinator coordinator, InterfaceManagerCommonUtils interfaceManagerCommonUtils) {
         this.dataBroker = dataBroker;