ElanUtils clean-up: L2GatewayConnectionUtils 13/60813/8
authorStephen Kitt <skitt@redhat.com>
Thu, 27 Jul 2017 13:48:02 +0000 (15:48 +0200)
committerSam Hague <shague@redhat.com>
Thu, 21 Sep 2017 03:31:02 +0000 (03:31 +0000)
This turns L2GatewayConnectionUtils into a self-carrying bean, instead
of relying on ElanUtils to initialise it.

Change-Id: I2c5c8330e57a46048651a1f6b656fb34b099afe3
Signed-off-by: Stephen Kitt <skitt@redhat.com>
vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/listeners/ElanInstanceListener.java
vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/listeners/HwvtepPhysicalSwitchListener.java
vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/listeners/L2GatewayConnectionListener.java
vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/L2GatewayUtils.java
vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/L2gwServiceProvider.java
vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/utils/ElanUtils.java
vpnservice/elanmanager/elanmanager-impl/src/main/resources/org/opendaylight/blueprint/elanmanager.xml

index 09802e70a407a7fe30cb159c33dae85e686804bc..8061a4cee1101481927b51a25decbc2cc3ed61c9 100644 (file)
@@ -19,7 +19,6 @@ import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFaile
 import org.opendaylight.genius.datastoreutils.AsyncClusteredDataTreeChangeListenerBase;
 import org.opendaylight.netvirt.elan.l2gw.utils.L2GatewayConnectionUtils;
 import org.opendaylight.netvirt.elan.utils.ElanClusterUtils;
-import org.opendaylight.netvirt.elan.utils.ElanUtils;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.ElanInstances;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.elan.instances.ElanInstance;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l2gateways.rev150712.l2gateway.connections.attributes.L2gatewayConnections;
@@ -35,16 +34,13 @@ public class ElanInstanceListener extends AsyncClusteredDataTreeChangeListenerBa
     private static final Logger LOG = LoggerFactory.getLogger(ElanInstanceListener.class);
 
     private final DataBroker broker;
-    private final L2GatewayConnectionUtils l2GatewayConnectionUtils;
     private final EntityOwnershipService entityOwnershipService;
     private static final Map<String, List<Runnable>> WAITING_JOB_LIST = new ConcurrentHashMap<>();
 
-    public ElanInstanceListener(final DataBroker db, EntityOwnershipService entityOwnershipService,
-                                final ElanUtils elanUtils) {
+    public ElanInstanceListener(final DataBroker db, final EntityOwnershipService entityOwnershipService) {
         super(ElanInstance.class, ElanInstanceListener.class);
         broker = db;
         this.entityOwnershipService = entityOwnershipService;
-        this.l2GatewayConnectionUtils = elanUtils.getL2GatewayConnectionUtils();
         registerListener(LogicalDatastoreType.CONFIGURATION, db);
     }
 
index 1df5974edd5052efa91df2285d76299f1bf09c8e..6b1c250daf66389834e92eb2999c44eb1146cb2b 100644 (file)
@@ -33,7 +33,6 @@ import org.opendaylight.netvirt.elan.l2gw.utils.L2GatewayConnectionUtils;
 import org.opendaylight.netvirt.elan.l2gw.utils.L2GatewayUtils;
 import org.opendaylight.netvirt.elan.l2gw.utils.L2gwServiceProvider;
 import org.opendaylight.netvirt.elan.utils.ElanClusterUtils;
-import org.opendaylight.netvirt.elan.utils.ElanUtils;
 import org.opendaylight.netvirt.elanmanager.utils.ElanL2GwCacheUtils;
 import org.opendaylight.netvirt.neutronvpn.api.l2gw.L2GatewayDevice;
 import org.opendaylight.netvirt.neutronvpn.api.l2gw.utils.L2GatewayCacheUtils;
@@ -133,20 +132,21 @@ public class HwvtepPhysicalSwitchListener
      *            the data broker
      * @param itmRpcService itm rpc
      * @param entityOwnershipService entity ownership service
-     * @param elanUtils elan utils
+     * @param l2GatewayConnectionUtils l2gw connection utils
      * @param l2gwServiceProvider l2gw service Provider
      * @param l2GatewayUtils utils
      * @param haListener HA Op node listners
      */
     public HwvtepPhysicalSwitchListener(final DataBroker dataBroker, ItmRpcService itmRpcService,
                                         EntityOwnershipService entityOwnershipService,
-                                        ElanUtils elanUtils, L2gwServiceProvider l2gwServiceProvider,
+                                        L2GatewayConnectionUtils l2GatewayConnectionUtils,
+                                        L2gwServiceProvider l2gwServiceProvider,
                                         L2GatewayUtils l2GatewayUtils, HAOpClusteredListener haListener) {
         super(PhysicalSwitchAugmentation.class, HwvtepPhysicalSwitchListener.class);
         this.dataBroker = dataBroker;
         this.itmRpcService = itmRpcService;
         this.entityOwnershipService = entityOwnershipService;
-        this.l2GatewayConnectionUtils = elanUtils.getL2GatewayConnectionUtils();
+        this.l2GatewayConnectionUtils = l2GatewayConnectionUtils;
         this.l2gwServiceProvider = l2gwServiceProvider;
         this.l2GatewayUtils = l2GatewayUtils;
         this.haOpClusteredListener = haListener;
index 78e856d0d23e06e05b88c88d96f9450970806733..12a34a8202c5f1630c27401468e67ae44b2a5bdc 100644 (file)
@@ -11,7 +11,6 @@ import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.genius.datastoreutils.AsyncClusteredDataTreeChangeListenerBase;
 import org.opendaylight.netvirt.elan.l2gw.utils.L2GatewayConnectionUtils;
-import org.opendaylight.netvirt.elan.utils.ElanUtils;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l2gateways.rev150712.l2gateway.connections.attributes.L2gatewayConnections;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l2gateways.rev150712.l2gateway.connections.attributes.l2gatewayconnections.L2gatewayConnection;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.rev150712.Neutron;
@@ -26,10 +25,10 @@ public class L2GatewayConnectionListener extends AsyncClusteredDataTreeChangeLis
     private final DataBroker broker;
     private final L2GatewayConnectionUtils l2GatewayConnectionUtils;
 
-    public L2GatewayConnectionListener(final DataBroker db, ElanUtils elanUtils) {
+    public L2GatewayConnectionListener(final DataBroker db, L2GatewayConnectionUtils l2GatewayConnectionUtils) {
         super(L2gatewayConnection.class, L2GatewayConnectionListener.class);
         this.broker = db;
-        this.l2GatewayConnectionUtils = elanUtils.getL2GatewayConnectionUtils();
+        this.l2GatewayConnectionUtils = l2GatewayConnectionUtils;
     }
 
     public void init() {
index 98377416a09d6a1d6eac719569bce12dd8e708ec..331775a703fb28d9e9f12e08427cbe0afdffecb7 100644 (file)
@@ -14,7 +14,6 @@ import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.md.sal.common.api.clustering.EntityOwnershipService;
 import org.opendaylight.genius.utils.hwvtep.HwvtepSouthboundConstants;
 import org.opendaylight.genius.utils.hwvtep.HwvtepSouthboundUtils;
-import org.opendaylight.netvirt.elan.utils.ElanUtils;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.DeleteL2GwDeviceInputBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService;
@@ -36,11 +35,11 @@ public class L2GatewayUtils {
 
     public L2GatewayUtils(DataBroker dataBroker, ItmRpcService itmRpcService,
                           EntityOwnershipService entityOwnershipService,
-                          ElanUtils elanUtils) {
+                          L2GatewayConnectionUtils l2GatewayConnectionUtils) {
         this.dataBroker = dataBroker;
         this.itmRpcService = itmRpcService;
         this.entityOwnershipService = entityOwnershipService;
-        this.l2GatewayConnectionUtils = elanUtils.getL2GatewayConnectionUtils();
+        this.l2GatewayConnectionUtils = l2GatewayConnectionUtils;
     }
 
     public void init() {
index e3b9565414e5051534cf16d1f842ca0ba9294bc0..c5fba3d7c95d4dba306f01478bfd0f9c3abd2268 100644 (file)
@@ -16,7 +16,6 @@ import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.md.sal.common.api.clustering.EntityOwnershipService;
 import org.opendaylight.infrautils.inject.AbstractLifecycle;
 import org.opendaylight.netvirt.elan.utils.ElanClusterUtils;
-import org.opendaylight.netvirt.elan.utils.ElanUtils;
 import org.opendaylight.netvirt.elanmanager.api.IL2gwService;
 import org.opendaylight.netvirt.neutronvpn.api.l2gw.L2GatewayDevice;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
@@ -40,11 +39,11 @@ public class L2gwServiceProvider extends AbstractLifecycle implements IL2gwServi
     private final EntityOwnershipService entityOwnershipService;
 
     public L2gwServiceProvider(final DataBroker dataBroker, final EntityOwnershipService entityOwnershipService,
-                               ItmRpcService itmRpcService, ElanUtils elanUtils) {
+                               ItmRpcService itmRpcService, L2GatewayConnectionUtils l2GatewayConnectionUtils) {
         this.dataBroker = dataBroker;
         this.entityOwnershipService = entityOwnershipService;
         this.itmRpcService = itmRpcService;
-        this.l2GatewayConnectionUtils = elanUtils.getL2GatewayConnectionUtils();
+        this.l2GatewayConnectionUtils = l2GatewayConnectionUtils;
     }
 
     @Override
index 23038f59679f4a86d3bbdee10d02bc867160c491..a9d2f3b3a33bc7b60baafd7e620feccb75a96bfd 100755 (executable)
@@ -70,7 +70,6 @@ import org.opendaylight.netvirt.elan.arp.responder.ArpResponderUtil;
 import org.opendaylight.netvirt.elan.internal.ElanInstanceManager;
 import org.opendaylight.netvirt.elan.l2gw.utils.ElanL2GatewayMulticastUtils;
 import org.opendaylight.netvirt.elan.l2gw.utils.ElanL2GatewayUtils;
-import org.opendaylight.netvirt.elan.l2gw.utils.L2GatewayConnectionUtils;
 import org.opendaylight.netvirt.elanmanager.api.ElanHelper;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressBuilder;
@@ -196,7 +195,6 @@ public class ElanUtils {
     private final ItmRpcService itmRpcService;
     private final ElanL2GatewayUtils elanL2GatewayUtils;
     private final ElanL2GatewayMulticastUtils elanL2GatewayMulticastUtils;
-    private final L2GatewayConnectionUtils l2GatewayConnectionUtils;
     private final IInterfaceManager interfaceManager;
     private final ElanConfig elanConfig;
     private final ElanItmUtils elanItmUtils;
@@ -234,8 +232,6 @@ public class ElanUtils {
         this.elanItmUtils = elanItmUtils;
         this.elanL2GatewayUtils =
                 new ElanL2GatewayUtils(broker, this, elanDmacUtils, elanItmUtils, entityOwnershipService);
-        this.l2GatewayConnectionUtils = new L2GatewayConnectionUtils(broker,
-                elanInstanceManager, entityOwnershipService, this);
     }
 
     public void close() {
@@ -250,10 +246,6 @@ public class ElanUtils {
         return elanL2GatewayMulticastUtils;
     }
 
-    public L2GatewayConnectionUtils getL2GatewayConnectionUtils() {
-        return l2GatewayConnectionUtils;
-    }
-
     public final Boolean isOpenStackVniSemanticsEnforced() {
         return elanConfig.isOpenstackVniSemanticsEnforced();
     }
index 1a1aa4d5dd8faf956ec97d704cd986699ce56d6d..ef1c31961f0de1d941c67b75a28d8edf90ea1bb4 100644 (file)
     class="org.opendaylight.netvirt.elan.l2gw.listeners.L2GatewayConnectionListener"
     init-method="init" destroy-method="close">
     <argument ref="dataBroker" />
+    <argument ref="l2GatewayConnectionUtils" />
+  </bean>
+
+  <bean id="l2GatewayConnectionUtils" class="org.opendaylight.netvirt.elan.l2gw.utils.L2GatewayConnectionUtils">
+    <argument ref="dataBroker" />
+    <argument ref="elanInstanceManager" />
+    <argument ref="entityOwnershipService" />
     <argument ref="elanUtils" />
   </bean>
 
     <argument ref="dataBroker" />
     <argument ref="itmRpcService" />
     <argument ref="entityOwnershipService" />
-    <argument ref="elanUtils" />
+    <argument ref="l2GatewayConnectionUtils" />
     <argument ref="l2gwService" />
     <argument ref="l2gatewayUtils" />
     <argument ref="haOpClusteredListener" />
     <argument ref="dataBroker" />
     <argument ref="entityOwnershipService" />
     <argument ref="itmRpcService" />
-    <argument ref="elanUtils" />
+    <argument ref="l2GatewayConnectionUtils" />
   </bean>
   <service ref="l2gwService" odl:type="default"
            interface="org.opendaylight.netvirt.elanmanager.api.IL2gwService" />
   <bean id="elanInstanceListener"
         class="org.opendaylight.netvirt.elan.l2gw.listeners.ElanInstanceListener"
         init-method="init" destroy-method="close">
-  <argument ref="dataBroker" />
-  <argument ref="entityOwnershipService" />
-  <argument ref="elanUtils" />
-
+    <argument ref="dataBroker" />
+    <argument ref="entityOwnershipService" />
   </bean>
 
   <bean id="evpnUtils" class="org.opendaylight.netvirt.elan.evpn.utils.EvpnUtils"
     <argument ref="dataBroker" />
     <argument ref="itmRpcService" />
     <argument ref="entityOwnershipService" />
-    <argument ref="elanUtils" />
+    <argument ref="l2GatewayConnectionUtils" />
   </bean>
 
 </blueprint>