Reduce use of FiniteDuration in cds-access-client 04/115904/1
authorRobert Varga <robert.varga@pantheon.tech>
Mon, 17 Mar 2025 23:24:42 +0000 (00:24 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Mon, 17 Mar 2025 23:24:42 +0000 (00:24 +0100)
Use java.time.Duration instead.

Change-Id: I34ad2c608c1a24e712058ed65c447ac8a5f69728
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/AbstractClientConnection.java
opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/ClientActorBehavior.java
opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/ClientActorContext.java
opendaylight/md-sal/cds-access-client/src/test/java/org/opendaylight/controller/cluster/access/client/ClientActorContextTest.java

index 604ea953565007526eab141c0ece2b6d62a5a4b6..a3d076727a0d93d5c3ca01f93cbfd2fd6517d4aa 100644 (file)
@@ -13,6 +13,7 @@ import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.MoreObjects;
 import com.google.common.base.MoreObjects.ToStringHelper;
 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
+import java.time.Duration;
 import java.util.Collection;
 import java.util.List;
 import java.util.Optional;
@@ -33,7 +34,6 @@ import org.opendaylight.controller.cluster.access.concepts.ResponseEnvelope;
 import org.opendaylight.controller.cluster.access.concepts.RuntimeRequestException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import scala.concurrent.duration.FiniteDuration;
 
 /**
  * Base class for a connection to the backend. Responsible to queueing and dispatch of requests toward the backend.
@@ -301,7 +301,7 @@ public abstract sealed class AbstractClientConnection<T extends BackendInfo>
         // for that condition and take appropriate action, but this is more convenient and less error-prone.
         final long normalized =  delay <= 0 ? 0 : Math.min(delay, context.config().getBackendAlivenessTimerInterval());
 
-        final FiniteDuration dur = FiniteDuration.fromNanos(normalized);
+        final var dur = Duration.ofNanos(normalized);
         LOG.debug("{}: connection {} scheduling timeout in {}", context.persistenceId(), this, dur);
         context.executeInActor(this::runTimer, dur);
         haveTimer = true;
index 3881661e640d138e91e2c60fa9b139e7516c8b4c..77614b7717b669d6a994deac3db1deb913f65e3d 100644 (file)
@@ -11,11 +11,11 @@ import static java.util.Objects.requireNonNull;
 
 import com.google.common.base.Stopwatch;
 import com.google.common.base.Verify;
+import java.time.Duration;
 import java.util.Collection;
 import java.util.Map;
 import java.util.Optional;
 import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 import org.checkerframework.checker.lock.qual.Holding;
 import org.eclipse.jdt.annotation.NonNull;
@@ -40,7 +40,6 @@ import org.opendaylight.yangtools.concepts.Identifier;
 import org.opendaylight.yangtools.concepts.Registration;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import scala.concurrent.duration.FiniteDuration;
 
 /**
  * A behavior, which handles messages sent to a {@link AbstractClientActor}.
@@ -62,7 +61,7 @@ public abstract class ClientActorBehavior<T extends BackendInfo> extends
     }
 
     private static final Logger LOG = LoggerFactory.getLogger(ClientActorBehavior.class);
-    private static final FiniteDuration RESOLVE_RETRY_DURATION = FiniteDuration.apply(1, TimeUnit.SECONDS);
+    private static final Duration RESOLVE_RETRY_DURATION = Duration.ofSeconds(1);
 
     /**
      * Map of connections to the backend. This map is concurrent to allow lookups, but given complex operations
index ce448affcce0fde208003561217ee67aad85681d..7cf43f1a01b92aae4983ac21d6e83d18edbbbc3b 100644 (file)
@@ -10,6 +10,7 @@ package org.opendaylight.controller.cluster.access.client;
 import static java.util.Objects.requireNonNull;
 
 import com.google.common.base.Ticker;
+import java.time.Duration;
 import java.util.concurrent.TimeUnit;
 import org.apache.pekko.actor.ActorRef;
 import org.apache.pekko.actor.ActorSystem;
@@ -22,7 +23,6 @@ import org.opendaylight.controller.cluster.io.FileBackedOutputStreamFactory;
 import org.opendaylight.controller.cluster.messaging.MessageSlicer;
 import org.opendaylight.yangtools.concepts.Identifiable;
 import scala.concurrent.ExecutionContext;
-import scala.concurrent.duration.FiniteDuration;
 
 /**
  * An actor context associated with this {@link AbstractClientActor}.
@@ -94,7 +94,7 @@ public class ClientActorContext extends AbstractClientActorContext implements Id
     }
 
     public <T extends BackendInfo> Cancellable executeInActor(final @NonNull InternalCommand<T> command,
-            final FiniteDuration delay) {
+            final Duration delay) {
         return scheduler.scheduleOnce(requireNonNull(delay), self(), requireNonNull(command),
             executionContext, ActorRef.noSender());
     }
index 855d038008ed7acc8705f63c7df86b6ab4231e2f..6e5f6706031857754b4985ddbc488ed1bf4c8450 100644 (file)
@@ -10,7 +10,7 @@ package org.opendaylight.controller.cluster.access.client;
 import static org.junit.Assert.assertSame;
 
 import com.google.common.base.Ticker;
-import java.util.concurrent.TimeUnit;
+import java.time.Duration;
 import org.apache.pekko.actor.ActorSystem;
 import org.apache.pekko.testkit.TestProbe;
 import org.apache.pekko.testkit.javadsl.TestKit;
@@ -24,7 +24,6 @@ import org.opendaylight.controller.cluster.access.concepts.ClientIdentifier;
 import org.opendaylight.controller.cluster.access.concepts.FrontendIdentifier;
 import org.opendaylight.controller.cluster.access.concepts.FrontendType;
 import org.opendaylight.controller.cluster.access.concepts.MemberName;
-import scala.concurrent.duration.FiniteDuration;
 
 @RunWith(MockitoJUnitRunner.class)
 public class ClientActorContextTest {
@@ -69,7 +68,7 @@ public class ClientActorContextTest {
 
     @Test
     public void testExecuteInActorScheduled() {
-        ctx.executeInActor(command, FiniteDuration.create(1, TimeUnit.SECONDS));
+        ctx.executeInActor(command, Duration.ofSeconds(1));
         probe.expectMsg(command);
     }