From f3ff3d985f240f5ce3c6ac0c916cffa57f2d21ca Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Tue, 4 Aug 2020 16:37:22 +0200 Subject: [PATCH] Use mdsal-binding-util to get ManagedNewTransactionRunner This class has been upstreamed to mdsal, use it from there. JIRA: GENIUS-296 Change-Id: I1e201b631d932dd248e798338716e9bad090e326 Signed-off-by: Robert Varga --- .../lockmanager/impl/LockManagerServiceImpl.java | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/lockmanager/lockmanager-impl/src/main/java/org/opendaylight/genius/lockmanager/impl/LockManagerServiceImpl.java b/lockmanager/lockmanager-impl/src/main/java/org/opendaylight/genius/lockmanager/impl/LockManagerServiceImpl.java index 0d0e2851e..579a1d751 100644 --- a/lockmanager/lockmanager-impl/src/main/java/org/opendaylight/genius/lockmanager/impl/LockManagerServiceImpl.java +++ b/lockmanager/lockmanager-impl/src/main/java/org/opendaylight/genius/lockmanager/impl/LockManagerServiceImpl.java @@ -23,13 +23,12 @@ import java.util.concurrent.locks.ReentrantLock; import javax.inject.Inject; import javax.inject.Singleton; import org.apache.aries.blueprint.annotation.service.Reference; -import org.opendaylight.genius.infra.Datastore; -import org.opendaylight.genius.infra.RetryingManagedNewTransactionRunner; import org.opendaylight.genius.utils.JvmGlobalLocks; import org.opendaylight.infrautils.utils.concurrent.Executors; 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.DataStoreUnavailableException; -import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.mdsal.common.api.OptimisticLockFailedException; import org.opendaylight.serviceutils.tools.rpc.FutureRpcResults; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.lockmanager.rev160413.LockInput; @@ -129,14 +128,14 @@ public class LockManagerServiceImpl implements LockManagerService { unused -> UNLOCK_OUTPUT, MoreExecutors.directExecutor())).build(); } - private ListenableFuture unlock(final String lockName, + private ListenableFuture unlock(final String lockName, final InstanceIdentifier lockInstanceIdentifier, final int retry) { - ListenableFuture future = txRunner.callWithNewReadWriteTransactionAndSubmit(tx -> { - Boolean result = tx.exists(LogicalDatastoreType.OPERATIONAL, lockInstanceIdentifier).get(); + ListenableFuture future = txRunner.callWithNewReadWriteTransactionAndSubmit(Datastore.OPERATIONAL, tx -> { + Boolean result = tx.exists(lockInstanceIdentifier).get(); if (!result) { LOG.debug("unlock ignored, as unnecessary; lock is already unlocked: {}", lockName); } else { - tx.delete(LogicalDatastoreType.OPERATIONAL, lockInstanceIdentifier); + tx.delete(lockInstanceIdentifier); } }); return Futures.catchingAsync(future, Exception.class, exception -> { @@ -144,7 +143,7 @@ public class LockManagerServiceImpl implements LockManagerService { exception.getMessage(), DEFAULT_RETRY_COUNT - retry + 1, DEFAULT_RETRY_COUNT); if (retry - 1 > 0) { Thread.sleep(DEFAULT_WAIT_TIME_IN_MILLIS); - return unlock(lockName, lockInstanceIdentifier, retry - 1); + return (ListenableFuture) unlock(lockName, lockInstanceIdentifier, retry - 1); } else { throw exception; } -- 2.36.6