Convert itm-impl to use mdsal-binding-util 55/91855/14
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 4 Aug 2020 12:33:29 +0000 (14:33 +0200)
committerChetan Arakere Gowdru <chetan.arakere@altencalsoftlabs.com>
Thu, 13 Aug 2020 12:30:12 +0000 (18:00 +0530)
ITM is using ManagedNewTransactionRunner from a deprecated location,
migrate it to use mdsal-binding-util.

This necessitates splitting the future for
TunnelTopologyStateListener.removePortFromBridge() because it was
performing a cross-datastore transaction.

JIRA: GENIUS-291
Change-Id: Id15fd9dfeb3b47f50dae79f7a4e3bddb1435f4f2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Signed-off-by: Chetan Arakere Gowdru <chetan.arakere@altencalsoftlabs.com>
45 files changed:
itm/itm-impl/src/main/java/org/opendaylight/genius/itm/cache/DPNTEPsInfoCache.java
itm/itm-impl/src/main/java/org/opendaylight/genius/itm/cache/DpnTepStateCache.java
itm/itm-impl/src/main/java/org/opendaylight/genius/itm/cli/TepCommandHelper.java
itm/itm-impl/src/main/java/org/opendaylight/genius/itm/cli/TepDeleteDatastore.java
itm/itm-impl/src/main/java/org/opendaylight/genius/itm/confighelpers/ItmExternalTunnelAddWorker.java
itm/itm-impl/src/main/java/org/opendaylight/genius/itm/confighelpers/ItmExternalTunnelDeleteWorker.java
itm/itm-impl/src/main/java/org/opendaylight/genius/itm/confighelpers/ItmInternalTunnelAddWorker.java
itm/itm-impl/src/main/java/org/opendaylight/genius/itm/confighelpers/ItmInternalTunnelDeleteWorker.java
itm/itm-impl/src/main/java/org/opendaylight/genius/itm/confighelpers/ItmMonitorIntervalWorker.java
itm/itm-impl/src/main/java/org/opendaylight/genius/itm/confighelpers/ItmMonitorToggleWorker.java
itm/itm-impl/src/main/java/org/opendaylight/genius/itm/confighelpers/ItmMonitorWorker.java
itm/itm-impl/src/main/java/org/opendaylight/genius/itm/confighelpers/ItmTepAddWorker.java
itm/itm-impl/src/main/java/org/opendaylight/genius/itm/confighelpers/ItmTepRemoveWorker.java
itm/itm-impl/src/main/java/org/opendaylight/genius/itm/confighelpers/ItmTepsNotHostedAddWorker.java
itm/itm-impl/src/main/java/org/opendaylight/genius/itm/confighelpers/ItmTepsNotHostedMoveWorker.java
itm/itm-impl/src/main/java/org/opendaylight/genius/itm/confighelpers/ItmTepsNotHostedRemoveWorker.java
itm/itm-impl/src/main/java/org/opendaylight/genius/itm/confighelpers/ItmTunnelAggregationHelper.java
itm/itm-impl/src/main/java/org/opendaylight/genius/itm/confighelpers/OvsdbTepAddConfigHelper.java
itm/itm-impl/src/main/java/org/opendaylight/genius/itm/confighelpers/OvsdbTepAddWorker.java
itm/itm-impl/src/main/java/org/opendaylight/genius/itm/confighelpers/OvsdbTepRemoveConfigHelper.java
itm/itm-impl/src/main/java/org/opendaylight/genius/itm/confighelpers/OvsdbTepRemoveWorker.java
itm/itm-impl/src/main/java/org/opendaylight/genius/itm/impl/ItmUtils.java
itm/itm-impl/src/main/java/org/opendaylight/genius/itm/itmdirecttunnels/listeners/TerminationPointStateListener.java
itm/itm-impl/src/main/java/org/opendaylight/genius/itm/itmdirecttunnels/listeners/TunnelInventoryStateListener.java
itm/itm-impl/src/main/java/org/opendaylight/genius/itm/itmdirecttunnels/listeners/TunnelTopologyStateListener.java
itm/itm-impl/src/main/java/org/opendaylight/genius/itm/itmdirecttunnels/renderer/ovs/utilities/DirectTunnelUtils.java
itm/itm-impl/src/main/java/org/opendaylight/genius/itm/itmdirecttunnels/workers/TunnelStateAddWorker.java
itm/itm-impl/src/main/java/org/opendaylight/genius/itm/itmdirecttunnels/workers/TunnelStateAddWorkerForNodeConnector.java
itm/itm-impl/src/main/java/org/opendaylight/genius/itm/listeners/TransportZoneListener.java
itm/itm-impl/src/main/java/org/opendaylight/genius/itm/listeners/TunnelMonitorIntervalListener.java
itm/itm-impl/src/main/java/org/opendaylight/genius/itm/monitoring/ItmTunnelEventListener.java
itm/itm-impl/src/main/java/org/opendaylight/genius/itm/recovery/impl/EosChangeEventHandler.java
itm/itm-impl/src/main/java/org/opendaylight/genius/itm/recovery/impl/ItmTepInstanceRecoveryHandler.java
itm/itm-impl/src/main/java/org/opendaylight/genius/itm/recovery/impl/ItmTzInstanceRecoveryHandler.java
itm/itm-impl/src/main/java/org/opendaylight/genius/itm/rpc/ItmManagerRpcService.java
itm/itm-impl/src/test/java/org/opendaylight/genius/itm/impl/ItmExternalTunnelAddTest.java
itm/itm-impl/src/test/java/org/opendaylight/genius/itm/impl/ItmExternalTunnelDeleteTest.java
itm/itm-impl/src/test/java/org/opendaylight/genius/itm/impl/ItmManagerRpcServiceTest.java
itm/itm-impl/src/test/java/org/opendaylight/genius/itm/tests/ItmManagerRpcServiceTest.java
itm/itm-impl/src/test/java/org/opendaylight/genius/itm/tests/ItmTepAutoConfigTest.java
itm/itm-impl/src/test/java/org/opendaylight/genius/itm/tests/ItmTepAutoConfigTestUtil.java
mdsalutil/mdsalutil-api/src/main/java/org/opendaylight/genius/mdsalutil/interfaces/IMdsalApiManager.java
mdsalutil/mdsalutil-api/src/test/java/org/opendaylight/genius/mdsalutil/interfaces/testutils/TestIMdsalApiManager.java
mdsalutil/mdsalutil-impl/src/main/java/org/opendaylight/genius/mdsalutil/internal/MDSALManager.java
mdsalutil/mdsalutil-impl/src/test/java/org/opendaylight/genius/datastoreutils/listeners/tests/DataTreeEventCallbackRegistrarTest.java

index 4211810708ceab3a12f6af31f5feac9ba3b09ad6..9b025503f21c2b284948d33f72f0a9d7fce2fde5 100644 (file)
@@ -13,8 +13,6 @@ import java.util.List;
 import java.util.Optional;
 import javax.inject.Inject;
 import javax.inject.Singleton;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunner;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl;
 import org.opendaylight.genius.itm.globals.ITMConstants;
 import org.opendaylight.genius.itm.itmdirecttunnels.renderer.ovs.utilities.DirectTunnelUtils;
 import org.opendaylight.genius.itm.itmdirecttunnels.workers.TunnelStateAddWorker;
@@ -27,6 +25,8 @@ import org.opendaylight.infrautils.caches.CacheProvider;
 import org.opendaylight.infrautils.jobcoordinator.JobCoordinator;
 import org.opendaylight.infrautils.utils.concurrent.NamedSimpleReentrantLock.Acquired;
 import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunner;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunnerImpl;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.DpnEndpoints;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.dpn.endpoints.DPNTEPsInfo;
index 42d6264856759b6fc40c9017f15d1bdda12f8bc9..028ff6edb683c976a8ed9ac8ddc7d3e8adc9f273 100644 (file)
@@ -17,8 +17,6 @@ import java.util.concurrent.ConcurrentMap;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.opendaylight.genius.datastoreutils.SingleTransactionDataBroker;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunner;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl;
 import org.opendaylight.genius.itm.globals.ITMConstants;
 import org.opendaylight.genius.itm.impl.ItmUtils;
 import org.opendaylight.genius.itm.itmdirecttunnels.renderer.ovs.utilities.DirectTunnelUtils;
@@ -35,6 +33,8 @@ import org.opendaylight.infrautils.caches.CacheProvider;
 import org.opendaylight.infrautils.jobcoordinator.JobCoordinator;
 import org.opendaylight.infrautils.utils.concurrent.NamedSimpleReentrantLock.Acquired;
 import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunner;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunnerImpl;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.mdsal.common.api.ReadFailedException;
 import org.opendaylight.mdsal.common.api.TransactionCommitFailedException;
index 969ac1189ec5ed197f054caaa175e60361ef5e3e..6a10945831be2529d497b436c59d8949d693d873 100644 (file)
@@ -7,7 +7,7 @@
  */
 package org.opendaylight.genius.itm.cli;
 
-import static org.opendaylight.genius.infra.Datastore.CONFIGURATION;
+import static org.opendaylight.mdsal.binding.util.Datastore.CONFIGURATION;
 
 import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.MoreExecutors;
@@ -28,12 +28,12 @@ import javax.annotation.PreDestroy;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.apache.commons.lang3.StringUtils;
-import org.opendaylight.genius.infra.Datastore;
-import org.opendaylight.genius.infra.RetryingManagedNewTransactionRunner;
 import org.opendaylight.genius.itm.cache.UnprocessedTunnelsStateCache;
 import org.opendaylight.genius.itm.globals.ITMConstants;
 import org.opendaylight.genius.itm.impl.ItmUtils;
 import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.util.Datastore;
+import org.opendaylight.mdsal.binding.util.RetryingManagedNewTransactionRunner;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 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;
@@ -531,8 +531,7 @@ public class TepCommandHelper {
                 .setTunnelType(tunType)
                 .withKey(new TransportZoneKey(transportZoneName)).build();*/
 
-        txRunner.callWithNewWriteOnlyTransactionAndSubmit(tx -> tx.put(LogicalDatastoreType.CONFIGURATION,
-                path, transportZones)).get();
+        txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx -> tx.put(path, transportZones)).get();
 
     }
 
index e6baccaf2c4d5e7feca425ad0f5ae4bac0342c10..0da0f6de6a0e525eca9e3b6f750a63317e722900 100644 (file)
@@ -14,11 +14,11 @@ import java.util.ArrayList;
 import java.util.List;
 import org.apache.karaf.shell.commands.Command;
 import org.apache.karaf.shell.console.OsgiCommandSupport;
-import org.opendaylight.genius.infra.Datastore;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunner;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl;
 import org.opendaylight.genius.itm.api.IITMProvider;
 import org.opendaylight.genius.itm.impl.ItmUtils;
+import org.opendaylight.mdsal.binding.util.Datastore;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunner;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunnerImpl;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.Interfaces;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.InterfacesState;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.TransportZones;
index 160c7fca21ea8636ea4371a3a8c6ee6a37f4c756..3a2b8dbfe9b399c07b2ef8a1aa715f8c30b0c8c2 100644 (file)
@@ -13,12 +13,12 @@ import java.util.List;
 import java.util.Objects;
 import java.util.Optional;
 import java.util.concurrent.ExecutionException;
-import org.opendaylight.genius.infra.Datastore.Configuration;
-import org.opendaylight.genius.infra.TypedReadWriteTransaction;
-import org.opendaylight.genius.infra.TypedWriteTransaction;
 import org.opendaylight.genius.itm.cache.DPNTEPsInfoCache;
 import org.opendaylight.genius.itm.globals.ITMConstants;
 import org.opendaylight.genius.itm.impl.ItmUtils;
+import org.opendaylight.mdsal.binding.util.Datastore.Configuration;
+import org.opendaylight.mdsal.binding.util.TypedReadWriteTransaction;
+import org.opendaylight.mdsal.binding.util.TypedWriteTransaction;
 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;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.Interfaces;
index 0d650b1c99c2c08d7e421db4f4155f29c00dfa22..fa8a7af41453d6bc9453f58fc1eb3c5b6b1e04fe 100644 (file)
@@ -14,11 +14,11 @@ import java.util.Objects;
 import java.util.Optional;
 import java.util.concurrent.ExecutionException;
 import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.genius.infra.Datastore.Configuration;
-import org.opendaylight.genius.infra.TypedReadWriteTransaction;
-import org.opendaylight.genius.infra.TypedWriteTransaction;
 import org.opendaylight.genius.itm.globals.ITMConstants;
 import org.opendaylight.genius.itm.impl.ItmUtils;
+import org.opendaylight.mdsal.binding.util.Datastore.Configuration;
+import org.opendaylight.mdsal.binding.util.TypedReadWriteTransaction;
+import org.opendaylight.mdsal.binding.util.TypedWriteTransaction;
 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.interfaces.rev140508.interfaces.Interface;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.TunnelTypeBase;
index 1804a71780f42d2d702656106117a2653f2a947d..4eb7376f589b552e696687e5f32cef2d847c8f07 100644 (file)
@@ -8,7 +8,7 @@
 package org.opendaylight.genius.itm.confighelpers;
 
 import static java.util.Collections.singletonList;
-import static org.opendaylight.genius.infra.Datastore.CONFIGURATION;
+import static org.opendaylight.mdsal.binding.util.Datastore.CONFIGURATION;
 
 import com.google.common.util.concurrent.ListenableFuture;
 import java.time.Duration;
@@ -21,11 +21,6 @@ import java.util.Optional;
 import java.util.concurrent.Callable;
 import java.util.concurrent.ExecutionException;
 import org.opendaylight.genius.datastoreutils.listeners.DataTreeEventCallbackRegistrar;
-import org.opendaylight.genius.infra.Datastore.Configuration;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunner;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl;
-import org.opendaylight.genius.infra.TypedReadWriteTransaction;
-import org.opendaylight.genius.infra.TypedWriteTransaction;
 import org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager;
 import org.opendaylight.genius.itm.cache.OfEndPointCache;
 import org.opendaylight.genius.itm.cache.OvsBridgeRefEntryCache;
@@ -37,6 +32,11 @@ import org.opendaylight.genius.itm.itmdirecttunnels.renderer.ovs.utilities.Direc
 import org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager;
 import org.opendaylight.infrautils.jobcoordinator.JobCoordinator;
 import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.util.Datastore.Configuration;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunner;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunnerImpl;
+import org.opendaylight.mdsal.binding.util.TypedReadWriteTransaction;
+import org.opendaylight.mdsal.binding.util.TypedWriteTransaction;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.mdsal.common.api.ReadFailedException;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
@@ -117,8 +117,9 @@ public final class ItmInternalTunnelAddWorker {
         monitorInterval = tunnelMonitoringConfig.getMonitorInterval();
     }
 
-    public List<ListenableFuture<Void>> buildAllTunnels(IMdsalApiManager mdsalManager, List<DPNTEPsInfo> cfgdDpnList,
-                                                        Collection<DPNTEPsInfo> meshedDpnList) {
+    public List<? extends ListenableFuture<?>> buildAllTunnels(IMdsalApiManager mdsalManager,
+                                                               List<DPNTEPsInfo> cfgdDpnList,
+                                                               Collection<DPNTEPsInfo> meshedDpnList) {
         LOG.trace("Building tunnels with DPN List {} " , cfgdDpnList);
         if (null == cfgdDpnList || cfgdDpnList.isEmpty()) {
             LOG.error(" Build Tunnels was invoked with empty list");
@@ -306,7 +307,7 @@ public final class ItmInternalTunnelAddWorker {
         }
 
         @Override
-        public List<ListenableFuture<Void>> call() {
+        public List<? extends ListenableFuture<?>> call() {
             return singletonList(txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx -> {
                 //The logical tunnel interface be created only when the first tunnel interface on each OVS is created
                 InternalTunnel tunnel = ItmUtils.ITM_CACHE.getInternalTunnel(logicTunnelGroupName);
index aedadd856a1996071feec9219fdf0cec9bf4b059..e09a157723d8d771eee7d7354f3d2d38f47b6560 100644 (file)
@@ -8,7 +8,7 @@
 package org.opendaylight.genius.itm.confighelpers;
 
 import static java.util.Collections.singletonList;
-import static org.opendaylight.genius.infra.Datastore.CONFIGURATION;
+import static org.opendaylight.mdsal.binding.util.Datastore.CONFIGURATION;
 
 import com.google.common.util.concurrent.ListenableFuture;
 import java.util.Collection;
@@ -21,11 +21,6 @@ import java.util.concurrent.Callable;
 import java.util.concurrent.ExecutionException;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.genius.cloudscaler.api.TombstonedNodeManager;
-import org.opendaylight.genius.infra.Datastore.Configuration;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunner;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl;
-import org.opendaylight.genius.infra.TypedReadWriteTransaction;
-import org.opendaylight.genius.infra.TypedWriteTransaction;
 import org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager;
 import org.opendaylight.genius.itm.cache.DpnTepStateCache;
 import org.opendaylight.genius.itm.cache.OfEndPointCache;
@@ -40,6 +35,11 @@ import org.opendaylight.genius.itm.utils.DpnTepInterfaceInfo;
 import org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager;
 import org.opendaylight.infrautils.jobcoordinator.JobCoordinator;
 import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.util.Datastore.Configuration;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunner;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunnerImpl;
+import org.opendaylight.mdsal.binding.util.TypedReadWriteTransaction;
+import org.opendaylight.mdsal.binding.util.TypedWriteTransaction;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.mdsal.common.api.ReadFailedException;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface;
@@ -121,7 +121,7 @@ public class ItmInternalTunnelDeleteWorker {
     }
 
     @SuppressWarnings("checkstyle:IllegalCatch")
-    public List<ListenableFuture<Void>> deleteTunnels(IMdsalApiManager mdsalManager,
+    public List<? extends ListenableFuture<?>> deleteTunnels(IMdsalApiManager mdsalManager,
             Collection<DPNTEPsInfo> dpnTepsList, Collection<DPNTEPsInfo> meshedDpnList) {
         LOG.trace("TEPs to be deleted {} " , dpnTepsList);
         return Collections.singletonList(txRunner.callWithNewReadWriteTransactionAndSubmit(CONFIGURATION, tx -> {
@@ -350,7 +350,7 @@ public class ItmInternalTunnelDeleteWorker {
         }
 
         @Override
-        public List<ListenableFuture<Void>> call() {
+        public List<? extends ListenableFuture<?>> call() {
             Collection<InternalTunnel> tunnels = ItmUtils.ITM_CACHE.getAllInternalTunnel();
 
             //The logical tunnel interface be removed only when the last tunnel interface on each OVS is deleted
@@ -371,16 +371,16 @@ public class ItmInternalTunnelDeleteWorker {
                 }
             }
             if (emptyTunnelGroup && foundLogicGroupIface) {
-                return singletonList(txRunner.callWithNewWriteOnlyTransactionAndSubmit(tx -> {
+                return singletonList(txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx -> {
                     LOG.debug("MULTIPLE_VxLAN_TUNNELS: remove the logical tunnel group {} because a last tunnel"
                         + " interface on srcDpnId {} dstDpnId {} is removed", logicTunnelName, srcDpnId, dstDpnId);
                     InstanceIdentifier<Interface> trunkIdentifier = ItmUtils.buildId(logicTunnelName);
-                    tx.delete(LogicalDatastoreType.CONFIGURATION, trunkIdentifier);
+                    tx.delete(trunkIdentifier);
                     ItmUtils.ITM_CACHE.removeInterface(logicTunnelName);
                     InstanceIdentifier<InternalTunnel> path = InstanceIdentifier.create(TunnelList.class)
                             .child(InternalTunnel.class,
                                     new InternalTunnelKey(dstDpnId, srcDpnId, TunnelTypeLogicalGroup.class));
-                    tx.delete(LogicalDatastoreType.CONFIGURATION, path);
+                    tx.delete(path);
                     ItmUtils.ITM_CACHE.removeInternalTunnel(logicTunnelName);
                 }));
             } else if (!emptyTunnelGroup) {
index 94c91750cce544b95a22affc9c8608f76ba74ea3..39c535a4df9bfd13847f21bfe747e77666f4d731 100644 (file)
@@ -11,12 +11,12 @@ import com.google.common.util.concurrent.ListenableFuture;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.Callable;
-import org.opendaylight.genius.infra.Datastore;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunner;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl;
-import org.opendaylight.genius.infra.TypedWriteTransaction;
 import org.opendaylight.genius.itm.impl.ItmUtils;
 import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.util.Datastore;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunner;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunnerImpl;
+import org.opendaylight.mdsal.binding.util.TypedWriteTransaction;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.IfTunnelBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.config.rev160406.TunnelMonitorInterval;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.config.rev160406.TunnelMonitorIntervalBuilder;
@@ -25,7 +25,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 public class ItmMonitorIntervalWorker implements Callable<List<? extends ListenableFuture<?>>> {
-
     private static final Logger LOG = LoggerFactory.getLogger(ItmMonitorIntervalWorker.class) ;
 
     private final DataBroker dataBroker;
@@ -43,13 +42,13 @@ public class ItmMonitorIntervalWorker implements Callable<List<? extends Listena
     }
 
     @Override
-    public List<ListenableFuture<Void>> call() {
+    public List<? extends ListenableFuture<?>> call() {
         LOG.debug("Invoking Tunnel Monitor Worker tzone = {} Interval= {}",tzone,interval);
         return toggleTunnelMonitoring();
     }
 
-    private List<ListenableFuture<Void>> toggleTunnelMonitoring() {
-        List<ListenableFuture<Void>> futures = new ArrayList<>();
+    private List<? extends ListenableFuture<?>> toggleTunnelMonitoring() {
+        List<ListenableFuture<?>> futures = new ArrayList<>();
         List<String> tunnelList = ItmUtils.getInternalTunnelInterfaces(dataBroker);
         LOG.debug("ItmMonitorIntervalWorker toggleTunnelMonitoring: List of tunnel interfaces: {}" , tunnelList);
         InstanceIdentifier<TunnelMonitorInterval> iid = InstanceIdentifier.create(TunnelMonitorInterval.class);
@@ -61,7 +60,7 @@ public class ItmMonitorIntervalWorker implements Callable<List<? extends Listena
         return futures;
     }
 
-    private void toggle(String tunnelInterfaceName, TypedWriteTransaction tx) {
+    private void toggle(String tunnelInterfaceName, TypedWriteTransaction<?> tx) {
         if (tunnelInterfaceName != null) {
             LOG.debug("tunnel {} will have monitor interval {}", tunnelInterfaceName, interval);
             tx.merge(ItmUtils.buildTunnelId(tunnelInterfaceName),
index 23d52e0c647b54ea69e8d66ddfe8ff665baddbca..b603679d74a7dc156f7f10f53b33c2a9500d8fe9 100644 (file)
@@ -11,12 +11,12 @@ import com.google.common.util.concurrent.ListenableFuture;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.Callable;
-import org.opendaylight.genius.infra.Datastore;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunner;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl;
-import org.opendaylight.genius.infra.TypedWriteTransaction;
 import org.opendaylight.genius.itm.impl.ItmUtils;
 import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.util.Datastore;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunner;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunnerImpl;
+import org.opendaylight.mdsal.binding.util.TypedWriteTransaction;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.IfTunnel;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.IfTunnelBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.TunnelMonitoringTypeBase;
@@ -47,19 +47,20 @@ public class ItmMonitorToggleWorker implements Callable<List<? extends Listenabl
         LOG.debug("TunnelMonitorToggleWorker with monitor protocol = {} ",monitorProtocol);
     }
 
-    @Override public List<ListenableFuture<Void>> call() {
+    @Override
+    public List<? extends ListenableFuture<?>> call() {
         LOG.debug("ItmMonitorToggleWorker invoked with tzone = {} enabled {}",tzone,enabled);
         return toggleTunnelMonitoring();
     }
 
-    private List<ListenableFuture<Void>> toggleTunnelMonitoring() {
+    private List<? extends ListenableFuture<?>> toggleTunnelMonitoring() {
         List<String> tunnelList = ItmUtils.getInternalTunnelInterfaces(dataBroker);
         LOG.debug("toggleTunnelMonitoring: TunnelList size {}", tunnelList.size());
         InstanceIdentifier<TunnelMonitorParams> iid = InstanceIdentifier.create(TunnelMonitorParams.class);
         TunnelMonitorParams monitorParams = new TunnelMonitorParamsBuilder()
                 .setEnabled(enabled).setMonitorProtocol(monitorProtocol).build();
         LOG.debug("toggleTunnelMonitoring: Updating Operational DS");
-        List<ListenableFuture<Void>> futures = new ArrayList<>();
+        List<ListenableFuture<?>> futures = new ArrayList<>();
         futures.add(txRunner.callWithNewWriteOnlyTransactionAndSubmit(Datastore.OPERATIONAL,
             tx -> tx.merge(iid, monitorParams)));
         futures.add(txRunner.callWithNewWriteOnlyTransactionAndSubmit(Datastore.CONFIGURATION,
index da1aabadfb8f4ce0d4b0c83aeb2e5011d741e711..b4ecadf6d22dca21c7fbacccc8b44479672e59a2 100644 (file)
@@ -13,14 +13,14 @@ import java.util.Collection;
 import java.util.List;
 import java.util.Optional;
 import java.util.concurrent.Callable;
-import org.opendaylight.genius.infra.Datastore;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunner;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl;
-import org.opendaylight.genius.infra.TypedWriteTransaction;
 import org.opendaylight.genius.itm.cache.DpnTepStateCache;
 import org.opendaylight.genius.itm.cache.OvsBridgeRefEntryCache;
 import org.opendaylight.genius.itm.itmdirecttunnels.renderer.ovs.utilities.DirectTunnelUtils;
 import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.util.Datastore;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunner;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunnerImpl;
+import org.opendaylight.mdsal.binding.util.TypedWriteTransaction;
 import org.opendaylight.mdsal.common.api.ReadFailedException;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.TunnelMonitoringTypeBase;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.config.rev160406.TunnelMonitorInterval;
@@ -84,21 +84,20 @@ public class ItmMonitorWorker implements Callable<List<? extends ListenableFutur
     }
 
     @Override
-    public List<ListenableFuture<Void>> call() {
+    public List<? extends ListenableFuture<?>> call() {
         LOG.debug("ItmMonitorWorker invoked with tzone = {} enabled {}", tzone, enabled);
-        List<ListenableFuture<Void>> futures = new ArrayList<>();
-        return toggleTunnelMonitoring(futures);
+        return toggleTunnelMonitoring();
     }
 
-    private List<ListenableFuture<Void>> toggleTunnelMonitoring(List<ListenableFuture<Void>> futures) {
+    private List<? extends ListenableFuture<?>> toggleTunnelMonitoring() {
+        List<ListenableFuture<?>> futures = new ArrayList<>();
         futures.add(txRunner.callWithNewWriteOnlyTransactionAndSubmit(Datastore.OPERATIONAL,
             tx -> updateOperationalDS(tx)));
         Collection<DpnsTeps> dpnsTepsCollection = dpnTepStateCache.getAllPresent();
         LOG.debug("toggleTunnelMonitoring: DpnsTepsList size {}", dpnsTepsCollection.size());
         if (dpnsTepsCollection.isEmpty()) {
             LOG.info("There are no teps configured");
-        }
-        else {
+        } else {
             futures.add(txRunner.callWithNewWriteOnlyTransactionAndSubmit(Datastore.CONFIGURATION,
                 tx -> {
                     for (DpnsTeps dpnTeps : dpnsTepsCollection) {
index a5a62a2fa19ac2c7a1bc060a2329c3ce0db6b2f8..e575f0bafa5c6477ebe15099c8e78f97bf5ef549 100644 (file)
@@ -7,7 +7,7 @@
  */
 package org.opendaylight.genius.itm.confighelpers;
 
-import static org.opendaylight.genius.infra.Datastore.CONFIGURATION;
+import static org.opendaylight.mdsal.binding.util.Datastore.CONFIGURATION;
 
 import com.google.common.util.concurrent.ListenableFuture;
 import java.util.ArrayList;
@@ -15,12 +15,12 @@ import java.util.Collection;
 import java.util.List;
 import java.util.Optional;
 import java.util.concurrent.Callable;
-import org.opendaylight.genius.infra.Datastore;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunner;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl;
 import org.opendaylight.genius.itm.impl.ItmUtils;
 import org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager;
 import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.util.Datastore;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunner;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunnerImpl;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.dpn.endpoints.DPNTEPsInfo;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.DcGatewayIpList;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
@@ -55,8 +55,8 @@ public class ItmTepAddWorker implements Callable<List<? extends ListenableFuture
     }
 
     @Override
-    public List<ListenableFuture<Void>> call() {
-        List<ListenableFuture<Void>> futures = new ArrayList<>() ;
+    public List<? extends ListenableFuture<?>> call() {
+        List<ListenableFuture<?>> futures = new ArrayList<>() ;
         this.meshedDpnList = ItmUtils.getDpnTEPsInfos(dataBroker);
         LOG.debug("Invoking Internal Tunnel build method with Configured DpnList {} ; Meshed DpnList {} ",
                 cfgdDpnList, meshedDpnList);
index 96dbda114d36efdec9f93b2a3812c0e2d0dd57e9..6cfc327bcb3cd8b4502c8405932358541d0aed8b 100644 (file)
@@ -7,7 +7,7 @@
  */
 package org.opendaylight.genius.itm.confighelpers;
 
-import static org.opendaylight.genius.infra.Datastore.CONFIGURATION;
+import static org.opendaylight.mdsal.binding.util.Datastore.CONFIGURATION;
 
 import com.google.common.util.concurrent.ListenableFuture;
 import java.util.ArrayList;
@@ -17,11 +17,11 @@ import java.util.Map;
 import java.util.Optional;
 import java.util.concurrent.Callable;
 import org.eclipse.jdt.annotation.Nullable;
-import org.opendaylight.genius.infra.Datastore;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunner;
-import org.opendaylight.genius.infra.TypedReadWriteTransaction;
 import org.opendaylight.genius.itm.cache.DPNTEPsInfoCache;
 import org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager;
+import org.opendaylight.mdsal.binding.util.Datastore;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunner;
+import org.opendaylight.mdsal.binding.util.TypedReadWriteTransaction;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.config.rev160406.ItmConfig;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.dpn.endpoints.DPNTEPsInfo;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.dpn.endpoints.dpn.teps.info.TunnelEndPoints;
@@ -66,8 +66,8 @@ public class ItmTepRemoveWorker implements Callable<List<? extends ListenableFut
     }
 
     @Override
-    public List<ListenableFuture<Void>> call() {
-        List<ListenableFuture<Void>> futures = new ArrayList<>() ;
+    public List<? extends ListenableFuture<?>> call() {
+        List<ListenableFuture<?>> futures = new ArrayList<>() ;
         this.meshedDpnList = dpnTEPsInfoCache.getAllPresent();
         futures.addAll(itmInternalTunnelDeleteWorker.deleteTunnels(mdsalManager, delDpnList, meshedDpnList));
         LOG.debug("Invoking Internal Tunnel delete method with DpnList to be deleted {} ; Meshed DpnList {} ",
index 9fe2a1c6e5c0256ea230e6ee692ea1b3d3b63030..ffe5242b0ddc9563944b79b872e7a105746e7c25 100644 (file)
@@ -12,9 +12,9 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.Callable;
-import org.opendaylight.genius.infra.Datastore;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunner;
 import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.util.Datastore;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunner;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.not.hosted.transport.zones.tepsinnothostedtransportzone.UnknownVteps;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.not.hosted.transport.zones.tepsinnothostedtransportzone.UnknownVtepsKey;
 import org.slf4j.Logger;
@@ -35,7 +35,7 @@ public class ItmTepsNotHostedAddWorker implements Callable<List<? extends Listen
     }
 
     @Override
-    public List<ListenableFuture<Void>> call() throws Exception {
+    public List<? extends ListenableFuture<?>> call() throws Exception {
         LOG.trace("Add TEP into TepsNotHosted list task is picked from DataStoreJobCoordinator for execution.");
 
         // Add TEP to TepsNotHosted list.
index 643376672b09a58789225bbf42409518a86135c9..c196b1caea747a4e2824329c9d074b5586037397 100644 (file)
@@ -11,8 +11,8 @@ import com.google.common.util.concurrent.ListenableFuture;
 import java.util.Collections;
 import java.util.List;
 import java.util.concurrent.Callable;
-import org.opendaylight.genius.infra.Datastore;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunner;
+import org.opendaylight.mdsal.binding.util.Datastore;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunner;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone.Vteps;
 import org.opendaylight.yangtools.yang.common.Uint64;
 import org.slf4j.Logger;
@@ -33,7 +33,7 @@ public class ItmTepsNotHostedMoveWorker implements Callable<List<? extends Liste
     }
 
     @Override
-    public List<ListenableFuture<Void>> call() throws Exception {
+    public List<? extends ListenableFuture<?>> call() throws Exception {
         LOG.trace("Move TEP from TepsNotHosted list to NBI configured TZ task is picked from "
                 + "DataStoreJobCoordinator for execution.");
 
index 1de3b44775420c4fd868766a4807fa5fc6c77e33..aaf057a2fe9bde54f02e9c294367e150ec69e549 100644 (file)
@@ -11,9 +11,9 @@ import com.google.common.util.concurrent.ListenableFuture;
 import java.util.Collections;
 import java.util.List;
 import java.util.concurrent.Callable;
-import org.opendaylight.genius.infra.Datastore;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunner;
 import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.util.Datastore;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunner;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
 import org.opendaylight.yangtools.yang.common.Uint64;
 import org.slf4j.Logger;
@@ -39,7 +39,7 @@ public class ItmTepsNotHostedRemoveWorker implements Callable<List<? extends Lis
     }
 
     @Override
-    public List<ListenableFuture<Void>> call() throws Exception {
+    public List<? extends ListenableFuture<?>> call() throws Exception {
         LOG.trace("Remove TEP from TepsNotHosted list task is picked from DataStoreJobCoordinator for execution.");
 
         // Remove TEP from TepsNotHosted list.
index ed64bdc95648eb6aececab56d7843741d4545091..c3ff62f0a89199d22d50a66c3ab7073c87910d9f 100644 (file)
@@ -5,11 +5,10 @@
  * 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.itm.confighelpers;
 
-import static org.opendaylight.genius.infra.Datastore.CONFIGURATION;
-import static org.opendaylight.genius.infra.Datastore.OPERATIONAL;
+import static org.opendaylight.mdsal.binding.util.Datastore.CONFIGURATION;
+import static org.opendaylight.mdsal.binding.util.Datastore.OPERATIONAL;
 
 import com.google.common.util.concurrent.ListenableFuture;
 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
@@ -24,13 +23,6 @@ import java.util.concurrent.ExecutionException;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.eclipse.jdt.annotation.Nullable;
-import org.opendaylight.genius.infra.Datastore.Configuration;
-import org.opendaylight.genius.infra.Datastore.Operational;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunner;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl;
-import org.opendaylight.genius.infra.TypedReadTransaction;
-import org.opendaylight.genius.infra.TypedReadWriteTransaction;
-import org.opendaylight.genius.infra.TypedWriteTransaction;
 import org.opendaylight.genius.interfacemanager.globals.IfmConstants;
 import org.opendaylight.genius.interfacemanager.globals.InterfaceInfo;
 import org.opendaylight.genius.interfacemanager.globals.InterfaceInfo.InterfaceAdminState;
@@ -41,6 +33,13 @@ import org.opendaylight.genius.mdsalutil.MDSALUtil;
 import org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager;
 import org.opendaylight.infrautils.jobcoordinator.JobCoordinator;
 import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.util.Datastore.Configuration;
+import org.opendaylight.mdsal.binding.util.Datastore.Operational;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunner;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunnerImpl;
+import org.opendaylight.mdsal.binding.util.TypedReadTransaction;
+import org.opendaylight.mdsal.binding.util.TypedReadWriteTransaction;
+import org.opendaylight.mdsal.binding.util.TypedWriteTransaction;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.iana._if.type.rev170119.Tunnel;
 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.interfaces.rev140508.interfaces.state.Interface.AdminStatus;
@@ -439,8 +438,8 @@ public class ItmTunnelAggregationHelper {
         }
 
         @Override
-        public List<ListenableFuture<Void>> call() {
-            List<ListenableFuture<Void>> futures = new ArrayList<>();
+        public List<? extends ListenableFuture<?>> call() {
+            List<ListenableFuture<?>> futures = new ArrayList<>();
             futures.add(txRunner.callWithNewReadWriteTransactionAndSubmit(CONFIGURATION, confTx -> {
                 if (ifaceAction == MOD_GROUP_TUNNEL) {
                     updateTunnelAggregationGroup(confTx, parentEntry);
index 96e61f12a32e379788a324d44fe22f09787accc2..d1d2dd884699cec96ca341aed1b29d87e6ee622f 100644 (file)
@@ -14,13 +14,13 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
-import org.opendaylight.genius.infra.Datastore;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunner;
-import org.opendaylight.genius.infra.TypedWriteTransaction;
 import org.opendaylight.genius.itm.globals.ITMConstants;
 import org.opendaylight.genius.itm.impl.ItmUtils;
 import org.opendaylight.genius.mdsalutil.MDSALUtil;
 import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.util.Datastore;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunner;
+import org.opendaylight.mdsal.binding.util.TypedWriteTransaction;
 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;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.NotHostedTransportZones;
@@ -64,10 +64,11 @@ public final class OvsdbTepAddConfigHelper {
      * @param txRunner ManagedTransactionRunner object
      */
 
-    public static List<ListenableFuture<Void>> addTepReceivedFromOvsdb(String tepIp, String strDpnId, String tzName,
-                                                                       boolean ofTunnel, DataBroker dataBroker,
-                                                                       ManagedNewTransactionRunner txRunner)
-                                                                       throws Exception {
+    public static List<? extends ListenableFuture<?>> addTepReceivedFromOvsdb(String tepIp, String strDpnId,
+                                                                              String tzName, boolean ofTunnel,
+                                                                              DataBroker dataBroker,
+                                                                              ManagedNewTransactionRunner txRunner)
+                                                                                      throws Exception {
         Uint64 dpnId = Uint64.ZERO;
 
         if (strDpnId != null && !strDpnId.isEmpty()) {
@@ -116,7 +117,7 @@ public final class OvsdbTepAddConfigHelper {
             }
         }
 
-        List<ListenableFuture<Void>> futures = new ArrayList<>();
+        List<ListenableFuture<?>> futures = new ArrayList<>();
         final Uint64 id = dpnId;
         final String name = tzName;
         futures.add(txRunner.callWithNewWriteOnlyTransactionAndSubmit(Datastore.CONFIGURATION,
@@ -266,7 +267,7 @@ public final class OvsdbTepAddConfigHelper {
         addVtepInITMConfigDS(vtepList, ipAdd, tzName, dpnId, ofTunnel, tx);
     }
 
-    private static List<ListenableFuture<Void>> addUnknownTzTepIntoTepsNotHostedAndReturnFutures(String tzName,
+    private static List<? extends ListenableFuture<?>> addUnknownTzTepIntoTepsNotHostedAndReturnFutures(String tzName,
                                                          IpAddress tepIpAddress, Uint64 id, boolean ofTunnel,
                                                          DataBroker dataBroker, ManagedNewTransactionRunner txRunner) {
         return Collections.singletonList(txRunner.callWithNewWriteOnlyTransactionAndSubmit(Datastore.OPERATIONAL,
index e81ed01e5b87425949c5642f9233d4b1e738f26e..6559e799934e7d1e5b6cd1876c7470f887739bed 100644 (file)
@@ -10,9 +10,9 @@ package org.opendaylight.genius.itm.confighelpers;
 import com.google.common.util.concurrent.ListenableFuture;
 import java.util.List;
 import java.util.concurrent.Callable;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunner;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl;
 import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunner;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunnerImpl;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -37,7 +37,7 @@ public class OvsdbTepAddWorker implements Callable<List<? extends ListenableFutu
     }
 
     @Override
-    public List<ListenableFuture<Void>> call() throws Exception {
+    public List<? extends ListenableFuture<?>> call() throws Exception {
         LOG.trace("Add TEP task is picked from DataStoreJobCoordinator for execution.");
         // add TEP received from southbound OVSDB into ITM config DS.
         return OvsdbTepAddConfigHelper.addTepReceivedFromOvsdb(tepIp, strDpid, tzName, ofTunnel, dataBroker, txRunner);
index 82920fd2ac29e1db6264346c92c14fa8cd931615..07880c57f6b442cbeab1626ca131871177aefbc0 100644 (file)
@@ -13,13 +13,13 @@ import java.util.List;
 import java.util.Map;
 import java.util.Objects;
 import org.eclipse.jdt.annotation.Nullable;
-import org.opendaylight.genius.infra.Datastore;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunner;
-import org.opendaylight.genius.infra.TypedWriteTransaction;
 import org.opendaylight.genius.itm.globals.ITMConstants;
 import org.opendaylight.genius.itm.impl.ItmUtils;
 import org.opendaylight.genius.mdsalutil.MDSALUtil;
 import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.util.Datastore;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunner;
+import org.opendaylight.mdsal.binding.util.TypedWriteTransaction;
 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;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.NotHostedTransportZones;
@@ -58,11 +58,10 @@ public final class OvsdbTepRemoveConfigHelper {
      * @param dataBroker data broker handle to perform operations on config/operational datastore
      * @param txRunner ManagedNewTransactionRunner object
      */
-
-    public static List<ListenableFuture<Void>> removeTepReceivedFromOvsdb(String tepIp, String strDpnId, String tzName,
-                                                                          DataBroker dataBroker,
-                                                                          ManagedNewTransactionRunner txRunner) {
-        List<ListenableFuture<Void>> futures = new ArrayList<>();
+    public static List<? extends ListenableFuture<?>> removeTepReceivedFromOvsdb(String tepIp, String strDpnId,
+                                                                                 String tzName, DataBroker dataBroker,
+                                                                                 ManagedNewTransactionRunner txRunner) {
+        List<ListenableFuture<?>> futures = new ArrayList<>();
         Uint64 dpnId = Uint64.ZERO;
         LOG.trace("Remove TEP: TEP-IP: {}, TZ name: {}, DPID: {}", tepIp, tzName, strDpnId);
 
index 6f3e6442bc803cae087be74c6ea16007152984ec..0d0a62c903db2d74b0fd0b862eba886c5ac132ee 100644 (file)
@@ -10,9 +10,9 @@ package org.opendaylight.genius.itm.confighelpers;
 import com.google.common.util.concurrent.ListenableFuture;
 import java.util.List;
 import java.util.concurrent.Callable;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunner;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl;
 import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunner;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunnerImpl;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -35,7 +35,7 @@ public class OvsdbTepRemoveWorker implements Callable<List<? extends ListenableF
     }
 
     @Override
-    public List<ListenableFuture<Void>> call() throws Exception {
+    public List<? extends ListenableFuture<?>> call() throws Exception {
 
         LOG.trace("Remove TEP task is picked from DataStoreJobCoordinator for execution.");
 
index f75c8dcb95c555be080acca5d32a5fd4a898da78..e4807fa667f50c7137f8097e92a6235ce6432e5e 100644 (file)
@@ -30,8 +30,6 @@ import java.util.concurrent.ExecutionException;
 import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.genius.datastoreutils.SingleTransactionDataBroker;
-import org.opendaylight.genius.infra.Datastore.Configuration;
-import org.opendaylight.genius.infra.TypedReadWriteTransaction;
 import org.opendaylight.genius.interfacemanager.globals.IfmConstants;
 import org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager;
 import org.opendaylight.genius.itm.cache.DPNTEPsInfoCache;
@@ -51,6 +49,8 @@ import org.opendaylight.genius.mdsalutil.matches.MatchTunnelId;
 import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.mdsal.binding.api.ReadTransaction;
 import org.opendaylight.mdsal.binding.api.WriteTransaction;
+import org.opendaylight.mdsal.binding.util.Datastore.Configuration;
+import org.opendaylight.mdsal.binding.util.TypedReadWriteTransaction;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.mdsal.common.api.TransactionCommitFailedException;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.iana._if.type.rev170119.Tunnel;
@@ -157,9 +157,9 @@ public final class ItmUtils {
     private ItmUtils() {
     }
 
-    public static final FutureCallback<Void> DEFAULT_WRITE_CALLBACK = new FutureCallback<>() {
+    public static final FutureCallback<Object> DEFAULT_WRITE_CALLBACK = new FutureCallback<>() {
         @Override
-        public void onSuccess(Void result) {
+        public void onSuccess(Object result) {
             LOG.debug("Success in Datastore write operation");
         }
 
@@ -189,6 +189,7 @@ public final class ItmUtils {
 
     //ITM cleanup:portname and vlanId are removed, causes change in generated
     //interface name: This has upgrade impact
+    @Deprecated
     public static String getInterfaceName(final Uint64 datapathid, final String portName, final Integer vlanId) {
         return datapathid + ":" + portName + ":" + vlanId;
     }
@@ -1049,7 +1050,7 @@ public final class ItmUtils {
         if (transportZonesOptional.isPresent()) {
             TransportZones tzones = transportZonesOptional.get();
             for (TransportZone tzone : tzones.getTransportZone()) {
-                List<Vteps> vtepList = new ArrayList<Vteps>(tzone.nonnullVteps().values());
+                List<Vteps> vtepList = new ArrayList<>(tzone.nonnullVteps().values());
                 if (vtepList != null && !vtepList.isEmpty()) {
                     for (Vteps vtep : vtepList) {
                         if (vtep.getDpnId().equals(dpid)) {
index e7506d8b097aa960f1096d019e4e5d892b066907..df365ebe21026ad90f3c6635c5c30dba9cd75b74 100644 (file)
@@ -7,6 +7,8 @@
  */
 package org.opendaylight.genius.itm.itmdirecttunnels.listeners;
 
+import static org.opendaylight.mdsal.binding.util.Datastore.OPERATIONAL;
+
 import com.google.common.util.concurrent.ListenableFuture;
 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.util.Collections;
@@ -16,8 +18,6 @@ import java.util.Optional;
 import java.util.concurrent.Callable;
 import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.jdt.annotation.Nullable;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunner;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl;
 import org.opendaylight.genius.itm.cache.BfdStateCache;
 import org.opendaylight.genius.itm.cache.DpnTepStateCache;
 import org.opendaylight.genius.itm.cache.TunnelStateCache;
@@ -27,7 +27,10 @@ import org.opendaylight.genius.itm.itmdirecttunnels.renderer.ovs.utilities.Direc
 import org.opendaylight.genius.utils.clustering.EntityOwnershipUtils;
 import org.opendaylight.infrautils.jobcoordinator.JobCoordinator;
 import org.opendaylight.mdsal.binding.api.DataBroker;
-import org.opendaylight.mdsal.binding.api.WriteTransaction;
+import org.opendaylight.mdsal.binding.util.Datastore.Operational;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunner;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunnerImpl;
+import org.opendaylight.mdsal.binding.util.TypedWriteTransaction;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.serviceutils.tools.listener.AbstractClusteredSyncDataTreeChangeListener;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface;
@@ -141,7 +144,7 @@ public class TerminationPointStateListener
                     && stateTnl.get().getOperState() != tunnelState) {
                 LOG.debug("updating tunnel state for interface {} as {}", interfaceName,
                         stateTnl.get().getOperState());
-                return Collections.singletonList(txRunner.callWithNewWriteOnlyTransactionAndSubmit(
+                return Collections.singletonList(txRunner.callWithNewWriteOnlyTransactionAndSubmit(OPERATIONAL,
                     tx -> updateOpState(tx, interfaceName, tunnelState)));
             }
             return Collections.emptyList();
@@ -171,13 +174,14 @@ public class TerminationPointStateListener
      * update operational state of interface based on events like tunnel
      * monitoring
      */
-    private static void updateOpState(WriteTransaction transaction, String interfaceName, TunnelOperStatus operStatus) {
+    private static void updateOpState(TypedWriteTransaction<@NonNull Operational> tx, String interfaceName,
+            TunnelOperStatus operStatus) {
         StateTunnelListKey stateTnlKey = new StateTunnelListKey(interfaceName);
         InstanceIdentifier<StateTunnelList> stateTnlII = ItmUtils.buildStateTunnelListId(stateTnlKey);
         LOG.debug("updating tep interface state as {} for {}", operStatus.name(), interfaceName);
         StateTunnelListBuilder stateTnlBuilder = new StateTunnelListBuilder().withKey(stateTnlKey);
         stateTnlBuilder.setOperState(operStatus);
-        transaction.mergeParentStructureMerge(LogicalDatastoreType.OPERATIONAL, stateTnlII, stateTnlBuilder.build());
+        tx.mergeParentStructureMerge(stateTnlII, stateTnlBuilder.build());
     }
 
     private class RendererTunnelStateUpdateWorker implements Callable<List<? extends ListenableFuture<?>>> {
index a701c23705c79d65abaf564cb02134e31d85c5f8..f6d5f0001beab3ec496089537d3e1c5cc6538a2c 100644 (file)
@@ -7,7 +7,7 @@
  */
 package org.opendaylight.genius.itm.itmdirecttunnels.listeners;
 
-import static org.opendaylight.genius.infra.Datastore.OPERATIONAL;
+import static org.opendaylight.mdsal.binding.util.Datastore.OPERATIONAL;
 
 import com.google.common.util.concurrent.ListenableFuture;
 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
@@ -20,10 +20,6 @@ import java.util.concurrent.Callable;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.genius.infra.Datastore.Operational;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunner;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl;
-import org.opendaylight.genius.infra.TypedWriteTransaction;
 import org.opendaylight.genius.itm.cache.DPNTEPsInfoCache;
 import org.opendaylight.genius.itm.cache.DpnTepStateCache;
 import org.opendaylight.genius.itm.cache.TunnelStateCache;
@@ -43,6 +39,10 @@ import org.opendaylight.genius.itm.utils.TunnelStateInfoBuilder;
 import org.opendaylight.infrautils.jobcoordinator.JobCoordinator;
 import org.opendaylight.infrautils.utils.concurrent.NamedSimpleReentrantLock.Acquired;
 import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.util.Datastore.Operational;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunner;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunnerImpl;
+import org.opendaylight.mdsal.binding.util.TypedWriteTransaction;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.mdsal.common.api.ReadFailedException;
 import org.opendaylight.serviceutils.tools.listener.AbstractClusteredSyncDataTreeChangeListener;
@@ -299,7 +299,7 @@ public class TunnelInventoryStateListener extends
 
     @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD",
             justification = "https://github.com/spotbugs/spotbugs/issues/811")
-    private List<ListenableFuture<Void>> updateState(String interfaceName,
+    private List<? extends ListenableFuture<?>> updateState(String interfaceName,
         FlowCapableNodeConnector flowCapableNodeConnectorNew,
         FlowCapableNodeConnector flowCapableNodeConnectorOld) {
         LOG.debug("Updating interface state for port: {}", interfaceName);
@@ -401,13 +401,13 @@ public class TunnelInventoryStateListener extends
 
     @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD",
             justification = "https://github.com/spotbugs/spotbugs/issues/811")
-    private List<ListenableFuture<Void>> removeInterfaceStateConfiguration(NodeConnectorId nodeConnectorId,
-                                                                           String interfaceName,
-                                                                           FlowCapableNodeConnector
-                                                                                   flowCapableNodeConnector) {
+    private List<? extends ListenableFuture<?>> removeInterfaceStateConfiguration(NodeConnectorId nodeConnectorId,
+                                                                                  String interfaceName,
+                                                                                  FlowCapableNodeConnector
+                                                                                      flowCapableNodeConnector) {
 
 
-        List<ListenableFuture<Void>> futures = new ArrayList<>();
+        List<ListenableFuture<?>> futures = new ArrayList<>();
         Uint64 dpId = DirectTunnelUtils.getDpnFromNodeConnectorId(nodeConnectorId);
         // In a genuine port delete scenario, the reason will be there in the incoming event, for all remaining
         // cases treat the event as DPN disconnect, if old and new ports are same. Else, this is a VM migration
@@ -462,7 +462,7 @@ public class TunnelInventoryStateListener extends
         }
 
         @Override
-        public List<ListenableFuture<Void>> call() {
+        public List<? extends ListenableFuture<?>> call() {
             // If another renderer(for eg : OVS) needs to be supported, check can be performed here
             // to call the respective helpers.
             return updateState(interfaceName, fcNodeConnectorNew, fcNodeConnectorOld);
@@ -489,7 +489,7 @@ public class TunnelInventoryStateListener extends
         }
 
         @Override
-        public List<ListenableFuture<Void>> call() {
+        public List<? extends ListenableFuture<?>> call() {
             // If another renderer(for eg : OVS) needs to be supported, check can be performed here
             // to call the respective helpers.
             return removeInterfaceStateConfiguration(nodeConnectorId, interfaceName, flowCapableNodeConnector);
@@ -510,7 +510,7 @@ public class TunnelInventoryStateListener extends
         }
 
         @Override
-        public List<ListenableFuture<Void>> call() throws Exception {
+        public List<? extends ListenableFuture<?>> call() throws Exception {
             // If another renderer(for eg : OVS) needs to be supported, check can be performed here
             // to call the respective helpers.
             EVENT_LOGGER.debug("ITM-TunnelInventoryState, Compute Re-connected, ADD received for {} ", tunnelName);
@@ -526,8 +526,8 @@ public class TunnelInventoryStateListener extends
 
     @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD",
             justification = "https://github.com/spotbugs/spotbugs/issues/811")
-    private List<ListenableFuture<Void>> handleInterfaceStateOnReconnect(String interfaceName) {
-        List<ListenableFuture<Void>> futures = new ArrayList<>();
+    private List<? extends ListenableFuture<?>> handleInterfaceStateOnReconnect(String interfaceName) {
+        List<ListenableFuture<?>> futures = new ArrayList<>();
 
         futures.add(txRunner.callWithNewWriteOnlyTransactionAndSubmit(OPERATIONAL, tx -> {
             DpnTepInterfaceInfo dpnTepInfo = dpnTepStateCache.getTunnelFromCache(interfaceName);
index 08b8e50bf538e261c593461a014ff1a8ab65e5f5..a6767bc35d410191a21c7ec2081cf32d5541a31b 100644 (file)
@@ -16,15 +16,18 @@ import java.util.Optional;
 import java.util.concurrent.Callable;
 import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.jdt.annotation.Nullable;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunner;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl;
 import org.opendaylight.genius.itm.cache.DpnTepStateCache;
 import org.opendaylight.genius.itm.cache.OvsBridgeEntryCache;
 import org.opendaylight.genius.itm.globals.ITMConstants;
 import org.opendaylight.genius.itm.itmdirecttunnels.renderer.ovs.utilities.DirectTunnelUtils;
 import org.opendaylight.infrautils.jobcoordinator.JobCoordinator;
 import org.opendaylight.mdsal.binding.api.DataBroker;
-import org.opendaylight.mdsal.binding.api.WriteTransaction;
+import org.opendaylight.mdsal.binding.util.Datastore;
+import org.opendaylight.mdsal.binding.util.Datastore.Configuration;
+import org.opendaylight.mdsal.binding.util.Datastore.Operational;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunner;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunnerImpl;
+import org.opendaylight.mdsal.binding.util.TypedWriteTransaction;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.serviceutils.tools.listener.AbstractClusteredSyncDataTreeChangeListener;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.IfTunnel;
@@ -134,81 +137,80 @@ public class TunnelTopologyStateListener extends AbstractClusteredSyncDataTreeCh
      */
     @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD",
             justification = "https://github.com/spotbugs/spotbugs/issues/811")
-    private List<ListenableFuture<Void>> updateOvsBridgeRefEntry(InstanceIdentifier<OvsdbBridgeAugmentation> bridgeIid,
-                                                                 OvsdbBridgeAugmentation bridgeNew,
-                                                                 OvsdbBridgeAugmentation bridgeOld) {
+    private List<? extends ListenableFuture<?>> updateOvsBridgeRefEntry(
+            InstanceIdentifier<OvsdbBridgeAugmentation> bridgeIid,
+            OvsdbBridgeAugmentation bridgeNew, OvsdbBridgeAugmentation bridgeOld) {
 
-        return Collections.singletonList(txRunner.callWithNewWriteOnlyTransactionAndSubmit(tx -> {
-            Uint64 dpnIdNew = directTunnelUtils.getDpnId(bridgeNew.getDatapathId());
-            Uint64 dpnIdOld = directTunnelUtils.getDpnId(bridgeOld.getDatapathId());
+        return Collections.singletonList(txRunner.callWithNewWriteOnlyTransactionAndSubmit(Datastore.OPERATIONAL,
+            tx -> {
+                Uint64 dpnIdNew = directTunnelUtils.getDpnId(bridgeNew.getDatapathId());
+                Uint64 dpnIdOld = directTunnelUtils.getDpnId(bridgeOld.getDatapathId());
 
-            LOG.debug("updating bridge references for bridge: {}, dpnNew: {}, dpnOld: {}", bridgeNew,
-                    dpnIdNew, dpnIdOld);
-            //delete bridge reference entry for the old dpn in interface meta operational DS
-            deleteOvsBridgeRefEntry(dpnIdOld, tx);
+                LOG.debug("updating bridge references for bridge: {}, dpnNew: {}, dpnOld: {}", bridgeNew,
+                        dpnIdNew, dpnIdOld);
+                //delete bridge reference entry for the old dpn in interface meta operational DS
+                deleteOvsBridgeRefEntry(dpnIdOld, tx);
 
-            // create bridge reference entry in interface meta operational DS
-            createOvsBridgeRefEntry(dpnIdNew, bridgeIid, tx);
+                // create bridge reference entry in interface meta operational DS
+                createOvsBridgeRefEntry(dpnIdNew, bridgeIid, tx);
 
-            // handle pre-provisioning of tunnels for the newly connected dpn
-            Optional<OvsBridgeEntry> bridgeEntry = null;
-            bridgeEntry = ovsBridgeEntryCache.get(dpnIdNew);
-            if (bridgeEntry.isPresent()) {
-                addAllPortsToBridge(bridgeEntry.get(), bridgeIid, bridgeNew);
-            }
-        }));
+                // handle pre-provisioning of tunnels for the newly connected dpn
+                Optional<OvsBridgeEntry> bridgeEntry = null;
+                bridgeEntry = ovsBridgeEntryCache.get(dpnIdNew);
+                if (bridgeEntry.isPresent()) {
+                    addAllPortsToBridge(bridgeEntry.get(), bridgeIid, bridgeNew);
+                }
+            }));
     }
 
-    public List<ListenableFuture<Void>> removePortFromBridge(InstanceIdentifier<OvsdbBridgeAugmentation> bridgeIid,
-                                                             OvsdbBridgeAugmentation bridgeOld) {
+    public List<? extends ListenableFuture<?>> removePortFromBridge(
+            InstanceIdentifier<OvsdbBridgeAugmentation> bridgeIid, OvsdbBridgeAugmentation bridgeOld) {
         Uint64 dpnId = directTunnelUtils.getDpnId(bridgeOld.getDatapathId());
         if (dpnId == null) {
             LOG.warn("Got Null DPID for Bridge: {}", bridgeOld);
             return Collections.emptyList();
         }
-        return Collections.singletonList(txRunner.callWithNewWriteOnlyTransactionAndSubmit(tx -> {
+        return List.of(txRunner.callWithNewWriteOnlyTransactionAndSubmit(Datastore.OPERATIONAL, tx -> {
             LOG.debug("removing bridge references for bridge: {}, dpn: {}", bridgeOld, dpnId);
             EVENT_LOGGER.debug("ITM-TunnelTopologyState, REMOVE {} completed", bridgeOld.getBridgeName().getValue());
             //delete bridge reference entry in interface meta operational DS
             deleteOvsBridgeRefEntry(dpnId, tx);
-
+        }), txRunner.callWithNewWriteOnlyTransactionAndSubmit(Datastore.CONFIGURATION, tx -> {
             // 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
             addBridgeRefToBridgeTunnelEntry(dpnId, new OvsdbBridgeRef(bridgeIid), tx);
         }));
     }
 
-    private void createOvsBridgeRefEntry(Uint64 dpnId, InstanceIdentifier<?> bridgeIid, WriteTransaction tx) {
-        LOG.debug("Creating bridge ref entry for dpn: {} bridge: {}",
-                dpnId, bridgeIid);
+    private void createOvsBridgeRefEntry(Uint64 dpnId, InstanceIdentifier<?> bridgeIid,
+            TypedWriteTransaction<@NonNull Operational> tx) {
+        LOG.debug("Creating bridge ref entry for dpn: {} bridge: {}", dpnId, bridgeIid);
         OvsBridgeRefEntryKey bridgeRefEntryKey = new OvsBridgeRefEntryKey(dpnId);
         InstanceIdentifier<OvsBridgeRefEntry> bridgeEntryId =
                 DirectTunnelUtils.getOvsBridgeRefEntryIdentifier(bridgeRefEntryKey);
         OvsBridgeRefEntryBuilder tunnelDpnBridgeEntryBuilder =
                 new OvsBridgeRefEntryBuilder().withKey(bridgeRefEntryKey).setDpid(dpnId)
                         .setOvsBridgeReference(new OvsdbBridgeRef(bridgeIid));
-        tx.mergeParentStructurePut(LogicalDatastoreType.OPERATIONAL, bridgeEntryId,
-                tunnelDpnBridgeEntryBuilder.build());
+        tx.mergeParentStructurePut(bridgeEntryId, tunnelDpnBridgeEntryBuilder.build());
     }
 
-    private void deleteOvsBridgeRefEntry(Uint64 dpnId, WriteTransaction tx) {
-        LOG.debug("Deleting bridge ref entry for dpn: {}",
-                dpnId);
+    private void deleteOvsBridgeRefEntry(Uint64 dpnId, TypedWriteTransaction<@NonNull Operational> tx) {
+        LOG.debug("Deleting bridge ref entry for dpn: {}", dpnId);
         OvsBridgeRefEntryKey bridgeRefEntryKey = new OvsBridgeRefEntryKey(dpnId);
         InstanceIdentifier<OvsBridgeRefEntry> bridgeEntryId =
                 DirectTunnelUtils.getOvsBridgeRefEntryIdentifier(bridgeRefEntryKey);
-        tx.delete(LogicalDatastoreType.OPERATIONAL, bridgeEntryId);
+        tx.delete(bridgeEntryId);
     }
 
-    private void addBridgeRefToBridgeTunnelEntry(Uint64 dpId, OvsdbBridgeRef ovsdbBridgeRef, WriteTransaction tx) {
+    private void addBridgeRefToBridgeTunnelEntry(Uint64 dpId, OvsdbBridgeRef ovsdbBridgeRef,
+            TypedWriteTransaction<@NonNull Configuration> tx) {
         OvsBridgeEntryKey bridgeEntryKey = new OvsBridgeEntryKey(dpId);
         InstanceIdentifier<OvsBridgeEntry> bridgeEntryInstanceIdentifier =
                 DirectTunnelUtils.getOvsBridgeEntryIdentifier(bridgeEntryKey);
 
         OvsBridgeEntryBuilder bridgeEntryBuilder = new OvsBridgeEntryBuilder().withKey(bridgeEntryKey)
                 .setOvsBridgeReference(ovsdbBridgeRef);
-        tx.mergeParentStructureMerge(LogicalDatastoreType.CONFIGURATION, bridgeEntryInstanceIdentifier,
-                bridgeEntryBuilder.build());
+        tx.mergeParentStructureMerge(bridgeEntryInstanceIdentifier, bridgeEntryBuilder.build());
     }
 
     /*
@@ -251,7 +253,7 @@ public class TunnelTopologyStateListener extends AbstractClusteredSyncDataTreeCh
         }
 
         @Override
-        public List<ListenableFuture<Void>> call() throws Exception {
+        public List<? extends ListenableFuture<?>> call() throws Exception {
             // If another renderer(for eg : OVS) needs to be supported, check can be performed here
             // to call the respective helpers.
             if (bridgeNew.getDatapathId() == null) {
@@ -264,16 +266,17 @@ public class TunnelTopologyStateListener extends AbstractClusteredSyncDataTreeCh
             EVENT_LOGGER.debug("TunnelTopologyState, ADD bridge {} for {}", bridgeNew.getBridgeName(), dpnId);
 
             // create bridge reference entry in interface meta operational DS
-            return Collections.singletonList(txRunner.callWithNewWriteOnlyTransactionAndSubmit(tx -> {
-                createOvsBridgeRefEntry(dpnId, bridgeIid, tx);
-                // handle pre-provisioning of tunnels for the newly connected dpn
-                Optional<OvsBridgeEntry> bridgeEntry = ovsBridgeEntryCache.get(dpnId);
-                if (!bridgeEntry.isPresent()) {
-                    LOG.debug("Bridge entry not found in config DS for dpn: {}", dpnId);
-                } else {
-                    addAllPortsToBridge(bridgeEntry.get(), bridgeIid, bridgeNew);
-                }
-            }));
+            return Collections.singletonList(txRunner.callWithNewWriteOnlyTransactionAndSubmit(Datastore.OPERATIONAL,
+                tx -> {
+                    createOvsBridgeRefEntry(dpnId, bridgeIid, tx);
+                    // handle pre-provisioning of tunnels for the newly connected dpn
+                    Optional<OvsBridgeEntry> bridgeEntry = ovsBridgeEntryCache.get(dpnId);
+                    if (!bridgeEntry.isPresent()) {
+                        LOG.debug("Bridge entry not found in config DS for dpn: {}", dpnId);
+                    } else {
+                        addAllPortsToBridge(bridgeEntry.get(), bridgeIid, bridgeNew);
+                    }
+                }));
         }
     }
 
@@ -288,7 +291,7 @@ public class TunnelTopologyStateListener extends AbstractClusteredSyncDataTreeCh
         }
 
         @Override
-        public List<ListenableFuture<Void>> call() throws Exception {
+        public List<? extends ListenableFuture<?>> call() throws Exception {
             // If another renderer needs to be supported, check can be performed here
             // to call the respective helpers.
             return removePortFromBridge(instanceIdentifier, bridgeNew);
@@ -308,7 +311,7 @@ public class TunnelTopologyStateListener extends AbstractClusteredSyncDataTreeCh
         }
 
         @Override
-        public List<ListenableFuture<Void>> call() throws Exception {
+        public List<? extends ListenableFuture<?>> call() throws Exception {
             // If another renderer(for eg : OVS) needs to be supported, check can be performed here
             // to call the respective helpers.
             return updateOvsBridgeRefEntry(instanceIdentifier, bridgeNew, bridgeOld);
index 85018bf2d1ac3e4bb792d8997d49322e89f712fc..d879309a1ccab44d698081005157849fdc2ff141 100644 (file)
@@ -24,9 +24,6 @@ import java.util.regex.Pattern;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.genius.infra.Datastore.Configuration;
-import org.opendaylight.genius.infra.TypedReadWriteTransaction;
-import org.opendaylight.genius.infra.TypedWriteTransaction;
 import org.opendaylight.genius.interfacemanager.globals.IfmConstants;
 import org.opendaylight.genius.itm.globals.ITMConstants;
 import org.opendaylight.genius.itm.impl.ITMBatchingUtils;
@@ -49,6 +46,9 @@ import org.opendaylight.genius.mdsalutil.nxmatches.NxMatchTunnelSourceIp;
 import org.opendaylight.genius.utils.clustering.EntityOwnershipUtils;
 import org.opendaylight.infrautils.utils.concurrent.NamedLocks;
 import org.opendaylight.infrautils.utils.concurrent.NamedSimpleReentrantLock.Acquired;
+import org.opendaylight.mdsal.binding.util.Datastore.Configuration;
+import org.opendaylight.mdsal.binding.util.TypedReadWriteTransaction;
+import org.opendaylight.mdsal.binding.util.TypedWriteTransaction;
 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.Ipv4Address;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Uri;
index 5807db58c1c857940dae2e2c7e6c871ed3161b8a..42210e065499166ccd32b8fbe912ba84ff703ab9 100644 (file)
@@ -11,8 +11,6 @@ import com.google.common.util.concurrent.ListenableFuture;
 import java.util.Collections;
 import java.util.List;
 import java.util.concurrent.ExecutionException;
-import org.opendaylight.genius.infra.Datastore;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunner;
 import org.opendaylight.genius.interfacemanager.globals.IfmConstants;
 import org.opendaylight.genius.itm.globals.ITMConstants;
 import org.opendaylight.genius.itm.impl.ITMBatchingUtils;
@@ -20,6 +18,8 @@ import org.opendaylight.genius.itm.impl.ItmUtils;
 import org.opendaylight.genius.itm.itmdirecttunnels.renderer.ovs.utilities.DirectTunnelUtils;
 import org.opendaylight.genius.itm.utils.DpnTepInterfaceInfo;
 import org.opendaylight.genius.itm.utils.TunnelStateInfo;
+import org.opendaylight.mdsal.binding.util.Datastore;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunner;
 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.opendaylight.genius.interfacemanager.rev160406.TunnelTypeBase;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.meta.rev171210.IfIndexesTunnelMap;
@@ -56,7 +56,7 @@ public final class TunnelStateAddWorker {
         this.txRunner = txRunner;
     }
 
-    public List<ListenableFuture<Void>> addState(TunnelStateInfo tunnelStateInfo)
+    public List<? extends ListenableFuture<?>> addState(TunnelStateInfo tunnelStateInfo)
             throws ExecutionException, InterruptedException, OperationFailedException {
 
         // When this method is invoked, all parameters necessary should be available
index 3b1875cb0a868ccb5aadd65d43cac8acc52bb2a0..2963639d4a1a514324465b005302f0c4a4e10fea 100644 (file)
@@ -23,7 +23,7 @@ public class TunnelStateAddWorkerForNodeConnector implements Callable<List<? ext
     }
 
     @Override
-    public List<ListenableFuture<Void>> call() throws Exception {
+    public List<? extends ListenableFuture<?>> call() throws Exception {
         // If another renderer(for eg : OVS) needs to be supported, check can be performed here
         // to call the respective helpers.
         return tunnelStateAddWorker.addState(tunnelStateInfo);
index ec2e7c7f1b6aa2f1ec950dd6677ed434f43b3b20..20cab60baf23b6dc1b7f3d1de8b8708a464c26a8 100644 (file)
@@ -5,7 +5,6 @@
  * 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.itm.listeners;
 
 import com.google.common.util.concurrent.FluentFuture;
@@ -24,9 +23,6 @@ import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.genius.cloudscaler.api.TombstonedNodeManager;
 import org.opendaylight.genius.datastoreutils.listeners.DataTreeEventCallbackRegistrar;
-import org.opendaylight.genius.infra.Datastore;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunner;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl;
 import org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager;
 import org.opendaylight.genius.itm.cache.DPNTEPsInfoCache;
 import org.opendaylight.genius.itm.cache.DpnTepStateCache;
@@ -51,6 +47,9 @@ import org.opendaylight.genius.itm.recovery.impl.ItmServiceRecoveryHandler;
 import org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager;
 import org.opendaylight.infrautils.jobcoordinator.JobCoordinator;
 import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.util.Datastore;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunner;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunnerImpl;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.serviceutils.srm.RecoverableListener;
 import org.opendaylight.serviceutils.srm.ServiceRecoveryRegistry;
index 70cecb0d321e66b86e45a79b1ca1e14c02d32da0..8ba821d7827cba5f02c9a185537ba9e185f5ea5d 100644 (file)
@@ -11,8 +11,6 @@ import java.util.Optional;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunner;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl;
 import org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager;
 import org.opendaylight.genius.itm.cache.DpnTepStateCache;
 import org.opendaylight.genius.itm.cache.OvsBridgeRefEntryCache;
@@ -22,6 +20,8 @@ import org.opendaylight.genius.itm.impl.ItmUtils;
 import org.opendaylight.genius.itm.itmdirecttunnels.renderer.ovs.utilities.DirectTunnelUtils;
 import org.opendaylight.infrautils.jobcoordinator.JobCoordinator;
 import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunner;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunnerImpl;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.serviceutils.tools.listener.AbstractSyncDataTreeChangeListener;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.config.rev160406.TunnelMonitorInterval;
index 6f05736317d129a44da3d436f836481914ff6933..c2ae84877b56f73ba36b525481740e160cf117e2 100644 (file)
@@ -18,14 +18,14 @@ import javax.inject.Inject;
 import javax.inject.Singleton;
 import javax.management.JMException;
 import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.genius.infra.Datastore;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunner;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl;
 import org.opendaylight.genius.itm.cache.UnprocessedTunnelsStateCache;
 import org.opendaylight.genius.itm.globals.ITMConstants;
 import org.opendaylight.genius.itm.impl.ItmUtils;
 import org.opendaylight.infrautils.jobcoordinator.JobCoordinator;
 import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.util.Datastore;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunner;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunnerImpl;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.serviceutils.tools.listener.AbstractSyncDataTreeChangeListener;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.TunnelOperStatus;
@@ -373,7 +373,7 @@ public class ItmTunnelEventListener extends AbstractSyncDataTreeChangeListener<S
         }
 
         @Override
-        public List<ListenableFuture<Void>> call() throws Exception {
+        public List<? extends ListenableFuture<?>> call() throws Exception {
             // Process any unprocessed interface bfd updates
             LOG.debug(" Tunnel events are processed out order for {} hence updating it from cache",
                     add.getTunnelInterfaceName());
index c2c29292817f6e8f2ee7a918d4cc30e514ec688f..3b727c433837264c4b8184efc5404854a07683c7 100644 (file)
@@ -7,7 +7,7 @@
  */
 package org.opendaylight.genius.itm.recovery.impl;
 
-import static org.opendaylight.genius.infra.Datastore.OPERATIONAL;
+import static org.opendaylight.mdsal.binding.util.Datastore.OPERATIONAL;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -18,15 +18,15 @@ import java.util.concurrent.ConcurrentMap;
 import java.util.concurrent.ExecutionException;
 import javax.inject.Inject;
 import javax.inject.Singleton;
-import org.opendaylight.genius.infra.Datastore.Operational;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunner;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl;
-import org.opendaylight.genius.infra.TypedWriteTransaction;
 import org.opendaylight.genius.itm.cache.TunnelStateCache;
 import org.opendaylight.genius.itm.impl.ItmUtils;
 import org.opendaylight.genius.itm.itmdirecttunnels.renderer.ovs.utilities.DirectTunnelUtils;
 import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.mdsal.binding.api.ReadTransaction;
+import org.opendaylight.mdsal.binding.util.Datastore.Operational;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunner;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunnerImpl;
+import org.opendaylight.mdsal.binding.util.TypedWriteTransaction;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.TunnelOperStatus;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.tunnels_state.StateTunnelList;
index a967ffff2b6f4609b9f0b0e4f98350dacbbbce9d..fa07f4dafab6c924db354868d5e0489de2db932d 100644 (file)
@@ -19,8 +19,6 @@ import javax.inject.Singleton;
 import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.genius.cloudscaler.api.TombstonedNodeManager;
 import org.opendaylight.genius.datastoreutils.listeners.DataTreeEventCallbackRegistrar;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunner;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl;
 import org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager;
 import org.opendaylight.genius.itm.cache.DPNTEPsInfoCache;
 import org.opendaylight.genius.itm.cache.DpnTepStateCache;
@@ -41,6 +39,8 @@ import org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager;
 import org.opendaylight.genius.utils.clustering.EntityOwnershipUtils;
 import org.opendaylight.infrautils.jobcoordinator.JobCoordinator;
 import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunner;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunnerImpl;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.serviceutils.srm.ServiceRecoveryInterface;
 import org.opendaylight.serviceutils.srm.ServiceRecoveryRegistry;
index fa35b1ad494fbc3643df01e5b75bc58bdfec204c..055ae961bfb44df1a21f21f5b28aa63d98894bf7 100644 (file)
@@ -7,6 +7,8 @@
  */
 package org.opendaylight.genius.itm.recovery.impl;
 
+import static org.opendaylight.mdsal.binding.util.Datastore.CONFIGURATION;
+
 import java.time.Duration;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -18,8 +20,6 @@ import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.genius.datastoreutils.listeners.DataTreeEventCallbackRegistrar;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunner;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl;
 import org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager;
 import org.opendaylight.genius.itm.cache.DpnTepStateCache;
 import org.opendaylight.genius.itm.globals.ITMConstants;
@@ -27,6 +27,8 @@ import org.opendaylight.genius.itm.impl.ItmUtils;
 import org.opendaylight.genius.utils.clustering.EntityOwnershipUtils;
 import org.opendaylight.infrautils.jobcoordinator.JobCoordinator;
 import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunner;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunnerImpl;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.mdsal.eos.binding.api.EntityOwnershipService;
 import org.opendaylight.serviceutils.srm.ServiceRecoveryInterface;
@@ -125,8 +127,8 @@ public class ItmTzInstanceRecoveryHandler extends
         if (tz != null) {
             LOG.trace("deleting transportzone instance {}", entityId);
             jobCoordinator.enqueueJob(entityId, () -> Collections.singletonList(
-                txRunner.callWithNewWriteOnlyTransactionAndSubmit(
-                    tx -> tx.delete(LogicalDatastoreType.CONFIGURATION, tzII))), ITMConstants.JOB_MAX_RETRIES);
+                txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx -> tx.delete(tzII))),
+                ITMConstants.JOB_MAX_RETRIES);
             AtomicInteger eventCallbackCount = new AtomicInteger(0);
             if (!tunnelList.isEmpty()) {
                 tunnelList.forEach(tunnelInterface -> {
@@ -156,8 +158,7 @@ public class ItmTzInstanceRecoveryHandler extends
         if (registeredEvents.intValue() == sizeOfTunnelList || sizeOfTunnelList == 0) {
             LOG.trace("recreating transportzone instance {}", entityId);
             jobCoordinator.enqueueJob(entityId, () -> Collections.singletonList(
-                txRunner.callWithNewWriteOnlyTransactionAndSubmit(
-                    tx -> tx.merge(LogicalDatastoreType.CONFIGURATION, tzII, tz))),
+                txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx -> tx.merge(tzII, tz))),
                 ITMConstants.JOB_MAX_RETRIES);
         }
     }
index db71fa6a4949c4541edb6ccdb72e4aafeb226964..93a418558b6c55912f351e43bd37e9cd452bdf55 100644 (file)
@@ -7,7 +7,7 @@
  */
 package org.opendaylight.genius.itm.rpc;
 
-import static org.opendaylight.genius.infra.Datastore.CONFIGURATION;
+import static org.opendaylight.mdsal.binding.util.Datastore.CONFIGURATION;
 import static org.opendaylight.serviceutils.tools.rpc.FutureRpcResults.fromListenableFuture;
 import static org.opendaylight.yangtools.yang.common.RpcResultBuilder.failed;
 
@@ -33,12 +33,6 @@ import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.genius.datastoreutils.SingleTransactionDataBroker;
-import org.opendaylight.genius.infra.Datastore;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunner;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl;
-import org.opendaylight.genius.infra.RetryingManagedNewTransactionRunner;
-import org.opendaylight.genius.infra.TypedReadWriteTransaction;
-import org.opendaylight.genius.infra.TypedWriteTransaction;
 import org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager;
 import org.opendaylight.genius.interfacemanager.interfaces.InterfaceManagerService;
 import org.opendaylight.genius.itm.cache.DPNTEPsInfoCache;
@@ -62,6 +56,12 @@ import org.opendaylight.genius.mdsalutil.actions.ActionSetFieldTunnelId;
 import org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager;
 import org.opendaylight.genius.mdsalutil.matches.MatchTunnelId;
 import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.util.Datastore;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunner;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunnerImpl;
+import org.opendaylight.mdsal.binding.util.RetryingManagedNewTransactionRunner;
+import org.opendaylight.mdsal.binding.util.TypedReadWriteTransaction;
+import org.opendaylight.mdsal.binding.util.TypedWriteTransaction;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.mdsal.common.api.ReadFailedException;
 import org.opendaylight.serviceutils.tools.rpc.FutureRpcResults;
@@ -366,14 +366,14 @@ public class ItmManagerRpcService implements ItmRpcService {
         final Uint64 destDpnId = Uint64.valueOf(input.getDestinationNode());
         LOG.debug("setBfdParamOnTunnel srcDpnId: {}, destDpnId: {}", srcDpnId, destDpnId);
         final SettableFuture<RpcResult<SetBfdParamOnTunnelOutput>> result = SettableFuture.create();
-        FluentFuture<Void> future = txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx -> {
+        FluentFuture<?> future = txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx -> {
             enableBFD(tx, srcDpnId, destDpnId, input.isMonitoringEnabled(), input.getMonitoringInterval().toJava());
             enableBFD(tx, destDpnId, srcDpnId, input.isMonitoringEnabled(), input.getMonitoringInterval().toJava());
         });
 
-        future.addCallback(new FutureCallback<Void>() {
+        future.addCallback(new FutureCallback<Object>() {
             @Override
-            public void onSuccess(Void voidInstance) {
+            public void onSuccess(Object voidInstance) {
                 result.set(RpcResultBuilder.<SetBfdParamOnTunnelOutput>success().build());
             }
 
@@ -416,7 +416,7 @@ public class ItmManagerRpcService implements ItmRpcService {
         //Ignore the Futures for now
         final SettableFuture<RpcResult<RemoveExternalTunnelEndpointOutput>> result = SettableFuture.create();
         Collection<DPNTEPsInfo> meshedDpnList = dpnTEPsInfoCache.getAllPresent();
-        FluentFuture<Void> future = txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION,
+        FluentFuture<?> future = txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION,
             tx -> {
                 ItmExternalTunnelDeleteWorker.deleteTunnels(meshedDpnList, input.getDestinationIp(),
                         input.getTunnelType(), tx);
@@ -425,8 +425,8 @@ public class ItmManagerRpcService implements ItmRpcService {
                 tx.delete(extPath);
             }
         );
-        future.addCallback(new FutureCallback<Void>() {
-            @Override public void onSuccess(Void voidInstance) {
+        future.addCallback(new FutureCallback<Object>() {
+            @Override public void onSuccess(Object voidInstance) {
                 result.set(RpcResultBuilder.<RemoveExternalTunnelEndpointOutput>success().build());
             }
 
@@ -448,13 +448,13 @@ public class ItmManagerRpcService implements ItmRpcService {
         //Ignore the Futures for now
         final SettableFuture<RpcResult<RemoveExternalTunnelFromDpnsOutput>> result = SettableFuture.create();
         List<DPNTEPsInfo> cfgDpnList = ItmUtils.getDpnTepListFromDpnId(dpnTEPsInfoCache, input.getDpnId());
-        FluentFuture<Void> future = txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION,
+        FluentFuture<?> future = txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION,
             tx -> ItmExternalTunnelDeleteWorker.deleteTunnels(cfgDpnList, input.getDestinationIp(),
                     input.getTunnelType(), tx));
 
-        future.addCallback(new FutureCallback<Void>() {
+        future.addCallback(new FutureCallback<Object>() {
             @Override
-            public void onSuccess(Void voidInstance) {
+            public void onSuccess(Object voidInstance) {
                 result.set(RpcResultBuilder.<RemoveExternalTunnelFromDpnsOutput>success().build());
             }
 
@@ -474,15 +474,14 @@ public class ItmManagerRpcService implements ItmRpcService {
             BuildExternalTunnelFromDpnsInput input) {
         //Ignore the Futures for now
         final SettableFuture<RpcResult<BuildExternalTunnelFromDpnsOutput>> result = SettableFuture.create();
-        FluentFuture<Void> extTunnelResultList =
+        FluentFuture<?> extTunnelResultList =
             txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION,
                 tx -> externalTunnelAddWorker.buildTunnelsFromDpnToExternalEndPoint(input.getDpnId(),
                     input.getDestinationIp(),input.getTunnelType(), tx));
 
-        extTunnelResultList.addCallback(new FutureCallback<Void>() {
-
+        extTunnelResultList.addCallback(new FutureCallback<Object>() {
             @Override
-            public void onSuccess(Void voidInstance) {
+            public void onSuccess(Object voidInstance) {
                 result.set(RpcResultBuilder.<BuildExternalTunnelFromDpnsOutput>success().build());
             }
 
@@ -511,15 +510,15 @@ public class ItmManagerRpcService implements ItmRpcService {
                 new DcGatewayIpBuilder().setIpAddress(input.getDestinationIp())
                         .setTunnnelType(input.getTunnelType()).build();
 
-        FluentFuture<Void> future = txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION,
+        FluentFuture<?> future = txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION,
             tx -> {
                 externalTunnelAddWorker.buildTunnelsToExternalEndPoint(meshedDpnList, input.getDestinationIp(),
                     input.getTunnelType(), tx);
                 tx.mergeParentStructurePut(extPath, dcGatewayIp);
             }
         );
-        future.addCallback(new FutureCallback<Void>() {
-            @Override public void onSuccess(Void voidInstance) {
+        future.addCallback(new FutureCallback<Object>() {
+            @Override public void onSuccess(Object voidInstance) {
                 result.set(RpcResultBuilder.<AddExternalTunnelEndpointOutput>success().build());
             }
 
@@ -577,12 +576,12 @@ public class ItmManagerRpcService implements ItmRpcService {
                 Uint64.fromLongBits(ITMConstants.COOKIE_ITM.longValue() + serviceId.toJava()), mkMatches,
                 input.getInstruction());
 
-        ListenableFuture<Void> installFlowResult = txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION,
+        ListenableFuture<?> installFlowResult = txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION,
             tx -> mdsalManager.addFlow(tx, input.getDpnId(), terminatingServiceTableFlow));
-        Futures.addCallback(installFlowResult, new FutureCallback<Void>() {
+        Futures.addCallback(installFlowResult, new FutureCallback<Object>() {
 
             @Override
-            public void onSuccess(Void voidInstance) {
+            public void onSuccess(Object voidInstance) {
                 result.set(RpcResultBuilder.<CreateTerminatingServiceActionsOutput>success().build());
             }
 
@@ -606,14 +605,14 @@ public class ItmManagerRpcService implements ItmRpcService {
                 input.getDpnId(), input.getServiceId());
         final SettableFuture<RpcResult<RemoveTerminatingServiceActionsOutput>> result = SettableFuture.create();
 
-        ListenableFuture<Void> removeFlowResult = txRunner.callWithNewReadWriteTransactionAndSubmit(CONFIGURATION,
+        ListenableFuture<?> removeFlowResult = txRunner.callWithNewReadWriteTransactionAndSubmit(CONFIGURATION,
             tx -> mdsalManager.removeFlow(tx, input.getDpnId(),
                         getFlowRef(NwConstants.INTERNAL_TUNNEL_TABLE, input.getServiceId()),
                         NwConstants.INTERNAL_TUNNEL_TABLE));
-        Futures.addCallback(removeFlowResult, new FutureCallback<Void>() {
+        Futures.addCallback(removeFlowResult, new FutureCallback<Object>() {
 
             @Override
-            public void onSuccess(Void voidInstance) {
+            public void onSuccess(Object voidInstance) {
                 result.set(RpcResultBuilder.<RemoveTerminatingServiceActionsOutput>success().build());
             }
 
@@ -747,10 +746,10 @@ public class ItmManagerRpcService implements ItmRpcService {
                                     new TransportZoneKey(transportZone))
                             .child(DeviceVteps.class, deviceVtepKey)
                             .build();
-                    FluentFuture<Void> future =
+                    FluentFuture<?> future =
                         retryingTxRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx -> tx.delete(path));
-                    future.addCallback(new FutureCallback<Void>() {
-                        @Override public void onSuccess(Void voidInstance) {
+                    future.addCallback(new FutureCallback<Object>() {
+                        @Override public void onSuccess(Object voidInstance) {
                             result.set(RpcResultBuilder.<DeleteL2GwDeviceOutput>success().build());
                         }
 
@@ -820,13 +819,13 @@ public class ItmManagerRpcService implements ItmRpcService {
                     DeviceVteps deviceVtep = new DeviceVtepsBuilder().withKey(deviceVtepKey).setIpAddress(hwIp)
                             .setNodeId(nodeId).setTopologyId(input.getTopologyId()).build();
                     //TO DO: add retry if it fails
-                    FluentFuture<Void> future = retryingTxRunner
+                    FluentFuture<?> future = retryingTxRunner
                             .callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION,
                                 tx -> tx.mergeParentStructurePut(path, deviceVtep));
 
-                    future.addCallback(new FutureCallback<Void>() {
+                    future.addCallback(new FutureCallback<Object>() {
 
-                        @Override public void onSuccess(Void voidInstance) {
+                        @Override public void onSuccess(Object voidInstance) {
                             result.set(RpcResultBuilder.<AddL2GwDeviceOutput>success().build());
                         }
 
@@ -899,7 +898,7 @@ public class ItmManagerRpcService implements ItmRpcService {
                         .setIpAddress(hwIp)
                         .setNodeId(nodeId.get(0)).setTopologyId(input.getTopologyId()).build();
                     LOG.trace("writing hWvtep{}", deviceVtep);
-                    FluentFuture<Void> future =
+                    FluentFuture<?> future =
                         retryingTxRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION,
                             tx -> {
                                 tx.mergeParentStructurePut(path, deviceVtep);
@@ -919,9 +918,9 @@ public class ItmManagerRpcService implements ItmRpcService {
                                     tx.mergeParentStructurePut(path2, deviceVtep2);
                                 }
                             });
-                    future.addCallback(new FutureCallback<Void>() {
+                    future.addCallback(new FutureCallback<Object>() {
                         @Override
-                        public void onSuccess(Void voidInstance) {
+                        public void onSuccess(Object voidInstance) {
                             result.set(RpcResultBuilder.<AddL2GwMlagDeviceOutput>success().build());
                         }
 
@@ -965,7 +964,7 @@ public class ItmManagerRpcService implements ItmRpcService {
                     return result;
                 }
                 String transportZone = tzones.getTransportZone().get(0).getZoneName();
-                FluentFuture<Void> future =
+                FluentFuture<?> future =
                     retryingTxRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION,
                         tx -> {
                             DeviceVtepsKey deviceVtepKey = new DeviceVtepsKey(hwIp, nodeId.get(0));
@@ -985,10 +984,10 @@ public class ItmManagerRpcService implements ItmRpcService {
                         }
                     );
 
-                future.addCallback(new FutureCallback<Void>() {
+                future.addCallback(new FutureCallback<Object>() {
 
                     @Override
-                    public void onSuccess(Void voidInstance) {
+                    public void onSuccess(Object voidInstance) {
                         result.set(RpcResultBuilder.<DeleteL2GwMlagDeviceOutput>success().build());
                     }
 
index b54c62345510442b1aa7a558f487f112401c88b6..b2e7afcc8d7d8febf243e368d9d9fc5dabbef9ad 100644 (file)
@@ -23,9 +23,6 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.junit.MockitoJUnitRunner;
-import org.opendaylight.genius.infra.Datastore;
-import org.opendaylight.genius.infra.TypedReadWriteTransaction;
-import org.opendaylight.genius.infra.TypedWriteTransaction;
 import org.opendaylight.genius.itm.cache.DPNTEPsInfoCache;
 import org.opendaylight.genius.itm.cache.UnprocessedNodeConnectorEndPointCache;
 import org.opendaylight.genius.itm.confighelpers.HwVtep;
@@ -39,6 +36,9 @@ import org.opendaylight.infrautils.jobcoordinator.JobCoordinator;
 import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.mdsal.binding.api.ReadTransaction;
 import org.opendaylight.mdsal.binding.api.WriteTransaction;
+import org.opendaylight.mdsal.binding.util.Datastore;
+import org.opendaylight.mdsal.binding.util.TypedReadWriteTransaction;
+import org.opendaylight.mdsal.binding.util.TypedWriteTransaction;
 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;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix;
index bb6f61899a846ef46f2cc52cdac42b1a632ac2ca..aa318b754180f784b781335f7d3db83087e95da4 100644 (file)
@@ -27,15 +27,15 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.junit.MockitoJUnitRunner;
-import org.opendaylight.genius.infra.Datastore;
-import org.opendaylight.genius.infra.TypedReadWriteTransaction;
-import org.opendaylight.genius.infra.TypedWriteTransaction;
 import org.opendaylight.genius.itm.confighelpers.HwVtep;
 import org.opendaylight.genius.itm.confighelpers.ItmExternalTunnelDeleteWorker;
 import org.opendaylight.genius.itm.globals.ITMConstants;
 import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.mdsal.binding.api.ReadTransaction;
 import org.opendaylight.mdsal.binding.api.WriteTransaction;
+import org.opendaylight.mdsal.binding.util.Datastore;
+import org.opendaylight.mdsal.binding.util.TypedReadWriteTransaction;
+import org.opendaylight.mdsal.binding.util.TypedWriteTransaction;
 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;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix;
index 06981acabbaeb9142c9c4335f6d392984f2ef13d..17e5a559899990adc8ea4597fae5d8e0717030f4 100644 (file)
@@ -22,7 +22,6 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.junit.MockitoJUnitRunner;
-import org.opendaylight.genius.infra.TypedReadWriteTransaction;
 import org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager;
 import org.opendaylight.genius.interfacemanager.interfaces.InterfaceManagerService;
 import org.opendaylight.genius.itm.cache.DPNTEPsInfoCache;
@@ -42,6 +41,7 @@ import org.opendaylight.infrautils.jobcoordinator.JobCoordinator;
 import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.mdsal.binding.api.ReadTransaction;
 import org.opendaylight.mdsal.binding.api.WriteTransaction;
+import org.opendaylight.mdsal.binding.util.TypedReadWriteTransaction;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 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;
index 6b348c2a75a3b426ebbed1b4aa4f3845c6de159d..2fac0cf520bb36f7a91f5bad5d9afd06799a78b1 100644 (file)
@@ -25,9 +25,6 @@ import org.junit.rules.MethodRule;
 import org.opendaylight.genius.datastoreutils.testutils.JobCoordinatorEventsWaiter;
 import org.opendaylight.genius.datastoreutils.testutils.JobCoordinatorTestModule;
 import org.opendaylight.genius.datastoreutils.testutils.TestableDataTreeChangeListenerModule;
-import org.opendaylight.genius.infra.Datastore;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunner;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl;
 import org.opendaylight.genius.itm.impl.ItmUtils;
 import org.opendaylight.genius.itm.rpc.ItmManagerRpcService;
 import org.opendaylight.genius.itm.tests.xtend.ExpectedDeviceVtepsObjects;
@@ -37,6 +34,9 @@ import org.opendaylight.infrautils.caches.testutils.CacheModule;
 import org.opendaylight.infrautils.inject.guice.testutils.GuiceRule;
 import org.opendaylight.infrautils.testutils.LogRule;
 import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.util.Datastore;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunner;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunnerImpl;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 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.interfacemanager.rev160406.TunnelTypeMplsOverGre;
index e3e4e684d9027a51d4f552597089702be3285ae2..0abc40c06cbe6ff92ecea3ca85f64af1af19387b 100644 (file)
@@ -7,8 +7,8 @@
  */
 package org.opendaylight.genius.itm.tests;
 
-import static org.opendaylight.genius.infra.Datastore.CONFIGURATION;
 import static org.opendaylight.mdsal.binding.testutils.AssertDataObjects.assertEqualBeans;
+import static org.opendaylight.mdsal.binding.util.Datastore.CONFIGURATION;
 
 import com.google.common.util.concurrent.FluentFuture;
 import com.google.common.util.concurrent.ListenableFuture;
@@ -29,7 +29,6 @@ import org.opendaylight.genius.datastoreutils.SingleTransactionDataBroker;
 import org.opendaylight.genius.datastoreutils.testutils.JobCoordinatorEventsWaiter;
 import org.opendaylight.genius.datastoreutils.testutils.JobCoordinatorTestModule;
 import org.opendaylight.genius.datastoreutils.testutils.TestableDataTreeChangeListenerModule;
-import org.opendaylight.genius.infra.RetryingManagedNewTransactionRunner;
 import org.opendaylight.genius.itm.globals.ITMConstants;
 import org.opendaylight.genius.itm.impl.ItmProvider;
 import org.opendaylight.genius.itm.impl.ItmUtils;
@@ -40,6 +39,7 @@ import org.opendaylight.infrautils.caches.testutils.CacheModule;
 import org.opendaylight.infrautils.inject.guice.testutils.GuiceRule;
 import org.opendaylight.infrautils.testutils.LogRule;
 import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.util.RetryingManagedNewTransactionRunner;
 import org.opendaylight.mdsal.common.api.CommitInfo;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix;
@@ -118,8 +118,7 @@ public class ItmTepAutoConfigTest {
 
         // write into config DS
 
-        txRunner.callWithNewWriteOnlyTransactionAndSubmit(tx -> tx.merge(LogicalDatastoreType.CONFIGURATION,
-                        iid,itmConfigObj));
+        txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx -> tx.merge(iid, itmConfigObj));
         coordinatorEventsWaiter.awaitEventsConsumption();
 
         // read from config DS
@@ -138,8 +137,7 @@ public class ItmTepAutoConfigTest {
         //txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION,
           //  tx -> tx.put(iid, itmConfigObj, true));
 
-        txRunner.callWithNewWriteOnlyTransactionAndSubmit(tx -> tx.merge(LogicalDatastoreType.CONFIGURATION,
-                iid,itmConfigObj)).get();
+        txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx -> tx.merge(iid, itmConfigObj)).get();
 
         coordinatorEventsWaiter.awaitEventsConsumption();
 
@@ -174,8 +172,8 @@ public class ItmTepAutoConfigTest {
 
         InstanceIdentifier<TransportZone> tzPath =
                 ItmUtils.getTZInstanceIdentifier(ITMConstants.DEFAULT_TRANSPORT_ZONE);
-        txRunner.callWithNewWriteOnlyTransactionAndSubmit(tx ->
-                tx.mergeParentStructureMerge(LogicalDatastoreType.CONFIGURATION, tzPath,
+        txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx ->
+                tx.mergeParentStructureMerge(tzPath,
                         new TransportZoneBuilder().setZoneName(ITMConstants.DEFAULT_TRANSPORT_ZONE)
                         .setTunnelType(TunnelTypeGre.class)
                         .withKey(new TransportZoneKey(ITMConstants.DEFAULT_TRANSPORT_ZONE))
@@ -215,8 +213,8 @@ public class ItmTepAutoConfigTest {
 
         InstanceIdentifier<TransportZone> tzPath =
                 ItmUtils.getTZInstanceIdentifier(ITMConstants.DEFAULT_TRANSPORT_ZONE);
-        txRunner.callWithNewWriteOnlyTransactionAndSubmit(tx ->
-                tx.mergeParentStructureMerge(LogicalDatastoreType.CONFIGURATION, tzPath,
+        txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx ->
+                tx.mergeParentStructureMerge(tzPath,
                         new TransportZoneBuilder().setZoneName(ITMConstants.DEFAULT_TRANSPORT_ZONE)
                         .setTunnelType(TunnelTypeVxlan.class)
                         .withKey(new TransportZoneKey(ITMConstants.DEFAULT_TRANSPORT_ZONE))
@@ -235,8 +233,8 @@ public class ItmTepAutoConfigTest {
         defTzTunnelType = ITMConstants.TUNNEL_TYPE_GRE;
 
 
-        txRunner.callWithNewWriteOnlyTransactionAndSubmit(tx ->
-                tx.mergeParentStructureMerge(LogicalDatastoreType.CONFIGURATION, tzPath,
+        txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx ->
+                tx.mergeParentStructureMerge(tzPath,
                         new TransportZoneBuilder().setZoneName(ITMConstants.DEFAULT_TRANSPORT_ZONE)
                         .setTunnelType(TunnelTypeGre.class)
                         .withKey(new TransportZoneKey(ITMConstants.DEFAULT_TRANSPORT_ZONE))
@@ -267,8 +265,8 @@ public class ItmTepAutoConfigTest {
 
         InstanceIdentifier<TransportZone> tzPath =
                 ItmUtils.getTZInstanceIdentifier(ITMConstants.DEFAULT_TRANSPORT_ZONE);
-        txRunner.callWithNewWriteOnlyTransactionAndSubmit(tx ->
-                tx.mergeParentStructureMerge(LogicalDatastoreType.CONFIGURATION, tzPath,
+        txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx ->
+                tx.mergeParentStructureMerge(tzPath,
                         new TransportZoneBuilder().setZoneName(ITMConstants.DEFAULT_TRANSPORT_ZONE)
                         .setTunnelType(TunnelTypeGre.class)
                         .withKey(new TransportZoneKey(ITMConstants.DEFAULT_TRANSPORT_ZONE))
@@ -300,8 +298,8 @@ public class ItmTepAutoConfigTest {
 
         InstanceIdentifier<TransportZone> tzPath =
                 ItmUtils.getTZInstanceIdentifier(ITMConstants.DEFAULT_TRANSPORT_ZONE);
-        txRunner.callWithNewWriteOnlyTransactionAndSubmit(tx ->
-                tx.mergeParentStructureMerge(LogicalDatastoreType.CONFIGURATION, tzPath,
+        txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx ->
+                tx.mergeParentStructureMerge(tzPath,
                         new TransportZoneBuilder().setZoneName(ITMConstants.DEFAULT_TRANSPORT_ZONE)
                         .setTunnelType(TunnelTypeVxlan.class)
                         .withKey(new TransportZoneKey(ITMConstants.DEFAULT_TRANSPORT_ZONE))
@@ -314,7 +312,7 @@ public class ItmTepAutoConfigTest {
         IpPrefix subnetMaskObj = ItmUtils.getDummySubnet();
 
         // add TEP into default-TZ
-        ListenableFuture<Void> futures =
+        ListenableFuture<?> futures =
                 ItmTepAutoConfigTestUtil.addTep(ItmTestConstants.DEF_TZ_TEP_IP,
                         ItmTestConstants.DEF_BR_DPID,
                         ITMConstants.DEFAULT_TRANSPORT_ZONE, false, dataBroker, txRunner);
@@ -350,15 +348,15 @@ public class ItmTepAutoConfigTest {
 
         // create TZA
         InstanceIdentifier<TransportZone> tzPath = ItmUtils.getTZInstanceIdentifier(ItmTestConstants.TZ_NAME);
-        txRunner.callWithNewWriteOnlyTransactionAndSubmit(tx ->
-                tx.mergeParentStructureMerge(LogicalDatastoreType.CONFIGURATION, tzPath, transportZone)).get();
+        txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx ->
+                tx.mergeParentStructureMerge(tzPath, transportZone)).get();
 
         // check TZ is created with correct TZ name
         Assert.assertEquals(ItmTestConstants.TZ_NAME, dataBroker.newReadOnlyTransaction()
                 .read(LogicalDatastoreType.CONFIGURATION, tzonePath).get().get().getZoneName());
 
         // add tep
-        ListenableFuture<Void> futures = ItmTepAutoConfigTestUtil.addTep(ItmTestConstants.NB_TZ_TEP_IP,
+        ListenableFuture<?> futures = ItmTepAutoConfigTestUtil.addTep(ItmTestConstants.NB_TZ_TEP_IP,
                 ItmTestConstants.DEF_BR_DPID, ItmTestConstants.TZ_NAME, false, dataBroker, txRunner);
         futures.get();
 
@@ -403,8 +401,8 @@ public class ItmTepAutoConfigTest {
 
         InstanceIdentifier<TransportZone> tzPath =
                 ItmUtils.getTZInstanceIdentifier(ITMConstants.DEFAULT_TRANSPORT_ZONE);
-        txRunner.callWithNewWriteOnlyTransactionAndSubmit(tx ->
-                tx.mergeParentStructureMerge(LogicalDatastoreType.CONFIGURATION, tzPath,
+        txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx ->
+                tx.mergeParentStructureMerge(tzPath,
                         new TransportZoneBuilder().setZoneName(ITMConstants.DEFAULT_TRANSPORT_ZONE)
                         .setTunnelType(ItmTestConstants.TUNNEL_TYPE_VXLAN)
                         .withKey(new TransportZoneKey(ITMConstants.DEFAULT_TRANSPORT_ZONE))
@@ -461,8 +459,8 @@ public class ItmTepAutoConfigTest {
 
         // create Transport-zone in advance
         InstanceIdentifier<TransportZone> tzPath = ItmUtils.getTZInstanceIdentifier(ItmTestConstants.TZ_NAME);
-        txRunner.callWithNewWriteOnlyTransactionAndSubmit(tx ->
-                tx.mergeParentStructureMerge(LogicalDatastoreType.CONFIGURATION, tzPath, transportZone)).get();
+        txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx ->
+                tx.mergeParentStructureMerge(tzPath, transportZone)).get();
 
         // add bridge into node
         future = OvsdbTestUtil.addBridgeIntoNode(connInfo, ItmTestConstants.DEF_BR_NAME,
@@ -551,8 +549,8 @@ public class ItmTepAutoConfigTest {
 
         InstanceIdentifier<TransportZone> tzPath =
                 ItmUtils.getTZInstanceIdentifier(ITMConstants.DEFAULT_TRANSPORT_ZONE);
-        txRunner.callWithNewWriteOnlyTransactionAndSubmit(tx ->
-                tx.mergeParentStructureMerge(LogicalDatastoreType.CONFIGURATION, tzPath,
+        txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx ->
+                tx.mergeParentStructureMerge(tzPath,
                         new TransportZoneBuilder().setZoneName(ITMConstants.DEFAULT_TRANSPORT_ZONE)
                         .setTunnelType(ItmTestConstants.TUNNEL_TYPE_VXLAN)
                         .withKey(new TransportZoneKey(ITMConstants.DEFAULT_TRANSPORT_ZONE))
@@ -639,8 +637,8 @@ public class ItmTepAutoConfigTest {
 
         // create Transport-zone TZA
         InstanceIdentifier<TransportZone> tzPath = ItmUtils.getTZInstanceIdentifier(ItmTestConstants.TZ_NAME);
-        txRunner.callWithNewWriteOnlyTransactionAndSubmit(tx ->
-                tx.mergeParentStructureMerge(LogicalDatastoreType.CONFIGURATION, tzPath, transportZone)).get();
+        txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx ->
+                tx.mergeParentStructureMerge(tzPath, transportZone)).get();
         // iid for TZA configured from NB
         InstanceIdentifier<TransportZone> tzaTzonePath = ItmTepAutoConfigTestUtil.getTzIid(
                 ItmTestConstants.TZ_NAME);
@@ -677,8 +675,8 @@ public class ItmTepAutoConfigTest {
 
         // create Transport-zone in advance
         InstanceIdentifier<TransportZone> tzPath = ItmUtils.getTZInstanceIdentifier(ItmTestConstants.TZ_NAME);
-        txRunner.callWithNewWriteOnlyTransactionAndSubmit(tx ->
-                tx.mergeParentStructureMerge(LogicalDatastoreType.CONFIGURATION, tzPath, transportZone)).get();
+        txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx ->
+                tx.mergeParentStructureMerge(tzPath, transportZone)).get();
 
         // add bridge into node
         future = OvsdbTestUtil.addBridgeIntoNode(connInfo, ItmTestConstants.DEF_BR_NAME,
@@ -739,7 +737,7 @@ public class ItmTepAutoConfigTest {
     @Test
     public void tepAddIntoTepsNotHostedListTest() throws Exception {
         // add into not hosted list
-        ListenableFuture<Void> future = ItmTepAutoConfigTestUtil.addTep(ItmTestConstants.NOT_HOSTED_TZ_TEP_IP,
+        ListenableFuture<?> future = ItmTepAutoConfigTestUtil.addTep(ItmTestConstants.NOT_HOSTED_TZ_TEP_IP,
                 ItmTestConstants.NOT_HOSTED_TZ_TEPDPN_ID, ItmTestConstants.NOT_HOSTED_TZ_NAME,
                 false, dataBroker, txRunner);
         future.get();
@@ -755,7 +753,7 @@ public class ItmTepAutoConfigTest {
     @Test
     public void tepDeleteFromTepsNotHostedListTest() throws Exception {
         // add into not hosted list
-        ListenableFuture<Void> future = ItmTepAutoConfigTestUtil.addTep(ItmTestConstants.NOT_HOSTED_TZ_TEP_IP,
+        ListenableFuture<?> future = ItmTepAutoConfigTestUtil.addTep(ItmTestConstants.NOT_HOSTED_TZ_TEP_IP,
                 ItmTestConstants.NOT_HOSTED_TZ_TEPDPN_ID, ItmTestConstants.NOT_HOSTED_TZ_NAME,
                 false, dataBroker, txRunner);
         future.get();
@@ -780,7 +778,7 @@ public class ItmTepAutoConfigTest {
     @Test
     public void tepMoveFromTepsNotHostedListToTzTest() throws Exception {
         // add into not hosted list
-        ListenableFuture<Void> future = ItmTepAutoConfigTestUtil.addTep(ItmTestConstants.NOT_HOSTED_TZ_TEP_IP,
+        ListenableFuture<?> future = ItmTepAutoConfigTestUtil.addTep(ItmTestConstants.NOT_HOSTED_TZ_TEP_IP,
                 ItmTestConstants.NOT_HOSTED_TZ_TEPDPN_ID, ItmTestConstants.NOT_HOSTED_TZ_NAME,
                 false, dataBroker, txRunner);
         future.get();
@@ -834,8 +832,8 @@ public class ItmTepAutoConfigTest {
     public void tzDeletedAndReaddedTest() throws Exception {
         // create TZ
         InstanceIdentifier<TransportZone> tzPath = ItmUtils.getTZInstanceIdentifier(ItmTestConstants.TZ_NAME);
-        txRunner.callWithNewWriteOnlyTransactionAndSubmit(tx ->
-                tx.mergeParentStructureMerge(LogicalDatastoreType.CONFIGURATION, tzPath, transportZone)).get();
+        txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx ->
+                tx.mergeParentStructureMerge(tzPath, transportZone)).get();
 
         InstanceIdentifier<TransportZone> tzonePath = ItmTepAutoConfigTestUtil.getTzIid(
                 ItmTestConstants.TZ_NAME);
@@ -846,7 +844,7 @@ public class ItmTepAutoConfigTest {
                 .read(LogicalDatastoreType.CONFIGURATION, tzonePath).get().get().getZoneName());
 
         // add tep
-        ListenableFuture<Void> futures =
+        ListenableFuture<?> futures =
                 ItmTepAutoConfigTestUtil.addTep(ItmTestConstants.NB_TZ_TEP_IP,
                         ItmTestConstants.DEF_BR_DPID, ItmTestConstants.TZ_NAME, false, dataBroker, txRunner);
         futures.get();
@@ -863,8 +861,7 @@ public class ItmTepAutoConfigTest {
                         .read(LogicalDatastoreType.CONFIGURATION, tzonePath).get().get());
 
         // remove Transport Zone
-        txRunner.callWithNewWriteOnlyTransactionAndSubmit(tx -> tx.delete(LogicalDatastoreType.CONFIGURATION,
-                tzPath));
+        txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx -> tx.delete(tzPath));
 
         // wait for TransportZoneListener to perform config DS update
         // for TEP movement through transaction
@@ -882,8 +879,8 @@ public class ItmTepAutoConfigTest {
                 .read(LogicalDatastoreType.OPERATIONAL, notHostedPath).get().get().getZoneName());
 
         //readd the same tz
-        txRunner.callWithNewWriteOnlyTransactionAndSubmit(tx ->
-                tx.mergeParentStructureMerge(LogicalDatastoreType.CONFIGURATION, tzPath, transportZone)).get();
+        txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx ->
+                tx.mergeParentStructureMerge(tzPath, transportZone)).get();
         // wait for TransportZoneListener to perform config DS update
         // for TEP movement through transaction
         coordinatorEventsWaiter.awaitEventsConsumption();
@@ -901,8 +898,8 @@ public class ItmTepAutoConfigTest {
     public void tzDeletedAndReaddedWithSameVtepsTest() throws Exception {
         // create TZ
         InstanceIdentifier<TransportZone> tzPath = ItmUtils.getTZInstanceIdentifier(ItmTestConstants.TZ_NAME);
-        txRunner.callWithNewWriteOnlyTransactionAndSubmit(tx ->
-                tx.mergeParentStructureMerge(LogicalDatastoreType.CONFIGURATION, tzPath, transportZone)).get();
+        txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx ->
+                tx.mergeParentStructureMerge(tzPath, transportZone)).get();
 
         coordinatorEventsWaiter.awaitEventsConsumption();
 
@@ -915,7 +912,7 @@ public class ItmTepAutoConfigTest {
                 .read(LogicalDatastoreType.CONFIGURATION, tzonePath).get().get().getZoneName());
 
         // add tep
-        ListenableFuture<Void> futures =
+        ListenableFuture<?> futures =
                 ItmTepAutoConfigTestUtil.addTep(ItmTestConstants.NB_TZ_TEP_IP,
                         ItmTestConstants.DEF_BR_DPID, ItmTestConstants.TZ_NAME, false, dataBroker, txRunner);
         futures.get();
@@ -933,8 +930,7 @@ public class ItmTepAutoConfigTest {
                         .read(LogicalDatastoreType.CONFIGURATION, tzonePath).get().get());
 
         // remove Transport Zone
-        txRunner.callWithNewWriteOnlyTransactionAndSubmit(tx -> tx.delete(LogicalDatastoreType.CONFIGURATION,
-                tzPath));
+        txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx -> tx.delete(tzPath));
 
         // wait for TransportZoneListener to perform config DS update
         // for TEP movement through transaction
@@ -968,8 +964,8 @@ public class ItmTepAutoConfigTest {
                 .setTunnelType(ItmTestConstants.TUNNEL_TYPE_VXLAN).setVteps(vtepsList)
                 .withKey(new TransportZoneKey(ItmTestConstants.TZ_NAME)).build();
 
-        txRunner.callWithNewWriteOnlyTransactionAndSubmit(tx ->
-                tx.mergeParentStructureMerge(LogicalDatastoreType.CONFIGURATION, tzPath, recreatedTransportZone)).get();
+        txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx ->
+                tx.mergeParentStructureMerge(tzPath, recreatedTransportZone)).get();
 
         // wait for TransportZoneListener to perform config DS update
         // for TEP movement through transaction
@@ -989,8 +985,8 @@ public class ItmTepAutoConfigTest {
     public void tzReaddWithSameVtepsAndDiffDpnIDTest() throws Exception {
         // create TZ
         InstanceIdentifier<TransportZone> tzPath = ItmUtils.getTZInstanceIdentifier(ItmTestConstants.TZ_NAME);
-        txRunner.callWithNewWriteOnlyTransactionAndSubmit(tx ->
-                tx.mergeParentStructureMerge(LogicalDatastoreType.CONFIGURATION, tzPath, transportZone)).get();
+        txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx ->
+                tx.mergeParentStructureMerge(tzPath, transportZone)).get();
 
         InstanceIdentifier<TransportZone> tzonePath = ItmTepAutoConfigTestUtil.getTzIid(
                 ItmTestConstants.TZ_NAME);
@@ -1001,7 +997,7 @@ public class ItmTepAutoConfigTest {
                 .read(LogicalDatastoreType.CONFIGURATION, tzonePath).get().get().getZoneName());
 
         // add tep
-        ListenableFuture<Void> futures =
+        ListenableFuture<?> futures =
                 ItmTepAutoConfigTestUtil.addTep(ItmTestConstants.NB_TZ_TEP_IP,
                         ItmTestConstants.DEF_BR_DPID, ItmTestConstants.TZ_NAME, false, dataBroker, txRunner);
         futures.get();
@@ -1018,8 +1014,7 @@ public class ItmTepAutoConfigTest {
                         .read(LogicalDatastoreType.CONFIGURATION, tzonePath).get().get());
 
         // remove Transport Zone
-        txRunner.callWithNewWriteOnlyTransactionAndSubmit(tx -> tx.delete(LogicalDatastoreType.CONFIGURATION,
-                tzPath));
+        txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx -> tx.delete(tzPath));
 
         // wait for TransportZoneListener to perform config DS update
         // for TEP movement through transaction
@@ -1053,8 +1048,8 @@ public class ItmTepAutoConfigTest {
                 .setTunnelType(ItmTestConstants.TUNNEL_TYPE_VXLAN).setVteps(vtepsList)
                 .withKey(new TransportZoneKey(ItmTestConstants.TZ_NAME)).build();
 
-        txRunner.callWithNewWriteOnlyTransactionAndSubmit(tx ->
-                tx.mergeParentStructureMerge(LogicalDatastoreType.CONFIGURATION, tzPath, recreatedTransportZone)).get();
+        txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx ->
+                tx.mergeParentStructureMerge(tzPath, recreatedTransportZone)).get();
 
         // wait for TransportZoneListener to perform config DS update
         // for TEP movement through transaction
index 6368dd90f47322d6dfe3801fc151f5cbb8347f8f..ed8856617e3c82838e575d76ad1df438acbf1164 100644 (file)
@@ -10,11 +10,11 @@ package org.opendaylight.genius.itm.tests;
 import com.google.common.util.concurrent.FluentFuture;
 import com.google.common.util.concurrent.ListenableFuture;
 import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.genius.infra.ManagedNewTransactionRunner;
 import org.opendaylight.genius.itm.confighelpers.OvsdbTepAddConfigHelper;
 import org.opendaylight.genius.itm.confighelpers.OvsdbTepRemoveConfigHelper;
 import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.mdsal.binding.api.WriteTransaction;
+import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunner;
 import org.opendaylight.mdsal.common.api.CommitInfo;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix;
@@ -36,14 +36,14 @@ public final class ItmTepAutoConfigTestUtil {
     }
 
     /* transaction methods */
-    public static ListenableFuture<Void> addTep(String tepIp, String strDpnId, String tzName, boolean ofTunnel,
+    public static ListenableFuture<?> addTep(String tepIp, String strDpnId, String tzName, boolean ofTunnel,
                                                 DataBroker dataBroker, ManagedNewTransactionRunner tx)
                                                 throws Exception {
         return
             OvsdbTepAddConfigHelper.addTepReceivedFromOvsdb(tepIp, strDpnId, tzName, ofTunnel, dataBroker, tx).get(0);
     }
 
-    public static ListenableFuture<Void> deleteTep(String tepIp, String strDpnId, String tzName,
+    public static ListenableFuture<?> deleteTep(String tepIp, String strDpnId, String tzName,
                                                    DataBroker dataBroker, ManagedNewTransactionRunner tx) {
         return OvsdbTepRemoveConfigHelper.removeTepReceivedFromOvsdb(tepIp, strDpnId, tzName, dataBroker, tx).get(0);
     }
index 3a6c6043505dac89fc599a9cfb01a9de76cbf18b..37502e5ca68aa7fc1be5f934866674163e94f62a 100644 (file)
@@ -10,11 +10,11 @@ package org.opendaylight.genius.mdsalutil.interfaces;
 import com.google.common.util.concurrent.FluentFuture;
 import com.google.common.util.concurrent.ListenableFuture;
 import java.util.concurrent.ExecutionException;
-import org.opendaylight.genius.infra.Datastore.Configuration;
-import org.opendaylight.genius.infra.TypedReadWriteTransaction;
-import org.opendaylight.genius.infra.TypedWriteTransaction;
 import org.opendaylight.genius.mdsalutil.FlowEntity;
 import org.opendaylight.genius.mdsalutil.GroupEntity;
+import org.opendaylight.mdsal.binding.util.Datastore.Configuration;
+import org.opendaylight.mdsal.binding.util.TypedReadWriteTransaction;
+import org.opendaylight.mdsal.binding.util.TypedWriteTransaction;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.Flow;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.FlowKey;
@@ -32,7 +32,7 @@ public interface IMdsalApiManager {
      * @return
      */
     @Deprecated
-    FluentFuture<Void> installFlow(FlowEntity flowEntity);
+    FluentFuture<?> installFlow(FlowEntity flowEntity);
 
     /**
      * Adds a flow.
@@ -43,7 +43,7 @@ public interface IMdsalApiManager {
      * @return
      */
     @Deprecated
-    FluentFuture<Void> installFlow(Uint64 dpId, Flow flowEntity);
+    FluentFuture<?> installFlow(Uint64 dpId, Flow flowEntity);
 
     /**
      * Adds a flow.
@@ -54,7 +54,7 @@ public interface IMdsalApiManager {
      * @return
      */
     @Deprecated
-    FluentFuture<Void> installFlow(Uint64 dpId, FlowEntity flowEntity);
+    FluentFuture<?> installFlow(Uint64 dpId, FlowEntity flowEntity);
 
     /**
      * Adds the given flow.
@@ -83,7 +83,7 @@ public interface IMdsalApiManager {
      * @return
      */
     @Deprecated
-    ListenableFuture<Void> removeFlow(Uint64 dpId, short tableId, FlowId flowId);
+    ListenableFuture<?> removeFlow(Uint64 dpId, short tableId, FlowId flowId);
 
     /**
      * Removes a flow.
@@ -93,7 +93,7 @@ public interface IMdsalApiManager {
      * @return
      */
     @Deprecated
-    FluentFuture<Void> removeFlow(FlowEntity flowEntity);
+    FluentFuture<?> removeFlow(FlowEntity flowEntity);
 
     /**
      * Removes a flow.
@@ -101,7 +101,7 @@ public interface IMdsalApiManager {
      * @deprecated Use {@link #removeFlow(TypedReadWriteTransaction, Uint64, Flow)}.
      */
     @Deprecated
-    FluentFuture<Void> removeFlow(Uint64 dpId, Flow flowEntity);
+    FluentFuture<?> removeFlow(Uint64 dpId, Flow flowEntity);
 
     /**
      * Removes the given flow.
index 5533ccb85a69d192865ce516200a7dca3de7b714..9cac95ed899a2b5cfec30557acd90cb1477135d7 100644 (file)
@@ -27,12 +27,12 @@ import java.util.Map;
 import java.util.Objects;
 import org.junit.ComparisonFailure;
 import org.mockito.Mockito;
-import org.opendaylight.genius.infra.Datastore.Configuration;
-import org.opendaylight.genius.infra.TypedReadWriteTransaction;
-import org.opendaylight.genius.infra.TypedWriteTransaction;
 import org.opendaylight.genius.mdsalutil.FlowEntity;
 import org.opendaylight.genius.mdsalutil.GroupEntity;
 import org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager;
+import org.opendaylight.mdsal.binding.util.Datastore.Configuration;
+import org.opendaylight.mdsal.binding.util.TypedReadWriteTransaction;
+import org.opendaylight.mdsal.binding.util.TypedWriteTransaction;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.Flow;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.FlowKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.buckets.Bucket;
index 1f93bb0692fe5f40d2f32c4c9668e93845fd14bc..3b972ea834f03eecdaa6a5c534b36e84702f0b8c 100644 (file)
@@ -5,7 +5,6 @@
  * 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.mdsalutil.internal;
 
 import static org.opendaylight.infrautils.utils.concurrent.Executors.newListeningSingleThreadExecutor;
@@ -26,12 +25,6 @@ import java.util.concurrent.ExecutorService;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.opendaylight.genius.datastoreutils.SingleTransactionDataBroker;
-import org.opendaylight.genius.infra.Datastore;
-import org.opendaylight.genius.infra.Datastore.Configuration;
-import org.opendaylight.genius.infra.RetryingManagedNewTransactionRunner;
-import org.opendaylight.genius.infra.TypedReadTransaction;
-import org.opendaylight.genius.infra.TypedReadWriteTransaction;
-import org.opendaylight.genius.infra.TypedWriteTransaction;
 import org.opendaylight.genius.mdsalutil.FlowEntity;
 import org.opendaylight.genius.mdsalutil.FlowInfoKey;
 import org.opendaylight.genius.mdsalutil.GroupEntity;
@@ -43,7 +36,12 @@ import org.opendaylight.infrautils.utils.concurrent.Executors;
 import org.opendaylight.infrautils.utils.concurrent.NamedLocks;
 import org.opendaylight.infrautils.utils.concurrent.NamedSimpleReentrantLock.Acquired;
 import org.opendaylight.mdsal.binding.api.DataBroker;
-import org.opendaylight.mdsal.binding.api.WriteTransaction;
+import org.opendaylight.mdsal.binding.util.Datastore;
+import org.opendaylight.mdsal.binding.util.Datastore.Configuration;
+import org.opendaylight.mdsal.binding.util.RetryingManagedNewTransactionRunner;
+import org.opendaylight.mdsal.binding.util.TypedReadTransaction;
+import org.opendaylight.mdsal.binding.util.TypedReadWriteTransaction;
+import org.opendaylight.mdsal.binding.util.TypedWriteTransaction;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.mdsal.common.api.OptimisticLockFailedException;
 import org.opendaylight.serviceutils.tools.listener.AbstractClusteredAsyncDataTreeChangeListener;
@@ -192,13 +190,13 @@ public class MDSALManager extends AbstractLifecycle implements IMdsalApiManager
     }
 
     @VisibleForTesting
-    FluentFuture<Void> installFlowInternal(FlowEntity flowEntity) {
+    FluentFuture<?> installFlowInternal(FlowEntity flowEntity) {
         return addCallBackForInstallFlowAndReturn(txRunner
             .callWithNewWriteOnlyTransactionAndSubmit(Datastore.CONFIGURATION,
                 tx -> writeFlowEntityInternal(flowEntity, tx)));
     }
 
-    private FluentFuture<Void> installFlowInternal(Uint64 dpId, Flow flow) {
+    private FluentFuture<?> installFlowInternal(Uint64 dpId, Flow flow) {
         return txRunner.callWithNewWriteOnlyTransactionAndSubmit(Datastore.CONFIGURATION,
             tx -> writeFlowInternal(dpId, flow, tx));
     }
@@ -221,7 +219,7 @@ public class MDSALManager extends AbstractLifecycle implements IMdsalApiManager
     }
 
     @VisibleForTesting
-    FluentFuture<Void> installGroupInternal(GroupEntity groupEntity) {
+    FluentFuture<?> installGroupInternal(GroupEntity groupEntity) {
         return addCallBackForInstallGroupAndReturn(txRunner
             .callWithNewWriteOnlyTransactionAndSubmit(Datastore.CONFIGURATION,
                 tx -> writeGroupEntityInternal(groupEntity, tx)));
@@ -236,7 +234,7 @@ public class MDSALManager extends AbstractLifecycle implements IMdsalApiManager
     }
 
     @VisibleForTesting
-    FluentFuture<Void> removeFlowInternal(FlowEntity flowEntity) {
+    FluentFuture<?> removeFlowInternal(FlowEntity flowEntity) {
         return addCallBackForDeleteFlowAndReturn(txRunner
                 .callWithNewWriteOnlyTransactionAndSubmit(Datastore.CONFIGURATION,
                     tx -> deleteFlowEntityInternal(flowEntity, tx)));
@@ -249,15 +247,6 @@ public class MDSALManager extends AbstractLifecycle implements IMdsalApiManager
         deleteFlow(dpId, tableId, flowKey, tx);
     }
 
-    private void deleteFlow(Uint64 dpId, short tableId, FlowKey flowKey, WriteTransaction tx) {
-        if (flowExists(dpId, tableId, flowKey)) {
-            InstanceIdentifier<Flow> flowInstanceId = buildFlowInstanceIdentifier(dpId, tableId, flowKey);
-            tx.delete(LogicalDatastoreType.CONFIGURATION, flowInstanceId);
-        } else {
-            LOG.debug("Flow {} does not exist for dpn {}", flowKey, dpId);
-        }
-    }
-
     private void deleteFlow(Uint64 dpId, short tableId, FlowKey flowKey,
                             TypedWriteTransaction<Datastore.Configuration> tx) {
         if (flowExists(dpId, tableId, flowKey)) {
@@ -268,7 +257,7 @@ public class MDSALManager extends AbstractLifecycle implements IMdsalApiManager
         }
     }
 
-    private FluentFuture<Void> removeFlowNewInternal(Uint64 dpnId, Flow flowEntity) {
+    private FluentFuture<?> removeFlowNewInternal(Uint64 dpnId, Flow flowEntity) {
         LOG.debug("Remove flow {}", flowEntity);
         return txRunner.callWithNewWriteOnlyTransactionAndSubmit(Datastore.CONFIGURATION,
             tx -> {
@@ -279,7 +268,7 @@ public class MDSALManager extends AbstractLifecycle implements IMdsalApiManager
     }
 
     @VisibleForTesting
-    FluentFuture<Void> removeGroupInternal(Uint64 dpnId, long groupId) {
+    FluentFuture<?> removeGroupInternal(Uint64 dpnId, long groupId) {
         return addCallBackForInstallGroupAndReturn(txRunner
             .callWithNewWriteOnlyTransactionAndSubmit(Datastore.CONFIGURATION,
                 tx -> removeGroupInternal(dpnId, groupId, tx)));
@@ -457,28 +446,28 @@ public class MDSALManager extends AbstractLifecycle implements IMdsalApiManager
     }
 
     @Override
-    public FluentFuture<Void> installFlow(FlowEntity flowEntity) {
+    public FluentFuture<?> installFlow(FlowEntity flowEntity) {
         return installFlowInternal(flowEntity);
     }
 
     @Override
-    public FluentFuture<Void> installFlow(Uint64 dpId, Flow flowEntity) {
+    public FluentFuture<?> installFlow(Uint64 dpId, Flow flowEntity) {
         return installFlowInternal(dpId, flowEntity);
     }
 
     @Override
-    public FluentFuture<Void> installFlow(Uint64 dpId, FlowEntity flowEntity) {
+    public FluentFuture<?> installFlow(Uint64 dpId, FlowEntity flowEntity) {
         return installFlowInternal(dpId, flowEntity.getFlowBuilder().build());
     }
 
     @Override
-    public ListenableFuture<Void> removeFlow(Uint64 dpId, short tableId, FlowId flowId) {
-        ListenableFuture<Void> future = txRunner.callWithNewWriteOnlyTransactionAndSubmit(
+    public ListenableFuture<?> removeFlow(Uint64 dpId, short tableId, FlowId flowId) {
+        ListenableFuture<?> future = txRunner.callWithNewWriteOnlyTransactionAndSubmit(Datastore.CONFIGURATION,
             tx -> deleteFlow(dpId, tableId, new FlowKey(flowId), tx));
 
-        Futures.addCallback(future, new FutureCallback<Void>() {
+        Futures.addCallback(future, new FutureCallback<Object>() {
             @Override
-            public void onSuccess(final Void result) {
+            public void onSuccess(final Object result) {
                 // Committed successfully
                 LOG.debug("Delete Flow -- Committed successfully");
             }
@@ -502,12 +491,12 @@ public class MDSALManager extends AbstractLifecycle implements IMdsalApiManager
     }
 
     @Override
-    public FluentFuture<Void> removeFlow(Uint64 dpId, Flow flowEntity) {
+    public FluentFuture<?> removeFlow(Uint64 dpId, Flow flowEntity) {
         return removeFlowNewInternal(dpId, flowEntity);
     }
 
     @Override
-    public FluentFuture<Void> removeFlow(FlowEntity flowEntity) {
+    public FluentFuture<?> removeFlow(FlowEntity flowEntity) {
         return removeFlowInternal(flowEntity);
     }
 
@@ -702,23 +691,23 @@ public class MDSALManager extends AbstractLifecycle implements IMdsalApiManager
         return bucketInstanceId;
     }
 
-    private static FluentFuture<Void> addCallBackForDeleteFlowAndReturn(FluentFuture<Void> fluentFuture) {
+    private static FluentFuture<?> addCallBackForDeleteFlowAndReturn(FluentFuture<?> fluentFuture) {
         return callBack(fluentFuture, "Delete Flow");
     }
 
-    private static FluentFuture<Void> addCallBackForInstallFlowAndReturn(FluentFuture<Void> fluentFuture) {
+    private static FluentFuture<?> addCallBackForInstallFlowAndReturn(FluentFuture<?> fluentFuture) {
         return callBack(fluentFuture, "Install Flow");
     }
 
-    private static FluentFuture<Void> addCallBackForInstallGroupAndReturn(FluentFuture<Void> fluentFuture) {
+    private static FluentFuture<?> addCallBackForInstallGroupAndReturn(FluentFuture<?> fluentFuture) {
         return callBack(fluentFuture, "Install Group");
     }
 
     // Generic for handling callbacks
-    private static FluentFuture<Void> callBack(FluentFuture<Void> fluentFuture, String log) {
-        fluentFuture.addCallback(new FutureCallback<Void>() {
+    private static FluentFuture<?> callBack(FluentFuture<?> fluentFuture, String log) {
+        fluentFuture.addCallback(new FutureCallback<Object>() {
             @Override
-            public void onSuccess(final Void result) {
+            public void onSuccess(final Object result) {
                 // Committed successfully
                 LOG.debug("{} -- Committedsuccessfully ", log);
             }
index 71949af4b1d14b599d59d76456a4d720432dfc09..540501d6a6e53e99c06a4eb4e9a1752f0d3d621e 100644 (file)
@@ -44,13 +44,14 @@ import org.opendaylight.genius.datastoreutils.SingleTransactionDataBroker;
 import org.opendaylight.genius.datastoreutils.listeners.DataTreeEventCallbackRegistrar;
 import org.opendaylight.genius.datastoreutils.listeners.DataTreeEventCallbackRegistrar.NextAction;
 import org.opendaylight.genius.datastoreutils.listeners.internal.DataTreeEventCallbackRegistrarImpl;
-import org.opendaylight.genius.infra.RetryingManagedNewTransactionRunner;
 import org.opendaylight.infrautils.testutils.LogCaptureRule;
 import org.opendaylight.infrautils.testutils.LogRule;
 import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.mdsal.binding.api.DataTreeChangeListener;
 import org.opendaylight.mdsal.binding.api.DataTreeIdentifier;
 import org.opendaylight.mdsal.binding.dom.adapter.test.AbstractConcurrentDataBrokerTest;
+import org.opendaylight.mdsal.binding.util.Datastore;
+import org.opendaylight.mdsal.binding.util.RetryingManagedNewTransactionRunner;
 import org.opendaylight.mdsal.common.api.TransactionCommitFailedException;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.test.list.rev140701.two.level.list.TopLevelList;
 import org.opendaylight.yangtools.concepts.ListenerRegistration;
@@ -301,8 +302,8 @@ public class DataTreeEventCallbackRegistrarTest {
         ArgumentCaptor<Runnable> timerTask = ArgumentCaptor.forClass(Runnable.class);
         verify(mockScheduler).schedule(timerTask.capture(), eq(timeout.toMillis()), eq(TimeUnit.MILLISECONDS));
 
-        new RetryingManagedNewTransactionRunner(db, 1).callWithNewWriteOnlyTransactionAndSubmit(
-            tx -> tx.mergeParentStructurePut(OPERATIONAL, FOO_PATH, FOO_DATA));
+        new RetryingManagedNewTransactionRunner(db, 1).callWithNewWriteOnlyTransactionAndSubmit(Datastore.OPERATIONAL,
+            tx -> tx.mergeParentStructurePut(FOO_PATH, FOO_DATA));
 
         // Wait for the change notification callback to be invoked.
 
@@ -382,8 +383,8 @@ public class DataTreeEventCallbackRegistrarTest {
             return null;
         }).when(mockListener).onDataTreeChanged(anyCollection());
 
-        new RetryingManagedNewTransactionRunner(db, 1).callWithNewWriteOnlyTransactionAndSubmit(
-            tx -> tx.mergeParentStructurePut(OPERATIONAL, FOO_PATH, FOO_DATA));
+        new RetryingManagedNewTransactionRunner(db, 1).callWithNewWriteOnlyTransactionAndSubmit(Datastore.OPERATIONAL,
+            tx -> tx.mergeParentStructurePut(FOO_PATH, FOO_DATA));
 
         await().untilTrue(onDataTreeChangeDone);
         assertThat(updated.get()).isFalse();