From: Robert Varga Date: Wed, 10 Jul 2019 14:37:12 +0000 (+0200) Subject: Further Guava Optional cleanups X-Git-Tag: release/sodium~23 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=20733d0406fb31b701e32ee74ee13dc8769a256c Further Guava Optional cleanups This migrates most of sal-akka-raft to use java.util.Optional. Change-Id: Iaccc760101762dc9d4d647ded80de9a76f1f067b Signed-off-by: Robert Varga --- diff --git a/opendaylight/md-sal/sal-akka-raft-example/src/main/java/org/opendaylight/controller/cluster/example/ExampleActor.java b/opendaylight/md-sal/sal-akka-raft-example/src/main/java/org/opendaylight/controller/cluster/example/ExampleActor.java index a2bcc8a724..5d2d171225 100644 --- a/opendaylight/md-sal/sal-akka-raft-example/src/main/java/org/opendaylight/controller/cluster/example/ExampleActor.java +++ b/opendaylight/md-sal/sal-akka-raft-example/src/main/java/org/opendaylight/controller/cluster/example/ExampleActor.java @@ -5,12 +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.controller.cluster.example; import akka.actor.ActorRef; import akka.actor.Props; -import com.google.common.base.Optional; import com.google.common.base.Throwables; import com.google.common.io.ByteSource; import java.io.IOException; @@ -18,6 +16,7 @@ import java.io.OutputStream; import java.io.Serializable; import java.util.HashMap; import java.util.Map; +import java.util.Optional; import org.apache.commons.lang3.SerializationUtils; import org.opendaylight.controller.cluster.example.messages.KeyValue; import org.opendaylight.controller.cluster.example.messages.KeyValueSaved; @@ -53,8 +52,8 @@ public class ExampleActor extends RaftActor implements RaftActorRecoveryCohort, private long persistIdentifier = 1; - public ExampleActor(String id, Map peerAddresses, - Optional configParams) { + public ExampleActor(final String id, final Map peerAddresses, + final Optional configParams) { super(id, peerAddresses, configParams, (short)0); setPersistence(true); roleChangeNotifier = createRoleChangeNotifier(id); @@ -66,7 +65,7 @@ public class ExampleActor extends RaftActor implements RaftActorRecoveryCohort, } @Override - protected void handleNonRaftCommand(Object message) { + protected void handleNonRaftCommand(final Object message) { if (message instanceof KeyValue) { if (isLeader()) { persistData(getSender(), new PayloadIdentifier(persistIdentifier++), (Payload) message, false); @@ -107,7 +106,7 @@ public class ExampleActor extends RaftActor implements RaftActorRecoveryCohort, + ", im-mem journal size=" + getRaftActorContext().getReplicatedLog().size(); } - public Optional createRoleChangeNotifier(String actorId) { + public Optional createRoleChangeNotifier(final String actorId) { ActorRef exampleRoleChangeNotifier = this.getContext().actorOf( RoleChangeNotifier.getProps(actorId), actorId + "-notifier"); return Optional.of(exampleRoleChangeNotifier); @@ -131,7 +130,7 @@ public class ExampleActor extends RaftActor implements RaftActorRecoveryCohort, @Override @SuppressWarnings("checkstyle:IllegalCatch") - public void createSnapshot(ActorRef actorRef, java.util.Optional installSnapshotStream) { + public void createSnapshot(final ActorRef actorRef, final Optional installSnapshotStream) { try { if (installSnapshotStream.isPresent()) { SerializationUtils.serialize((Serializable) state, installSnapshotStream.get()); @@ -144,7 +143,7 @@ public class ExampleActor extends RaftActor implements RaftActorRecoveryCohort, } @Override - public void applySnapshot(Snapshot.State snapshotState) { + public void applySnapshot(final Snapshot.State snapshotState) { state.clear(); state.putAll(((MapState)snapshotState).state); @@ -169,11 +168,11 @@ public class ExampleActor extends RaftActor implements RaftActorRecoveryCohort, } @Override - public void startLogRecoveryBatch(int maxBatchSize) { + public void startLogRecoveryBatch(final int maxBatchSize) { } @Override - public void appendRecoveredLogEntry(Payload data) { + public void appendRecoveredLogEntry(final Payload data) { } @Override @@ -185,7 +184,7 @@ public class ExampleActor extends RaftActor implements RaftActorRecoveryCohort, } @Override - public void applyRecoverySnapshot(Snapshot.State snapshotState) { + public void applyRecoverySnapshot(final Snapshot.State snapshotState) { } @Override @@ -200,7 +199,7 @@ public class ExampleActor extends RaftActor implements RaftActorRecoveryCohort, @SuppressWarnings("unchecked") @Override - public Snapshot.State deserializeSnapshot(ByteSource snapshotBytes) { + public Snapshot.State deserializeSnapshot(final ByteSource snapshotBytes) { try { return new MapState((Map) SerializationUtils.deserialize(snapshotBytes.read())); } catch (IOException e) { @@ -213,7 +212,7 @@ public class ExampleActor extends RaftActor implements RaftActorRecoveryCohort, Map state; - MapState(Map state) { + MapState(final Map state) { this.state = state; } } diff --git a/opendaylight/md-sal/sal-akka-raft-example/src/main/java/org/opendaylight/controller/cluster/example/Main.java b/opendaylight/md-sal/sal-akka-raft-example/src/main/java/org/opendaylight/controller/cluster/example/Main.java index 54ff92993a..ae8ea82295 100644 --- a/opendaylight/md-sal/sal-akka-raft-example/src/main/java/org/opendaylight/controller/cluster/example/Main.java +++ b/opendaylight/md-sal/sal-akka-raft-example/src/main/java/org/opendaylight/controller/cluster/example/Main.java @@ -5,13 +5,11 @@ * 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.controller.cluster.example; import akka.actor.ActorRef; import akka.actor.ActorSystem; import akka.actor.PoisonPill; -import com.google.common.base.Optional; import java.io.BufferedReader; import java.io.InputStreamReader; import java.nio.charset.Charset; @@ -19,8 +17,8 @@ import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Optional; import org.opendaylight.controller.cluster.example.messages.KeyValue; -import org.opendaylight.controller.cluster.raft.ConfigParams; public final class Main { private static final ActorSystem ACTOR_SYSTEM = ActorSystem.create(); @@ -37,18 +35,18 @@ public final class Main { } @SuppressWarnings("checkstyle:RegexpSingleLineJava") - public static void main(String[] args) throws Exception { + public static void main(final String[] args) throws Exception { ActorRef example1Actor = ACTOR_SYSTEM.actorOf(ExampleActor.props("example-1", - withoutPeer("example-1"), Optional.absent()), "example-1"); + withoutPeer("example-1"), Optional.empty()), "example-1"); ActorRef example2Actor = ACTOR_SYSTEM.actorOf(ExampleActor.props("example-2", - withoutPeer("example-2"), Optional.absent()), "example-2"); + withoutPeer("example-2"), Optional.empty()), "example-2"); ActorRef example3Actor = ACTOR_SYSTEM.actorOf(ExampleActor.props("example-3", - withoutPeer("example-3"), Optional.absent()), "example-3"); + withoutPeer("example-3"), Optional.empty()), "example-3"); List examples = Arrays.asList(example1Actor, example2Actor, example3Actor); @@ -82,8 +80,7 @@ public final class Main { String actorName = "example-" + num; examples.add(num - 1, ACTOR_SYSTEM.actorOf(ExampleActor.props(actorName, - withoutPeer(actorName), Optional.absent()), - actorName)); + withoutPeer(actorName), Optional.empty()), actorName)); System.out.println("Created actor : " + actorName); continue; } @@ -100,7 +97,7 @@ public final class Main { } } - private static Map withoutPeer(String peerId) { + private static Map withoutPeer(final String peerId) { Map without = new HashMap<>(allPeers); without.remove(peerId); return without; diff --git a/opendaylight/md-sal/sal-akka-raft-example/src/main/java/org/opendaylight/controller/cluster/example/TestDriver.java b/opendaylight/md-sal/sal-akka-raft-example/src/main/java/org/opendaylight/controller/cluster/example/TestDriver.java index 8f414c7a6b..b8be5d3680 100644 --- a/opendaylight/md-sal/sal-akka-raft-example/src/main/java/org/opendaylight/controller/cluster/example/TestDriver.java +++ b/opendaylight/md-sal/sal-akka-raft-example/src/main/java/org/opendaylight/controller/cluster/example/TestDriver.java @@ -5,12 +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.controller.cluster.example; import akka.actor.ActorRef; import akka.actor.ActorSystem; -import com.google.common.base.Optional; import com.google.common.collect.Lists; import com.typesafe.config.ConfigFactory; import java.io.BufferedReader; @@ -19,6 +17,7 @@ import java.nio.charset.Charset; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.concurrent.ConcurrentHashMap; import org.opendaylight.controller.cluster.example.messages.PrintRole; import org.opendaylight.controller.cluster.example.messages.PrintState; @@ -63,7 +62,7 @@ public class TestDriver { * AbstractUptypedActor and AbstractUptypedPersistentActor would need to be commented out. * Also RaftActor handleCommand(), debug log which prints for every command other than AE/AER */ - public static void main(String[] args) throws Exception { + public static void main(final String[] args) throws Exception { actorSystem = ActorSystem.create("raft-test", ConfigFactory .load().getConfig("raft-test")); @@ -135,7 +134,7 @@ public class TestDriver { } // create the listener using a separate actor system for each example actor - private static void createClusterRoleChangeListener(List memberIds) { + private static void createClusterRoleChangeListener(final List memberIds) { System.out.println("memberIds=" + memberIds); for (String memberId : memberIds) { ActorRef listenerActor = listenerActorSystem.actorOf( @@ -144,12 +143,12 @@ public class TestDriver { } } - public static ActorRef createExampleActor(String name) { + public static ActorRef createExampleActor(final String name) { return actorSystem.actorOf(ExampleActor.props(name, withoutPeer(name), Optional.of(configParams)), name); } - public void createNodes(int num) { + public void createNodes(final int num) { for (int i = 0; i < num; i++) { nameCounter = nameCounter + 1; allPeers.put("example-" + nameCounter, "akka://raft-test/user/example-" + nameCounter); @@ -165,7 +164,7 @@ public class TestDriver { } // add num clients to all nodes in the system - public void addClients(int num) { + public void addClients(final int num) { for (Map.Entry actorRefEntry : actorRefs.entrySet()) { for (int i = 0; i < num; i++) { String clientName = "client-" + i + "-" + actorRefEntry.getKey(); @@ -178,7 +177,7 @@ public class TestDriver { } // add num clients to a node - public void addClientsToNode(String actorName, int num) { + public void addClientsToNode(final String actorName, final int num) { ActorRef actorRef = actorRefs.get(actorName); for (int i = 0; i < num; i++) { String clientName = "client-" + i + "-" + actorName; @@ -188,7 +187,7 @@ public class TestDriver { } } - public void stopNode(String actorName) { + public void stopNode(final String actorName) { ActorRef actorRef = actorRefs.get(actorName); for (Map.Entry entry : clientActorRefs.entrySet()) { @@ -202,7 +201,7 @@ public class TestDriver { allPeers.remove(actorName); } - public void reinstateNode(String actorName) { + public void reinstateNode(final String actorName) { String address = "akka://default/user/" + actorName; allPeers.put(actorName, address); @@ -225,7 +224,7 @@ public class TestDriver { } } - public void startLoggingForClient(ActorRef client) { + public void startLoggingForClient(final ActorRef client) { logGenerator.startLoggingForClient(client); } @@ -235,7 +234,7 @@ public class TestDriver { } } - public void stopLoggingForClient(ActorRef client) { + public void stopLoggingForClient(final ActorRef client) { logGenerator.stopLoggingForClient(client); } @@ -256,7 +255,7 @@ public class TestDriver { } - private static Map withoutPeer(String peerId) { + private static Map withoutPeer(final String peerId) { Map without = new ConcurrentHashMap<>(allPeers); without.remove(peerId); diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/RaftActor.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/RaftActor.java index cdffef3a7a..dc97336a49 100755 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/RaftActor.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/RaftActor.java @@ -16,13 +16,13 @@ import akka.actor.ActorSelection; import akka.actor.PoisonPill; import akka.actor.Status; import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Optional; import com.google.common.collect.Lists; import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.Optional; import java.util.concurrent.TimeUnit; import org.apache.commons.lang3.time.DurationFormatUtils; import org.eclipse.jdt.annotation.NonNull; diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/RaftActorLeadershipTransferCohort.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/RaftActorLeadershipTransferCohort.java index a572f308e5..c3d5af55cd 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/RaftActorLeadershipTransferCohort.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/RaftActorLeadershipTransferCohort.java @@ -11,10 +11,10 @@ import akka.actor.ActorRef; import akka.actor.ActorSelection; import akka.actor.Cancellable; import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Optional; import com.google.common.base.Stopwatch; import java.util.ArrayList; import java.util.List; +import java.util.Optional; import java.util.concurrent.TimeUnit; import org.eclipse.jdt.annotation.Nullable; import org.opendaylight.controller.cluster.raft.base.messages.LeaderTransitioning; @@ -206,7 +206,7 @@ public class RaftActorLeadershipTransferCohort { } public Optional getRequestedFollowerId() { - return Optional.fromNullable(requestedFollowerId); + return Optional.ofNullable(requestedFollowerId); } interface OnComplete { diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/Leader.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/Leader.java index 21f823d089..3534ac5cf1 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/Leader.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/Leader.java @@ -12,8 +12,8 @@ import static java.util.Objects.requireNonNull; import akka.actor.ActorRef; import akka.actor.ActorSelection; import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Optional; import com.google.common.base.Stopwatch; +import java.util.Optional; import java.util.concurrent.TimeUnit; import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; @@ -57,16 +57,16 @@ public class Leader extends AbstractLeader { private final Stopwatch isolatedLeaderCheck = Stopwatch.createStarted(); private @Nullable LeadershipTransferContext leadershipTransferContext; - Leader(RaftActorContext context, @Nullable AbstractLeader initializeFromLeader) { + Leader(final RaftActorContext context, @Nullable final AbstractLeader initializeFromLeader) { super(context, RaftState.Leader, initializeFromLeader); } - public Leader(RaftActorContext context) { + public Leader(final RaftActorContext context) { this(context, null); } @Override - public RaftActorBehavior handleMessage(ActorRef sender, Object originalMessage) { + public RaftActorBehavior handleMessage(final ActorRef sender, final Object originalMessage) { requireNonNull(sender, "sender should not be null"); if (ISOLATED_LEADER_CHECK.equals(originalMessage)) { @@ -98,7 +98,8 @@ public class Leader extends AbstractLeader { } @Override - protected RaftActorBehavior handleAppendEntriesReply(ActorRef sender, AppendEntriesReply appendEntriesReply) { + protected RaftActorBehavior handleAppendEntriesReply(final ActorRef sender, + final AppendEntriesReply appendEntriesReply) { RaftActorBehavior returnBehavior = super.handleAppendEntriesReply(sender, appendEntriesReply); tryToCompleteLeadershipTransfer(appendEntriesReply.getFollowerId()); return returnBehavior; @@ -122,7 +123,7 @@ public class Leader extends AbstractLeader { * * @param leadershipTransferCohort the cohort participating in the leadership transfer */ - public void transferLeadership(@NonNull RaftActorLeadershipTransferCohort leadershipTransferCohort) { + public void transferLeadership(@NonNull final RaftActorLeadershipTransferCohort leadershipTransferCohort) { log.debug("{}: Attempting to transfer leadership", logName()); leadershipTransferContext = new LeadershipTransferContext(leadershipTransferCohort); @@ -131,7 +132,7 @@ public class Leader extends AbstractLeader { sendAppendEntries(0, false); } - private void tryToCompleteLeadershipTransfer(String followerId) { + private void tryToCompleteLeadershipTransfer(final String followerId) { if (leadershipTransferContext == null) { return; } @@ -184,12 +185,12 @@ public class Leader extends AbstractLeader { } @VisibleForTesting - void markFollowerActive(String followerId) { + void markFollowerActive(final String followerId) { getFollower(followerId).markFollowerActive(); } @VisibleForTesting - void markFollowerInActive(String followerId) { + void markFollowerInActive(final String followerId) { getFollower(followerId).markFollowerInActive(); } @@ -197,11 +198,11 @@ public class Leader extends AbstractLeader { RaftActorLeadershipTransferCohort transferCohort; Stopwatch timer = Stopwatch.createStarted(); - LeadershipTransferContext(RaftActorLeadershipTransferCohort transferCohort) { + LeadershipTransferContext(final RaftActorLeadershipTransferCohort transferCohort) { this.transferCohort = transferCohort; } - boolean isExpired(long timeout) { + boolean isExpired(final long timeout) { if (timer.elapsed(TimeUnit.MILLISECONDS) >= timeout) { transferCohort.abortTransfer(); return true; diff --git a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/MigratedMessagesTest.java b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/MigratedMessagesTest.java index 5a1ac54c7c..276ffb27f4 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/MigratedMessagesTest.java +++ b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/MigratedMessagesTest.java @@ -12,12 +12,12 @@ import static org.junit.Assert.assertEquals; import akka.actor.ActorRef; import akka.dispatch.Dispatchers; import akka.testkit.TestActorRef; -import com.google.common.base.Optional; import com.google.common.collect.ImmutableMap; import com.google.common.io.ByteSource; import com.google.common.util.concurrent.Uninterruptibles; import java.io.OutputStream; import java.util.List; +import java.util.Optional; import java.util.concurrent.TimeUnit; import java.util.function.Consumer; import org.junit.After; @@ -72,16 +72,16 @@ public class MigratedMessagesTest extends AbstractActorTest { RaftActorSnapshotCohort snapshotCohort = new RaftActorSnapshotCohort() { @Override - public void createSnapshot(ActorRef actorRef, java.util.Optional installSnapshotStream) { + public void createSnapshot(final ActorRef actorRef, final Optional installSnapshotStream) { actorRef.tell(new CaptureSnapshotReply(ByteState.empty(), installSnapshotStream), actorRef); } @Override - public void applySnapshot(Snapshot.State snapshotState) { + public void applySnapshot(final Snapshot.State snapshotState) { } @Override - public State deserializeSnapshot(ByteSource snapshotBytes) { + public State deserializeSnapshot(final ByteSource snapshotBytes) { throw new UnsupportedOperationException(); } }; @@ -102,8 +102,8 @@ public class MigratedMessagesTest extends AbstractActorTest { } @SuppressWarnings("checkstyle:IllegalCatch") - private TestActorRef doTestSnapshotAfterStartupWithMigratedMessage(String id, boolean persistent, - Consumer snapshotVerifier, final State snapshotState) { + private TestActorRef doTestSnapshotAfterStartupWithMigratedMessage(final String id, + final boolean persistent, final Consumer snapshotVerifier, final State snapshotState) { InMemorySnapshotStore.addSnapshotSavedLatch(id); InMemoryJournal.addDeleteMessagesCompleteLatch(id); DefaultConfigParamsImpl config = new DefaultConfigParamsImpl(); @@ -111,16 +111,16 @@ public class MigratedMessagesTest extends AbstractActorTest { RaftActorSnapshotCohort snapshotCohort = new RaftActorSnapshotCohort() { @Override - public void createSnapshot(ActorRef actorRef, java.util.Optional installSnapshotStream) { + public void createSnapshot(final ActorRef actorRef, final Optional installSnapshotStream) { actorRef.tell(new CaptureSnapshotReply(snapshotState, installSnapshotStream), actorRef); } @Override - public void applySnapshot(State newState) { + public void applySnapshot(final State newState) { } @Override - public State deserializeSnapshot(ByteSource snapshotBytes) { + public State deserializeSnapshot(final ByteSource snapshotBytes) { throw new UnsupportedOperationException(); } }; diff --git a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/MockRaftActor.java b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/MockRaftActor.java index 61a673057d..5065107214 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/MockRaftActor.java +++ b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/MockRaftActor.java @@ -14,7 +14,6 @@ import static org.mockito.Mockito.mock; import akka.actor.ActorRef; import akka.actor.Props; import com.google.common.base.Function; -import com.google.common.base.Optional; import com.google.common.io.ByteSource; import com.google.common.util.concurrent.Uninterruptibles; import java.io.IOException; @@ -23,6 +22,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; import org.apache.commons.lang3.SerializationUtils; @@ -50,7 +50,7 @@ public class MockRaftActor extends RaftActor implements RaftActorRecoveryCohort, protected MockRaftActor(final AbstractBuilder builder) { super(builder.id, builder.peerAddresses != null ? builder.peerAddresses : - Collections.emptyMap(), Optional.fromNullable(builder.config), PAYLOAD_VERSION); + Collections.emptyMap(), Optional.ofNullable(builder.config), PAYLOAD_VERSION); state = Collections.synchronizedList(new ArrayList<>()); this.actorDelegate = mock(RaftActor.class); this.recoveryCohortDelegate = mock(RaftActorRecoveryCohort.class); @@ -181,7 +181,7 @@ public class MockRaftActor extends RaftActor implements RaftActorRecoveryCohort, } @Override - public void createSnapshot(final ActorRef actorRef, final java.util.Optional installSnapshotStream) { + public void createSnapshot(final ActorRef actorRef, final Optional installSnapshotStream) { LOG.info("{}: createSnapshot called", persistenceId()); snapshotCohortDelegate.createSnapshot(actorRef, installSnapshotStream); } @@ -209,7 +209,7 @@ public class MockRaftActor extends RaftActor implements RaftActorRecoveryCohort, @Override protected Optional getRoleChangeNotifier() { - return Optional.fromNullable(roleChangeNotifier); + return Optional.ofNullable(roleChangeNotifier); } @Override public String persistenceId() { @@ -281,7 +281,7 @@ public class MockRaftActor extends RaftActor implements RaftActorRecoveryCohort, private ActorRef roleChangeNotifier; private RaftActorSnapshotMessageSupport snapshotMessageSupport; private Snapshot restoreFromSnapshot; - private Optional persistent = Optional.absent(); + private Optional persistent = Optional.empty(); private final Class actorClass; private Function pauseLeaderFunction; private RaftActorSnapshotCohort snapshotCohort; diff --git a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/NonVotingFollowerIntegrationTest.java b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/NonVotingFollowerIntegrationTest.java index 660d791438..9f930fd71a 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/NonVotingFollowerIntegrationTest.java +++ b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/NonVotingFollowerIntegrationTest.java @@ -10,10 +10,10 @@ package org.opendaylight.controller.cluster.raft; import static org.junit.Assert.assertEquals; import akka.actor.ActorRef; -import com.google.common.base.Optional; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Sets; import java.util.Arrays; +import java.util.Optional; import java.util.concurrent.TimeUnit; import org.junit.Test; import org.opendaylight.controller.cluster.notifications.LeaderStateChanged; diff --git a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorServerConfigurationSupportTest.java b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorServerConfigurationSupportTest.java index e17d9faae5..54ba69ec84 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorServerConfigurationSupportTest.java +++ b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorServerConfigurationSupportTest.java @@ -21,7 +21,6 @@ import akka.actor.Props; import akka.dispatch.Dispatchers; import akka.testkit.TestActorRef; import akka.testkit.javadsl.TestKit; -import com.google.common.base.Optional; import com.google.common.base.Stopwatch; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Maps; @@ -35,6 +34,7 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.concurrent.TimeUnit; import org.apache.commons.lang3.SerializationUtils; import org.junit.After; @@ -340,7 +340,7 @@ public class RaftActorServerConfigurationSupportTest extends AbstractActorTest { addServerReply = testKit.expectMsgClass(Duration.ofSeconds(5), AddServerReply.class); assertEquals("getStatus", ServerChangeStatus.OK, addServerReply.getStatus()); - assertEquals("getLeaderHint", java.util.Optional.of(LEADER_ID), addServerReply.getLeaderHint()); + assertEquals("getLeaderHint", Optional.of(LEADER_ID), addServerReply.getLeaderHint()); expectFirstMatching(leaderCollectorActor, ApplyState.class); assertEquals("Leader journal last index", 1, leaderActorContext.getReplicatedLog().lastIndex()); @@ -1427,7 +1427,7 @@ public class RaftActorServerConfigurationSupportTest extends AbstractActorTest { LOG.info("testChangeToVotingWithNoLeaderAndOtherLeaderElected ending"); } - private static void verifyRaftState(RaftState expState, RaftActor... raftActors) { + private static void verifyRaftState(final RaftState expState, final RaftActor... raftActors) { Stopwatch sw = Stopwatch.createStarted(); while (sw.elapsed(TimeUnit.SECONDS) <= 5) { for (RaftActor raftActor : raftActors) { @@ -1440,33 +1440,34 @@ public class RaftActorServerConfigurationSupportTest extends AbstractActorTest { fail("None of the RaftActors have state " + expState); } - private static ServerInfo votingServer(String id) { + private static ServerInfo votingServer(final String id) { return new ServerInfo(id, true); } - private static ServerInfo nonVotingServer(String id) { + private static ServerInfo nonVotingServer(final String id) { return new ServerInfo(id, false); } - private ActorRef newLeaderCollectorActor(MockLeaderRaftActor leaderRaftActor) { + private ActorRef newLeaderCollectorActor(final MockLeaderRaftActor leaderRaftActor) { return newCollectorActor(leaderRaftActor, LEADER_ID); } - private ActorRef newCollectorActor(AbstractMockRaftActor raftActor, String id) { + private ActorRef newCollectorActor(final AbstractMockRaftActor raftActor, final String id) { ActorRef collectorActor = actorFactory.createTestActor( MessageCollectorActor.props(), actorFactory.generateActorId(id + "Collector")); raftActor.setCollectorActor(collectorActor); return collectorActor; } - private static void verifyServerConfigurationPayloadEntry(ReplicatedLog log, ServerInfo... expected) { + private static void verifyServerConfigurationPayloadEntry(final ReplicatedLog log, final ServerInfo... expected) { ReplicatedLogEntry logEntry = log.get(log.lastIndex()); assertEquals("Last log entry payload class", ServerConfigurationPayload.class, logEntry.getData().getClass()); ServerConfigurationPayload payload = (ServerConfigurationPayload)logEntry.getData(); assertEquals("Server config", Sets.newHashSet(expected), Sets.newHashSet(payload.getServerConfig())); } - private static RaftActorContextImpl newFollowerContext(String id, TestActorRef actor) { + private static RaftActorContextImpl newFollowerContext(final String id, + final TestActorRef actor) { DefaultConfigParamsImpl configParams = new DefaultConfigParamsImpl(); configParams.setHeartBeatInterval(new FiniteDuration(100, TimeUnit.MILLISECONDS)); configParams.setElectionTimeoutFactor(100000); @@ -1482,23 +1483,23 @@ public class RaftActorServerConfigurationSupportTest extends AbstractActorTest { private volatile ActorRef collectorActor; private volatile Class dropMessageOfType; - AbstractMockRaftActor(String id, Map peerAddresses, Optional config, - boolean persistent, ActorRef collectorActor) { + AbstractMockRaftActor(final String id, final Map peerAddresses, + final Optional config, final boolean persistent, final ActorRef collectorActor) { super(builder().id(id).peerAddresses(peerAddresses).config(config.get()) .persistent(Optional.of(persistent))); this.collectorActor = collectorActor; } - void setDropMessageOfType(Class dropMessageOfType) { + void setDropMessageOfType(final Class dropMessageOfType) { this.dropMessageOfType = dropMessageOfType; } - void setCollectorActor(ActorRef collectorActor) { + void setCollectorActor(final ActorRef collectorActor) { this.collectorActor = collectorActor; } @Override - public void handleCommand(Object message) { + public void handleCommand(final Object message) { if (dropMessageOfType == null || !dropMessageOfType.equals(message.getClass())) { super.handleCommand(message); } @@ -1511,30 +1512,31 @@ public class RaftActorServerConfigurationSupportTest extends AbstractActorTest { public static class CollectingMockRaftActor extends AbstractMockRaftActor { - CollectingMockRaftActor(String id, Map peerAddresses, Optional config, - boolean persistent, ActorRef collectorActor) { + CollectingMockRaftActor(final String id, final Map peerAddresses, + final Optional config, final boolean persistent, final ActorRef collectorActor) { super(id, peerAddresses, config, persistent, collectorActor); snapshotCohortDelegate = new RaftActorSnapshotCohort() { @Override - public void createSnapshot(ActorRef actorRef, java.util.Optional installSnapshotStream) { + public void createSnapshot(final ActorRef actorRef, + final Optional installSnapshotStream) { actorRef.tell(new CaptureSnapshotReply(ByteState.empty(), installSnapshotStream), actorRef); } @Override public void applySnapshot( - org.opendaylight.controller.cluster.raft.persisted.Snapshot.State snapshotState) { + final org.opendaylight.controller.cluster.raft.persisted.Snapshot.State snapshotState) { } @Override public org.opendaylight.controller.cluster.raft.persisted.Snapshot.State deserializeSnapshot( - ByteSource snapshotBytes) { + final ByteSource snapshotBytes) { throw new UnsupportedOperationException(); } }; } public static Props props(final String id, final Map peerAddresses, - ConfigParams config, boolean persistent, ActorRef collectorActor) { + final ConfigParams config, final boolean persistent, final ActorRef collectorActor) { return Props.create(CollectingMockRaftActor.class, id, peerAddresses, Optional.of(config), persistent, collectorActor); @@ -1543,8 +1545,8 @@ public class RaftActorServerConfigurationSupportTest extends AbstractActorTest { } public static class MockLeaderRaftActor extends AbstractMockRaftActor { - public MockLeaderRaftActor(Map peerAddresses, ConfigParams config, - RaftActorContext fromContext) { + public MockLeaderRaftActor(final Map peerAddresses, final ConfigParams config, + final RaftActorContext fromContext) { super(LEADER_ID, peerAddresses, Optional.of(config), NO_PERSISTENCE, null); setPersistence(false); @@ -1569,7 +1571,7 @@ public class RaftActorServerConfigurationSupportTest extends AbstractActorTest { @Override @SuppressWarnings("checkstyle:IllegalCatch") - public void createSnapshot(ActorRef actorRef, java.util.Optional installSnapshotStream) { + public void createSnapshot(final ActorRef actorRef, final Optional installSnapshotStream) { MockSnapshotState snapshotState = new MockSnapshotState(new ArrayList<>(getState())); if (installSnapshotStream.isPresent()) { SerializationUtils.serialize(snapshotState, installSnapshotStream.get()); @@ -1578,7 +1580,7 @@ public class RaftActorServerConfigurationSupportTest extends AbstractActorTest { actorRef.tell(new CaptureSnapshotReply(snapshotState, installSnapshotStream), actorRef); } - static Props props(Map peerAddresses, RaftActorContext fromContext) { + static Props props(final Map peerAddresses, final RaftActorContext fromContext) { DefaultConfigParamsImpl configParams = new DefaultConfigParamsImpl(); configParams.setHeartBeatInterval(new FiniteDuration(100, TimeUnit.MILLISECONDS)); configParams.setElectionTimeoutFactor(10); @@ -1587,13 +1589,13 @@ public class RaftActorServerConfigurationSupportTest extends AbstractActorTest { } public static class MockNewFollowerRaftActor extends AbstractMockRaftActor { - public MockNewFollowerRaftActor(ConfigParams config, ActorRef collectorActor) { + public MockNewFollowerRaftActor(final ConfigParams config, final ActorRef collectorActor) { super(NEW_SERVER_ID, Maps.newHashMap(), Optional.of(config), NO_PERSISTENCE, collectorActor); setPersistence(false); } - static Props props(ConfigParams config, ActorRef collectorActor) { + static Props props(final ConfigParams config, final ActorRef collectorActor) { return Props.create(MockNewFollowerRaftActor.class, config, collectorActor); } } diff --git a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorTest.java b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorTest.java index 3b58cb01d1..96e04df15a 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorTest.java +++ b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorTest.java @@ -37,7 +37,6 @@ import akka.persistence.SnapshotOffer; import akka.protobuf.ByteString; import akka.testkit.TestActorRef; import akka.testkit.javadsl.TestKit; -import com.google.common.base.Optional; import com.google.common.collect.ImmutableMap; import com.google.common.util.concurrent.Uninterruptibles; import java.io.ByteArrayOutputStream; @@ -49,6 +48,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; @@ -340,8 +340,7 @@ public class RaftActorTest extends AbstractActorTest { doReturn(true).when(mockSupport).handleSnapshotMessage(same(applySnapshot), any(ActorRef.class)); mockRaftActor.handleCommand(applySnapshot); - CaptureSnapshotReply captureSnapshotReply = new CaptureSnapshotReply(ByteState.empty(), - java.util.Optional.empty()); + CaptureSnapshotReply captureSnapshotReply = new CaptureSnapshotReply(ByteState.empty(), Optional.empty()); doReturn(true).when(mockSupport).handleSnapshotMessage(same(captureSnapshotReply), any(ActorRef.class)); mockRaftActor.handleCommand(captureSnapshotReply); @@ -615,7 +614,7 @@ public class RaftActorTest extends AbstractActorTest { new MockRaftActorContext.MockPayload("foo-3"), new MockRaftActorContext.MockPayload("foo-4"))); - leaderActor.getRaftActorContext().getSnapshotManager().persist(snapshotState, java.util.Optional.empty(), + leaderActor.getRaftActorContext().getSnapshotManager().persist(snapshotState, Optional.empty(), Runtime.getRuntime().totalMemory()); assertTrue(leaderActor.getRaftActorContext().getSnapshotManager().isCapturing()); @@ -707,7 +706,7 @@ public class RaftActorTest extends AbstractActorTest { new MockRaftActorContext.MockPayload("foo-3"), new MockRaftActorContext.MockPayload("foo-4"))); followerActor.handleCommand(new CaptureSnapshotReply(ByteState.of(snapshotBytes.toByteArray()), - java.util.Optional.empty())); + Optional.empty())); assertTrue(followerActor.getRaftActorContext().getSnapshotManager().isCapturing()); // The commit is needed to complete the snapshot creation process @@ -799,7 +798,7 @@ public class RaftActorTest extends AbstractActorTest { new MockRaftActorContext.MockPayload("foo-3"), new MockRaftActorContext.MockPayload("foo-4"))); leaderActor.handleCommand(new CaptureSnapshotReply(ByteState.of(snapshotBytes.toByteArray()), - java.util.Optional.empty())); + Optional.empty())); assertTrue(leaderActor.getRaftActorContext().getSnapshotManager().isCapturing()); assertEquals("Real snapshot didn't clear the log till replicatedToAllIndex", 0, @@ -846,7 +845,7 @@ public class RaftActorTest extends AbstractActorTest { // Now send a CaptureSnapshotReply mockActorRef.tell(new CaptureSnapshotReply(ByteState.of(fromObject("foo").toByteArray()), - java.util.Optional.empty()), mockActorRef); + Optional.empty()), mockActorRef); // Trimming log in this scenario is a no-op assertEquals(-1, leaderActor.getReplicatedLog().getSnapshotIndex()); @@ -887,7 +886,7 @@ public class RaftActorTest extends AbstractActorTest { // Now send a CaptureSnapshotReply mockActorRef.tell(new CaptureSnapshotReply(ByteState.of(fromObject("foo").toByteArray()), - java.util.Optional.empty()), mockActorRef); + Optional.empty()), mockActorRef); // Trimming log in this scenario is a no-op assertEquals(3, leaderActor.getReplicatedLog().getSnapshotIndex()); @@ -1042,10 +1041,10 @@ public class RaftActorTest extends AbstractActorTest { ArgumentCaptor replyActor = ArgumentCaptor.forClass(ActorRef.class); verify(mockRaftActor.snapshotCohortDelegate, timeout(5000)).createSnapshot(replyActor.capture(), - eq(java.util.Optional.empty())); + eq(Optional.empty())); byte[] stateSnapshot = new byte[]{1,2,3}; - replyActor.getValue().tell(new CaptureSnapshotReply(ByteState.of(stateSnapshot), java.util.Optional.empty()), + replyActor.getValue().tell(new CaptureSnapshotReply(ByteState.of(stateSnapshot), Optional.empty()), ActorRef.noSender()); GetSnapshotReply reply = kit.expectMsgClass(GetSnapshotReply.class); diff --git a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/behaviors/FollowerTest.java b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/behaviors/FollowerTest.java index 2ba06d6925..a51134676a 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/behaviors/FollowerTest.java +++ b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/behaviors/FollowerTest.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.controller.cluster.raft.behaviors; import static org.junit.Assert.assertEquals; @@ -25,7 +24,6 @@ import akka.dispatch.Dispatchers; import akka.protobuf.ByteString; import akka.testkit.TestActorRef; import akka.testkit.javadsl.TestKit; -import com.google.common.base.Optional; import com.google.common.base.Stopwatch; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; @@ -37,6 +35,7 @@ import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import java.util.List; +import java.util.Optional; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicReference; import org.junit.After; @@ -1342,8 +1341,7 @@ public class FollowerTest extends AbstractRaftActorBehaviorTest { final AtomicReference followerRaftActor) { RaftActorSnapshotCohort snapshotCohort = new RaftActorSnapshotCohort() { @Override - public void createSnapshot(final ActorRef actorRef, - final java.util.Optional installSnapshotStream) { + public void createSnapshot(final ActorRef actorRef, final Optional installSnapshotStream) { try { actorRef.tell(new CaptureSnapshotReply(new MockSnapshotState(followerRaftActor.get().getState()), installSnapshotStream), actorRef); diff --git a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/behaviors/LeaderTest.java b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/behaviors/LeaderTest.java index af4819090e..d9a5487e55 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/behaviors/LeaderTest.java +++ b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/behaviors/LeaderTest.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.controller.cluster.raft.behaviors; import static org.junit.Assert.assertEquals; @@ -26,7 +25,6 @@ import akka.actor.Terminated; import akka.protobuf.ByteString; import akka.testkit.TestActorRef; import akka.testkit.javadsl.TestKit; -import com.google.common.base.Optional; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.io.ByteSource; @@ -38,6 +36,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicReference; import org.apache.commons.lang3.SerializationUtils; @@ -771,7 +770,7 @@ public class LeaderTest extends AbstractLeaderTest { actorContext.getReplicatedLog().removeFrom(0); - AtomicReference> installSnapshotStream = new AtomicReference<>(); + AtomicReference> installSnapshotStream = new AtomicReference<>(); actorContext.setCreateSnapshotProcedure(installSnapshotStream::set); leader = new Leader(actorContext); @@ -2139,7 +2138,7 @@ public class LeaderTest extends AbstractLeaderTest { leader.transferLeadership(mockTransferCohort); verify(mockTransferCohort, never()).transferComplete(); - doReturn(Optional.absent()).when(mockTransferCohort).getRequestedFollowerId(); + doReturn(Optional.empty()).when(mockTransferCohort).getRequestedFollowerId(); MessageCollectorActor.expectFirstMatching(followerActor, AppendEntries.class); leader.handleMessage(leaderActor, new AppendEntriesReply(FOLLOWER_ID, 1, true, 0, 1, (short)0)); @@ -2170,7 +2169,7 @@ public class LeaderTest extends AbstractLeaderTest { MessageCollectorActor.clearMessages(followerActor); RaftActorLeadershipTransferCohort mockTransferCohort = mock(RaftActorLeadershipTransferCohort.class); - doReturn(Optional.absent()).when(mockTransferCohort).getRequestedFollowerId(); + doReturn(Optional.empty()).when(mockTransferCohort).getRequestedFollowerId(); leader.transferLeadership(mockTransferCohort); verify(mockTransferCohort, never()).transferComplete(); @@ -2202,7 +2201,7 @@ public class LeaderTest extends AbstractLeaderTest { MessageCollectorActor.clearMessages(followerActor); RaftActorLeadershipTransferCohort mockTransferCohort = mock(RaftActorLeadershipTransferCohort.class); - doReturn(Optional.absent()).when(mockTransferCohort).getRequestedFollowerId(); + doReturn(Optional.empty()).when(mockTransferCohort).getRequestedFollowerId(); leader.transferLeadership(mockTransferCohort); verify(mockTransferCohort, never()).transferComplete(); diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/Shard.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/Shard.java index 6a05d25fe5..d02bd32099 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/Shard.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/Shard.java @@ -19,7 +19,6 @@ import akka.actor.Status.Failure; import akka.serialization.JavaSerializer; import akka.serialization.Serialization; import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.base.Ticker; import com.google.common.base.Verify; @@ -32,6 +31,7 @@ import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.Map; +import java.util.Optional; import java.util.OptionalLong; import java.util.concurrent.TimeUnit; import org.eclipse.jdt.annotation.NonNull; @@ -307,7 +307,7 @@ public class Shard extends RaftActor { @Override protected void handleNonRaftCommand(final Object message) { try (MessageTracker.Context context = appendEntriesReplyTracker.received(message)) { - final java.util.Optional maybeError = context.error(); + final Optional maybeError = context.error(); if (maybeError.isPresent()) { LOG.trace("{} : AppendEntriesReply failed to arrive at the expected interval {}", persistenceId(), maybeError.get());