From 99287410191da5a1a794a2e00245a2228f7055e3 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Tue, 4 Aug 2020 14:13:11 +0200 Subject: [PATCH] Migrate idmanager to use mdsal-binding-util This migratest idmanager-impl to use ManagedNewTransactionRunner from mdsal-binding-util. JIRA: GENIUS-293 Change-Id: I50325062e68236d9eff56f2b3164e758de34c039 Signed-off-by: Robert Varga --- .../opendaylight/genius/idmanager/IdManager.java | 13 ++++++------- .../org/opendaylight/genius/idmanager/IdUtils.java | 6 ++---- .../genius/idmanager/jobs/CleanUpJob.java | 3 +-- .../genius/idmanager/jobs/IdHolderSyncJob.java | 6 +++--- .../genius/idmanager/jobs/LocalPoolCreateJob.java | 6 +++--- .../genius/idmanager/jobs/LocalPoolDeleteJob.java | 8 +++----- .../genius/idmanager/jobs/UpdateIdEntryJob.java | 14 ++++++-------- 7 files changed, 24 insertions(+), 32 deletions(-) diff --git a/idmanager/idmanager-impl/src/main/java/org/opendaylight/genius/idmanager/IdManager.java b/idmanager/idmanager-impl/src/main/java/org/opendaylight/genius/idmanager/IdManager.java index cc2de9953..0019c0f86 100644 --- a/idmanager/idmanager-impl/src/main/java/org/opendaylight/genius/idmanager/IdManager.java +++ b/idmanager/idmanager-impl/src/main/java/org/opendaylight/genius/idmanager/IdManager.java @@ -9,7 +9,7 @@ package org.opendaylight.genius.idmanager; import static java.util.Comparator.comparing; import static java.util.stream.Collectors.toCollection; -import static org.opendaylight.genius.infra.Datastore.CONFIGURATION; +import static org.opendaylight.mdsal.binding.util.Datastore.CONFIGURATION; import static org.opendaylight.yangtools.yang.binding.CodeHelpers.nonnull; import com.google.common.util.concurrent.Futures; @@ -48,15 +48,15 @@ import org.opendaylight.genius.idmanager.jobs.IdHolderSyncJob; import org.opendaylight.genius.idmanager.jobs.LocalPoolCreateJob; import org.opendaylight.genius.idmanager.jobs.LocalPoolDeleteJob; import org.opendaylight.genius.idmanager.jobs.UpdateIdEntryJob; -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.mdsalutil.NwConstants; import org.opendaylight.genius.mdsalutil.interfaces.ShardStatusMonitor; 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.serviceutils.tools.rpc.FutureRpcResults; @@ -98,7 +98,6 @@ import org.slf4j.LoggerFactory; @Singleton public class IdManager implements IdManagerService, IdManagerMonitor { - private static final Logger LOG = LoggerFactory.getLogger(IdManager.class); private static final long DEFAULT_IDLE_TIME = 24 * 60 * 60; diff --git a/idmanager/idmanager-impl/src/main/java/org/opendaylight/genius/idmanager/IdUtils.java b/idmanager/idmanager-impl/src/main/java/org/opendaylight/genius/idmanager/IdUtils.java index 3b08f2fb1..6880747aa 100644 --- a/idmanager/idmanager-impl/src/main/java/org/opendaylight/genius/idmanager/IdUtils.java +++ b/idmanager/idmanager-impl/src/main/java/org/opendaylight/genius/idmanager/IdUtils.java @@ -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.idmanager; import com.google.common.net.InetAddresses; @@ -23,8 +22,8 @@ import java.util.concurrent.Future; import java.util.concurrent.atomic.AtomicInteger; import javax.inject.Singleton; import org.opendaylight.genius.idmanager.ReleasedIdHolder.DelayedIdEntry; -import org.opendaylight.genius.infra.Datastore.Configuration; -import org.opendaylight.genius.infra.TypedWriteTransaction; +import org.opendaylight.mdsal.binding.util.Datastore.Configuration; +import org.opendaylight.mdsal.binding.util.TypedWriteTransaction; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdPools; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.id.pools.IdPool; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.id.pools.IdPoolBuilder; @@ -56,7 +55,6 @@ import org.slf4j.LoggerFactory; @Singleton public class IdUtils { - private static final Logger LOG = LoggerFactory.getLogger(IdUtils.class); public static final long DEFAULT_DELAY_TIME = 30; diff --git a/idmanager/idmanager-impl/src/main/java/org/opendaylight/genius/idmanager/jobs/CleanUpJob.java b/idmanager/idmanager-impl/src/main/java/org/opendaylight/genius/idmanager/jobs/CleanUpJob.java index 6aaf67d4f..1c19dffbc 100644 --- a/idmanager/idmanager-impl/src/main/java/org/opendaylight/genius/idmanager/jobs/CleanUpJob.java +++ b/idmanager/idmanager-impl/src/main/java/org/opendaylight/genius/idmanager/jobs/CleanUpJob.java @@ -20,9 +20,9 @@ import org.opendaylight.genius.idmanager.IdLocalPool; import org.opendaylight.genius.idmanager.IdManagerException; import org.opendaylight.genius.idmanager.IdUtils; import org.opendaylight.genius.idmanager.ReleasedIdHolder; -import org.opendaylight.genius.infra.ManagedNewTransactionRunner; import org.opendaylight.infrautils.jobcoordinator.JobCoordinator; import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunner; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.mdsal.common.api.TransactionCommitFailedException; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.id.pools.id.pool.ReleasedIdsHolder; @@ -33,7 +33,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class CleanUpJob implements Callable>> { - private static final Logger LOG = LoggerFactory.getLogger(CleanUpJob.class); private final IdLocalPool idLocalPool; diff --git a/idmanager/idmanager-impl/src/main/java/org/opendaylight/genius/idmanager/jobs/IdHolderSyncJob.java b/idmanager/idmanager-impl/src/main/java/org/opendaylight/genius/idmanager/jobs/IdHolderSyncJob.java index c81deee33..7b1180a1b 100644 --- a/idmanager/idmanager-impl/src/main/java/org/opendaylight/genius/idmanager/jobs/IdHolderSyncJob.java +++ b/idmanager/idmanager-impl/src/main/java/org/opendaylight/genius/idmanager/jobs/IdHolderSyncJob.java @@ -7,7 +7,7 @@ */ package org.opendaylight.genius.idmanager.jobs; -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.Collections; @@ -15,7 +15,7 @@ import java.util.List; import java.util.concurrent.Callable; import org.opendaylight.genius.idmanager.IdHolder; import org.opendaylight.genius.idmanager.IdUtils; -import org.opendaylight.genius.infra.ManagedNewTransactionRunner; +import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunner; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.id.pools.IdPool; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.id.pools.IdPoolBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.id.pools.IdPoolKey; @@ -41,7 +41,7 @@ public class IdHolderSyncJob implements Callable> call() { + public List> call() { IdPoolBuilder idPool = new IdPoolBuilder().withKey(new IdPoolKey(localPoolName)); idHolder.refreshDataStore(idPool); InstanceIdentifier localPoolInstanceIdentifier = idUtils.getIdPoolInstance(localPoolName); diff --git a/idmanager/idmanager-impl/src/main/java/org/opendaylight/genius/idmanager/jobs/LocalPoolCreateJob.java b/idmanager/idmanager-impl/src/main/java/org/opendaylight/genius/idmanager/jobs/LocalPoolCreateJob.java index 40cc8ae55..598119bc7 100644 --- a/idmanager/idmanager-impl/src/main/java/org/opendaylight/genius/idmanager/jobs/LocalPoolCreateJob.java +++ b/idmanager/idmanager-impl/src/main/java/org/opendaylight/genius/idmanager/jobs/LocalPoolCreateJob.java @@ -7,7 +7,7 @@ */ package org.opendaylight.genius.idmanager.jobs; -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.Collections; @@ -15,7 +15,7 @@ import java.util.List; import java.util.concurrent.Callable; import org.opendaylight.genius.idmanager.IdLocalPool; import org.opendaylight.genius.idmanager.IdUtils; -import org.opendaylight.genius.infra.ManagedNewTransactionRunner; +import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunner; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.id.pools.IdPool; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.id.pools.IdPoolBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.id.pools.IdPoolKey; @@ -43,7 +43,7 @@ public class LocalPoolCreateJob implements Callable> call() { + public List> call() { String localPoolName = idLocalPool.getPoolName(); if (LOG.isDebugEnabled()) { LOG.debug("Started localPoolCreateJob for {}", localPoolName); diff --git a/idmanager/idmanager-impl/src/main/java/org/opendaylight/genius/idmanager/jobs/LocalPoolDeleteJob.java b/idmanager/idmanager-impl/src/main/java/org/opendaylight/genius/idmanager/jobs/LocalPoolDeleteJob.java index 342be3bd5..362241e16 100644 --- a/idmanager/idmanager-impl/src/main/java/org/opendaylight/genius/idmanager/jobs/LocalPoolDeleteJob.java +++ b/idmanager/idmanager-impl/src/main/java/org/opendaylight/genius/idmanager/jobs/LocalPoolDeleteJob.java @@ -5,24 +5,22 @@ * 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.idmanager.jobs; -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.Collections; import java.util.List; import java.util.concurrent.Callable; import org.opendaylight.genius.idmanager.IdUtils; -import org.opendaylight.genius.infra.ManagedNewTransactionRunner; +import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunner; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.id.pools.IdPool; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class LocalPoolDeleteJob implements Callable>> { - private static final Logger LOG = LoggerFactory.getLogger(LocalPoolDeleteJob.class); private final String poolName; @@ -36,7 +34,7 @@ public class LocalPoolDeleteJob implements Callable> call() { + public List> call() { InstanceIdentifier idPoolToBeDeleted = idUtils.getIdPoolInstance(poolName); return Collections.singletonList(txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx -> { tx.delete(idPoolToBeDeleted); diff --git a/idmanager/idmanager-impl/src/main/java/org/opendaylight/genius/idmanager/jobs/UpdateIdEntryJob.java b/idmanager/idmanager-impl/src/main/java/org/opendaylight/genius/idmanager/jobs/UpdateIdEntryJob.java index 2428279af..b7d499d83 100644 --- a/idmanager/idmanager-impl/src/main/java/org/opendaylight/genius/idmanager/jobs/UpdateIdEntryJob.java +++ b/idmanager/idmanager-impl/src/main/java/org/opendaylight/genius/idmanager/jobs/UpdateIdEntryJob.java @@ -5,10 +5,9 @@ * 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.idmanager.jobs; -import static org.opendaylight.genius.infra.Datastore.CONFIGURATION; +import static org.opendaylight.mdsal.binding.util.Datastore.CONFIGURATION; import com.google.common.util.concurrent.FluentFuture; import com.google.common.util.concurrent.FutureCallback; @@ -22,8 +21,8 @@ import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; import org.eclipse.jdt.annotation.Nullable; import org.opendaylight.genius.idmanager.IdUtils; -import org.opendaylight.genius.infra.ManagedNewTransactionRunner; import org.opendaylight.infrautils.utils.concurrent.Executors; +import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunner; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.id.pools.id.pool.IdEntries; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.lockmanager.rev160413.LockManagerService; import org.opendaylight.yangtools.yang.common.Uint32; @@ -31,7 +30,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class UpdateIdEntryJob implements Callable>> { - private static final Logger LOG = LoggerFactory.getLogger(UpdateIdEntryJob.class); // static to have total threads globally, not per UpdateIdEntryJob (of which there are many) @@ -60,8 +58,8 @@ public class UpdateIdEntryJob implements Callable> call() { - FluentFuture future = txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx -> { + public List> call() { + FluentFuture future = txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx -> { idUtils.updateChildPool(tx, parentPoolName, localPoolName); if (!newIdValues.isEmpty()) { IdEntries newIdEntry = idUtils.createIdEntries(idKey, newIdValues); @@ -70,9 +68,9 @@ public class UpdateIdEntryJob implements Callable() { + future.addCallback(new FutureCallback() { @Override - public void onSuccess(@Nullable Void result) { + public void onSuccess(@Nullable Object result) { cleanUp(); } -- 2.36.6