From 8e1d3c4f9001fbc8a5d3d3bea57916c5099078b2 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Tue, 18 Apr 2023 11:07:52 +0200 Subject: [PATCH] Migrate users of Optional.get() We have an incoming enforcement patch, prepare to adopt it. Change-Id: If73abd4ceaea71a216a4bc3a3968b400b508ec38 Signed-off-by: Robert Varga --- .../dsbenchmark/simpletx/SimpletxBaRead.java | 2 +- .../dsbenchmark/simpletx/SimpletxDomRead.java | 2 +- .../dsbenchmark/txchain/TxchainBaRead.java | 2 +- .../DataStoreAppConfigDefaultXMLReader.java | 2 +- .../ext/DataStoreAppConfigMetadata.java | 2 +- .../util/FlexibleThreadPoolWrapper.java | 5 +- .../commands/ConnectClientSuccessTest.java | 2 +- .../ModifyTransactionRequestBuilderTest.java | 8 +-- .../client/AbstractClientConnection.java | 16 ++--- .../access/client/ClientActorBehavior.java | 4 +- .../cluster/access/client/TransmitQueue.java | 4 +- .../client/TransmittingTransmitQueueTest.java | 4 +- .../akka/AkkaEntityOwnershipServiceTest.java | 6 +- .../cluster/example/ExampleActor.java | 2 +- .../controller/cluster/raft/RaftActor.java | 8 +-- .../RaftActorLeadershipTransferCohort.java | 2 +- .../cluster/raft/SnapshotManager.java | 35 +++++----- .../raft/behaviors/AbstractLeader.java | 8 +-- .../behaviors/AbstractRaftActorBehavior.java | 2 +- .../cluster/raft/behaviors/Follower.java | 6 +- .../cluster/raft/behaviors/Leader.java | 2 +- .../raft/behaviors/SnapshotTracker.java | 4 +- .../controller/cluster/raft/messages/IS.java | 4 +- .../raft/messages/InstallSnapshot.java | 18 ++--- .../AbstractRaftActorIntegrationTest.java | 2 +- .../cluster/raft/MockRaftActor.java | 2 +- ...ftActorServerConfigurationSupportTest.java | 14 ++-- .../cluster/raft/SnapshotManagerTest.java | 2 +- .../cluster/raft/behaviors/LeaderTest.java | 11 +-- .../raft/messages/InstallSnapshotTest.java | 4 +- .../admin/ClusterAdminRpcServiceTest.java | 5 +- .../cluster/messaging/MessageSlicer.java | 2 +- .../common/actor/MessageTrackerTest.java | 58 +++++++-------- .../utils/stream/SerializationUtilsTest.java | 3 +- .../transformer/UintAdaptingPrunerTest.java | 2 +- .../messaging/MessageAssemblerTest.java | 8 +-- .../messaging/MessageSliceReplyTest.java | 8 +-- .../MessageSlicingIntegrationTest.java | 2 +- .../actors/dds/AbstractProxyTransaction.java | 4 +- .../dds/LocalReadOnlyProxyTransaction.java | 2 +- .../dds/LocalReadWriteProxyTransaction.java | 4 +- .../databroker/actors/dds/ProxyHistory.java | 4 +- .../actors/dds/RemoteProxyTransaction.java | 2 +- .../datastore/AbstractFrontendHistory.java | 2 +- .../AbstractTransactionContextFactory.java | 26 +++---- ...tShardDataTreeChangeListenerPublisher.java | 2 +- .../FrontendReadOnlyTransaction.java | 5 +- .../FrontendReadWriteTransaction.java | 7 +- .../controller/cluster/datastore/Shard.java | 18 ++--- .../cluster/datastore/ShardDataTree.java | 11 ++- .../ShardDataTreeChangePublisherActor.java | 5 +- .../datastore/SimpleShardDataTreeCohort.java | 8 +-- .../datastore/actors/JsonExportActor.java | 4 +- .../datastore/actors/ShardSnapshotActor.java | 2 +- .../DataTreeCandidateInputOutput.java | 68 ++++++------------ .../MetadataShardDataTreeSnapshot.java | 6 +- .../datastore/shardmanager/ShardManager.java | 8 +-- .../ClientBackedReadTransactionTest.java | 10 +-- .../ClientBackedReadWriteTransactionTest.java | 7 +- .../dds/AbstractProxyTransactionTest.java | 3 +- .../actors/dds/ClientTransactionTest.java | 5 +- .../DirectTransactionCommitCohortTest.java | 4 +- .../actors/dds/LocalProxyTransactionTest.java | 9 +-- .../LocalReadWriteProxyTransactionTest.java | 2 +- .../dds/ModuleShardBackendResolverTest.java | 2 +- .../dds/RemoteProxyTransactionTest.java | 7 +- ...ctDistributedDataStoreIntegrationTest.java | 70 +++++-------------- .../cluster/datastore/AbstractShardTest.java | 4 +- .../DataTreeCohortIntegrationTest.java | 5 +- ...butedDataStoreRemotingIntegrationTest.java | 31 +++----- ...reWithSegmentedJournalIntegrationTest.java | 5 +- .../cluster/datastore/IntegrationTestKit.java | 7 +- .../cluster/datastore/ShardDataTreeTest.java | 30 +++----- .../ShardRecoveryCoordinatorTest.java | 2 +- .../cluster/datastore/ShardTest.java | 6 +- .../cluster/datastore/ShardTestKit.java | 11 ++- .../datastore/TransactionProxyTest.java | 42 ++++------- .../actors/ShardSnapshotActorTest.java | 8 +-- .../ReadyLocalTransactionSerializerTest.java | 3 +- .../MutableCompositeModificationTest.java | 2 +- .../persisted/ShardDataTreeSnapshotTest.java | 10 +-- .../persisted/ShardSnapshotStateTest.java | 5 +- .../datastore/utils/ActorUtilsTest.java | 9 +-- .../utils/MockDataTreeChangeListener.java | 6 +- .../utils/NormalizedNodeAggregatorTest.java | 9 +-- .../PruningDataTreeModificationTest.java | 20 ++---- .../controller/remote/rpc/OpsRegistrar.java | 4 +- .../rpc/RemoteOpsImplementationTest.java | 5 +- .../rpc/registry/ActionRegistryTest.java | 2 +- .../remote/rpc/registry/RpcRegistryTest.java | 2 +- .../CarEntryDataTreeCommitCohort.java | 4 +- .../provider/MdsalLowLevelTestProvider.java | 4 +- .../it/provider/impl/IdIntsListener.java | 10 +-- .../toaster/provider/OpendaylightToaster.java | 2 +- .../provider/OpenDaylightToasterTest.java | 2 +- 95 files changed, 340 insertions(+), 490 deletions(-) diff --git a/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/simpletx/SimpletxBaRead.java b/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/simpletx/SimpletxBaRead.java index a879e8e2ee..1f6b7f9884 100644 --- a/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/simpletx/SimpletxBaRead.java +++ b/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/simpletx/SimpletxBaRead.java @@ -64,7 +64,7 @@ public class SimpletxBaRead extends DatastoreAbstractWriter { try { optionalDataObject = submitFuture.get(); if (optionalDataObject != null && optionalDataObject.isPresent()) { - OuterList outerList = optionalDataObject.get(); + OuterList outerList = optionalDataObject.orElseThrow(); String[] objectsArray = new String[outerList.getInnerList().size()]; diff --git a/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/simpletx/SimpletxDomRead.java b/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/simpletx/SimpletxDomRead.java index 4e9a59a744..d46a769b09 100644 --- a/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/simpletx/SimpletxDomRead.java +++ b/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/simpletx/SimpletxDomRead.java @@ -66,7 +66,7 @@ public class SimpletxDomRead extends DatastoreAbstractWriter { try { Optional optionalDataObject = submitFuture.get(); if (optionalDataObject != null && optionalDataObject.isPresent()) { - NormalizedNode ret = optionalDataObject.get(); + NormalizedNode ret = optionalDataObject.orElseThrow(); LOG.trace("optionalDataObject is {}", ret); txOk++; } else { diff --git a/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/txchain/TxchainBaRead.java b/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/txchain/TxchainBaRead.java index 9ee8a9f898..ed203e72c8 100644 --- a/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/txchain/TxchainBaRead.java +++ b/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/txchain/TxchainBaRead.java @@ -64,7 +64,7 @@ public class TxchainBaRead extends DatastoreAbstractWriter implements Transactio try { Optional optionalDataObject = submitFuture.get(); if (optionalDataObject != null && optionalDataObject.isPresent()) { - OuterList outerList = optionalDataObject.get(); + OuterList outerList = optionalDataObject.orElseThrow(); String[] objectsArray = new String[outerList.nonnullInnerList().size()]; for (InnerList innerList : outerList.nonnullInnerList().values()) { diff --git a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/DataStoreAppConfigDefaultXMLReader.java b/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/DataStoreAppConfigDefaultXMLReader.java index 44b11606d7..4dea3404f9 100644 --- a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/DataStoreAppConfigDefaultXMLReader.java +++ b/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/DataStoreAppConfigDefaultXMLReader.java @@ -175,7 +175,7 @@ public class DataStoreAppConfigDefaultXMLReader { if (!optionalURL.isPresent()) { return null; } - URL url = optionalURL.get(); + URL url = optionalURL.orElseThrow(); try (InputStream is = url.openStream()) { Document root = UntrustedXML.newDocumentBuilder().parse(is); NormalizedNode dataNode = bindingContext.parseDataElement(root.getDocumentElement(), diff --git a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/DataStoreAppConfigMetadata.java b/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/DataStoreAppConfigMetadata.java index 906b11c0b2..1e105bd717 100644 --- a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/DataStoreAppConfigMetadata.java +++ b/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/DataStoreAppConfigMetadata.java @@ -219,7 +219,7 @@ public class DataStoreAppConfigMetadata extends AbstractDependentComponentFactor if (result) { DataObject localAppConfig; if (possibleAppConfig.isPresent()) { - localAppConfig = possibleAppConfig.get(); + localAppConfig = possibleAppConfig.orElseThrow(); } else { // No app config data is present so create an empty instance via the bindingSerializer service. // This will also return default values for leafs that haven't been explicitly set. diff --git a/opendaylight/config/threadpool-config-impl/src/main/java/org/opendaylight/controller/config/threadpool/util/FlexibleThreadPoolWrapper.java b/opendaylight/config/threadpool-config-impl/src/main/java/org/opendaylight/controller/config/threadpool/util/FlexibleThreadPoolWrapper.java index 9949e36d37..d56765d1bb 100644 --- a/opendaylight/config/threadpool-config-impl/src/main/java/org/opendaylight/controller/config/threadpool/util/FlexibleThreadPoolWrapper.java +++ b/opendaylight/config/threadpool-config-impl/src/main/java/org/opendaylight/controller/config/threadpool/util/FlexibleThreadPoolWrapper.java @@ -52,9 +52,8 @@ public class FlexibleThreadPoolWrapper implements ThreadPool, Closeable { * This impl saturates threadpool first, then queue. When both are full caller will get blocked. */ private static ForwardingBlockingQueue getQueue(final OptionalInt capacity) { - final BlockingQueue delegate = capacity.isPresent() ? new LinkedBlockingQueue<>(capacity.getAsInt()) - : new LinkedBlockingQueue<>(); - return new ForwardingBlockingQueue(delegate); + return new ForwardingBlockingQueue( + capacity.isPresent() ? new LinkedBlockingQueue<>(capacity.orElseThrow()) : new LinkedBlockingQueue<>()); } @Override diff --git a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/ConnectClientSuccessTest.java b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/ConnectClientSuccessTest.java index 2182091897..46a2b63381 100644 --- a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/ConnectClientSuccessTest.java +++ b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/ConnectClientSuccessTest.java @@ -63,7 +63,7 @@ public class ConnectClientSuccessTest extends AbstractRequestSuccessTest { // Private constructor to avoid code duplication. private AbstractClientConnection(final AbstractClientConnection oldConn, final TransmitQueue newQueue, final String backendName) { - this.context = oldConn.context; - this.cookie = oldConn.cookie; + context = oldConn.context; + cookie = oldConn.cookie; this.backendName = requireNonNull(backendName); - this.queue = requireNonNull(newQueue); + queue = requireNonNull(newQueue); // Will be updated in finishReplay if needed. - this.lastReceivedTicks = oldConn.lastReceivedTicks; + lastReceivedTicks = oldConn.lastReceivedTicks; } // This constructor is only to be called by ConnectingClientConnection constructor. @@ -110,8 +110,8 @@ public abstract class AbstractClientConnection { this.context = requireNonNull(context); this.cookie = requireNonNull(cookie); this.backendName = requireNonNull(backendName); - this.queue = new TransmitQueue.Halted(queueDepth); - this.lastReceivedTicks = currentTime(); + queue = new TransmitQueue.Halted(queueDepth); + lastReceivedTicks = currentTime(); } // This constructor is only to be called (indirectly) by ReconnectingClientConnection constructor. @@ -345,7 +345,7 @@ public abstract class AbstractClientConnection { if (delay.isPresent()) { // If there is new delay, schedule a timer - scheduleTimer(delay.getAsLong()); + scheduleTimer(delay.orElseThrow()); } else { LOG.debug("{}: not scheduling timeout on {}", context.persistenceId(), this); } @@ -489,7 +489,7 @@ public abstract class AbstractClientConnection { } if (maybeEntry.isPresent()) { - final TransmittedConnectionEntry entry = maybeEntry.get(); + final TransmittedConnectionEntry entry = maybeEntry.orElseThrow(); LOG.debug("Completing {} with {}", entry, envelope); entry.complete(envelope.getMessage()); } diff --git a/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/ClientActorBehavior.java b/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/ClientActorBehavior.java index 6856c03322..3f8c11a913 100644 --- a/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/ClientActorBehavior.java +++ b/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/ClientActorBehavior.java @@ -210,7 +210,7 @@ public abstract class ClientActorBehavior extends * sessionId and if it does not match our current connection just ignore it. */ final Optional optBackend = conn.getBackendInfo(); - if (optBackend.isPresent() && optBackend.get().getSessionId() != command.getSessionId()) { + if (optBackend.isPresent() && optBackend.orElseThrow().getSessionId() != command.getSessionId()) { LOG.debug("{}: Mismatched current connection {} and envelope {}, ignoring response", persistenceId(), conn, command); return this; @@ -415,7 +415,7 @@ public abstract class ClientActorBehavior extends final Long shard = oldConn.cookie(); LOG.info("{}: refreshing backend for shard {}", persistenceId(), shard); - resolver().refreshBackendInfo(shard, conn.getBackendInfo().get()).whenComplete( + resolver().refreshBackendInfo(shard, conn.getBackendInfo().orElseThrow()).whenComplete( (backend, failure) -> context().executeInActor(behavior -> { backendConnectFinished(shard, conn, backend, failure); return behavior; diff --git a/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/TransmitQueue.java b/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/TransmitQueue.java index 7ef0d22495..677a86523d 100644 --- a/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/TransmitQueue.java +++ b/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/TransmitQueue.java @@ -219,7 +219,7 @@ abstract class TransmitQueue { return Optional.empty(); } - final TransmittedConnectionEntry entry = maybeEntry.get(); + final TransmittedConnectionEntry entry = maybeEntry.orElseThrow(); tracker.closeTask(now, entry.getEnqueuedTicks(), entry.getTxTicks(), envelope.getExecutionTimeNanos()); // We have freed up a slot, try to transmit something @@ -257,7 +257,7 @@ abstract class TransmitQueue { return false; } - inflight.addLast(maybeTransmitted.get()); + inflight.addLast(maybeTransmitted.orElseThrow()); return true; } diff --git a/opendaylight/md-sal/cds-access-client/src/test/java/org/opendaylight/controller/cluster/access/client/TransmittingTransmitQueueTest.java b/opendaylight/md-sal/cds-access-client/src/test/java/org/opendaylight/controller/cluster/access/client/TransmittingTransmitQueueTest.java index cb8794cdb5..9974e1b1cd 100644 --- a/opendaylight/md-sal/cds-access-client/src/test/java/org/opendaylight/controller/cluster/access/client/TransmittingTransmitQueueTest.java +++ b/opendaylight/md-sal/cds-access-client/src/test/java/org/opendaylight/controller/cluster/access/client/TransmittingTransmitQueueTest.java @@ -146,8 +146,8 @@ public class TransmittingTransmitQueueTest extends AbstractTransmitQueueTest transmitted = queue.transmit(entry, now); assertTrue(transmitted.isPresent()); - assertEquals(request, transmitted.get().getRequest()); - assertEquals(callback, transmitted.get().getCallback()); + assertEquals(request, transmitted.orElseThrow().getRequest()); + assertEquals(callback, transmitted.orElseThrow().getCallback()); final RequestEnvelope requestEnvelope = probe.expectMsgClass(RequestEnvelope.class); assertEquals(request, requestEnvelope.getMessage()); diff --git a/opendaylight/md-sal/eos-dom-akka/src/test/java/org/opendaylight/controller/eos/akka/AkkaEntityOwnershipServiceTest.java b/opendaylight/md-sal/eos-dom-akka/src/test/java/org/opendaylight/controller/eos/akka/AkkaEntityOwnershipServiceTest.java index 199e7931bb..dc4afb426a 100644 --- a/opendaylight/md-sal/eos-dom-akka/src/test/java/org/opendaylight/controller/eos/akka/AkkaEntityOwnershipServiceTest.java +++ b/opendaylight/md-sal/eos-dom-akka/src/test/java/org/opendaylight/controller/eos/akka/AkkaEntityOwnershipServiceTest.java @@ -252,9 +252,7 @@ public class AkkaEntityOwnershipServiceTest extends AbstractNativeEosTest { private static void verifyGetOwnershipState(final DOMEntityOwnershipService service, final DOMEntity entity, final EntityOwnershipState expState) { await().atMost(Duration.ofSeconds(5)).untilAsserted(() -> { - final Optional state = service.getOwnershipState(entity); - assertTrue("getOwnershipState present", state.isPresent()); - assertEquals("EntityOwnershipState", expState, state.get()); + assertEquals(Optional.of(expState), service.getOwnershipState(entity)); }); } @@ -316,4 +314,4 @@ public class AkkaEntityOwnershipServiceTest extends AbstractNativeEosTest { assertNotNull("EntityOwnershipCandidateRegistration null", reg); assertEquals("getInstance", entity, reg.getInstance()); } -} \ No newline at end of file +} 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 10ccb57938..052a48940c 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 @@ -129,7 +129,7 @@ public class ExampleActor extends RaftActor implements RaftActorRecoveryCohort, public void createSnapshot(final ActorRef actorRef, final Optional installSnapshotStream) { try { if (installSnapshotStream.isPresent()) { - SerializationUtils.serialize((Serializable) state, installSnapshotStream.get()); + SerializationUtils.serialize((Serializable) state, installSnapshotStream.orElseThrow()); } } catch (RuntimeException e) { LOG.error("Exception in creating snapshot", e); 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 2d9756330b..130340c82e 100644 --- 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 @@ -132,7 +132,7 @@ public abstract class RaftActor extends AbstractUntypedPersistentActor { context = new RaftActorContextImpl(getSelf(), getContext(), id, new ElectionTermImpl(persistentProvider, id, LOG), -1, -1, peerAddresses, - configParams.isPresent() ? configParams.get() : new DefaultConfigParamsImpl(), + configParams.isPresent() ? configParams.orElseThrow() : new DefaultConfigParamsImpl(), delegatingPersistenceProvider, this::handleApplyState, LOG, this::executeInSelf); context.setPayloadVersion(payloadVersion); @@ -413,7 +413,7 @@ public abstract class RaftActor extends AbstractUntypedPersistentActor { Optional roleChangeNotifier = getRoleChangeNotifier(); if (getRaftState() == RaftState.Follower && roleChangeNotifier.isPresent() && leaderTransitioning.getLeaderId().equals(getCurrentBehavior().getLeaderId())) { - roleChangeNotifier.get().tell(newLeaderStateChanged(getId(), null, + roleChangeNotifier.orElseThrow().tell(newLeaderStateChanged(getId(), null, getCurrentBehavior().getLeaderPayloadVersion()), getSelf()); } } @@ -512,7 +512,7 @@ public abstract class RaftActor extends AbstractUntypedPersistentActor { if (!Objects.equals(lastLeaderId, currentBehavior.getLeaderId()) || oldBehaviorState.getLeaderPayloadVersion() != currentBehavior.getLeaderPayloadVersion()) { if (roleChangeNotifier.isPresent()) { - roleChangeNotifier.get().tell(newLeaderStateChanged(getId(), currentBehavior.getLeaderId(), + roleChangeNotifier.orElseThrow().tell(newLeaderStateChanged(getId(), currentBehavior.getLeaderId(), currentBehavior.getLeaderPayloadVersion()), getSelf()); } @@ -529,7 +529,7 @@ public abstract class RaftActor extends AbstractUntypedPersistentActor { if (roleChangeNotifier.isPresent() && (oldBehavior == null || oldBehavior.state() != currentBehavior.state())) { - roleChangeNotifier.get().tell(new RoleChanged(getId(), oldBehaviorStateName , + roleChangeNotifier.orElseThrow().tell(new RoleChanged(getId(), oldBehaviorStateName , currentBehavior.state().name()), getSelf()); } } 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 018155f4be..3aeaff6d89 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 @@ -89,7 +89,7 @@ public class RaftActorLeadershipTransferCohort { Optional roleChangeNotifier = raftActor.getRoleChangeNotifier(); if (roleChangeNotifier.isPresent()) { - roleChangeNotifier.get().tell(raftActor.newLeaderStateChanged(context.getId(), null, + roleChangeNotifier.orElseThrow().tell(raftActor.newLeaderStateChanged(context.getId(), null, currentBehavior.getLeaderPayloadVersion()), raftActor.self()); } diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/SnapshotManager.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/SnapshotManager.java index 8037fb8d73..ef39416cf5 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/SnapshotManager.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/SnapshotManager.java @@ -68,7 +68,7 @@ public class SnapshotManager implements SnapshotState { */ public SnapshotManager(final RaftActorContext context, final Logger logger) { this.context = context; - this.log = logger; + log = logger; } public boolean isApplying() { @@ -307,12 +307,12 @@ public class SnapshotManager implements SnapshotState { log.debug("{}: lastSequenceNumber prior to capture: {}", persistenceId(), lastSequenceNumber); - SnapshotManager.this.currentState = CREATING; + currentState = CREATING; try { createSnapshotProcedure.accept(Optional.ofNullable(installSnapshotStream)); } catch (Exception e) { - SnapshotManager.this.currentState = IDLE; + currentState = IDLE; log.error("Error creating snapshot", e); return false; } @@ -338,7 +338,7 @@ public class SnapshotManager implements SnapshotState { @Override public void apply(final ApplySnapshot toApply) { - SnapshotManager.this.applySnapshot = toApply; + applySnapshot = toApply; lastSequenceNumber = context.getPersistenceProvider().getLastSequenceNumber(); @@ -346,7 +346,7 @@ public class SnapshotManager implements SnapshotState { context.getPersistenceProvider().saveSnapshot(toApply.getSnapshot()); - SnapshotManager.this.currentState = PERSISTING; + currentState = PERSISTING; } @Override @@ -440,7 +440,8 @@ public class SnapshotManager implements SnapshotState { if (installSnapshotStream.isPresent()) { if (context.getId().equals(currentBehavior.getLeaderId())) { try { - ByteSource snapshotBytes = ((FileBackedOutputStream)installSnapshotStream.get()).asByteSource(); + ByteSource snapshotBytes = ((FileBackedOutputStream)installSnapshotStream.orElseThrow()) + .asByteSource(); currentBehavior.handleMessage(context.getActor(), new SendInstallSnapshot(snapshot, snapshotBytes)); } catch (IOException e) { @@ -448,12 +449,12 @@ public class SnapshotManager implements SnapshotState { context.getId(), e); } } else { - ((FileBackedOutputStream)installSnapshotStream.get()).cleanup(); + ((FileBackedOutputStream)installSnapshotStream.orElseThrow()).cleanup(); } } captureSnapshot = null; - SnapshotManager.this.currentState = PERSISTING; + currentState = PERSISTING; } @Override @@ -525,7 +526,7 @@ public class SnapshotManager implements SnapshotState { private void snapshotComplete() { lastSequenceNumber = -1; applySnapshot = null; - SnapshotManager.this.currentState = IDLE; + currentState = IDLE; context.getActor().tell(SnapshotComplete.INSTANCE, context.getActor()); } @@ -550,8 +551,8 @@ public class SnapshotManager implements SnapshotState { LastAppliedTermInformationReader init(final ReplicatedLog log, final long originalIndex, final ReplicatedLogEntry lastLogEntry, final boolean hasFollowers) { ReplicatedLogEntry entry = log.get(originalIndex); - this.index = -1L; - this.term = -1L; + index = -1L; + term = -1L; if (!hasFollowers) { if (lastLogEntry != null) { // since we have persisted the last-log-entry to persistent journal before the capture, @@ -571,12 +572,12 @@ public class SnapshotManager implements SnapshotState { @Override public long getIndex() { - return this.index; + return index; } @Override public long getTerm() { - return this.term; + return term; } } @@ -586,8 +587,8 @@ public class SnapshotManager implements SnapshotState { ReplicatedToAllTermInformationReader init(final ReplicatedLog log, final long originalIndex) { ReplicatedLogEntry entry = log.get(originalIndex); - this.index = -1L; - this.term = -1L; + index = -1L; + term = -1L; if (entry != null) { index = entry.getIndex(); @@ -599,12 +600,12 @@ public class SnapshotManager implements SnapshotState { @Override public long getIndex() { - return this.index; + return index; } @Override public long getTerm() { - return this.term; + return term; } } } diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/AbstractLeader.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/AbstractLeader.java index f97343f736..96c88b541c 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/AbstractLeader.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/AbstractLeader.java @@ -571,7 +571,7 @@ public abstract class AbstractLeader extends AbstractRaftActorBehavior { if (installSnapshotState.isLastChunk(reply.getChunkIndex())) { //this was the last chunk reply - long followerMatchIndex = snapshotHolder.get().getLastIncludedIndex(); + long followerMatchIndex = snapshotHolder.orElseThrow().getLastIncludedIndex(); followerLogInformation.setMatchIndex(followerMatchIndex); followerLogInformation.setNextIndex(followerMatchIndex + 1); followerLogInformation.clearLeaderInstallSnapshotState(); @@ -954,7 +954,7 @@ public abstract class AbstractLeader extends AbstractRaftActorBehavior { try { // Ensure the snapshot bytes are set - this is a no-op. - installSnapshotState.setSnapshotBytes(snapshotHolder.get().getSnapshotBytes()); + installSnapshotState.setSnapshotBytes(snapshotHolder.orElseThrow().getSnapshotBytes()); if (!installSnapshotState.canSendNextChunk()) { return; @@ -993,8 +993,8 @@ public abstract class AbstractLeader extends AbstractRaftActorBehavior { installSnapshotState.startChunkTimer(); followerActor.tell( new InstallSnapshot(currentTerm(), context.getId(), - snapshotHolder.get().getLastIncludedIndex(), - snapshotHolder.get().getLastIncludedTerm(), + snapshotHolder.orElseThrow().getLastIncludedIndex(), + snapshotHolder.orElseThrow().getLastIncludedTerm(), snapshotChunk, chunkIndex, installSnapshotState.getTotalChunks(), diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/AbstractRaftActorBehavior.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/AbstractRaftActorBehavior.java index d2a73b249d..055a053500 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/AbstractRaftActorBehavior.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/AbstractRaftActorBehavior.java @@ -505,7 +505,7 @@ public abstract class AbstractRaftActorBehavior implements RaftActorBehavior { return true; } - final Cluster cluster = maybeCluster.get(); + final Cluster cluster = maybeCluster.orElseThrow(); final Set unreachable = cluster.state().getUnreachable(); log.debug("{}: Cluster state: {}", logName(), unreachable); diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/Follower.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/Follower.java index 4913d98c36..a05fb5d7ef 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/Follower.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/Follower.java @@ -166,7 +166,7 @@ public class Follower extends AbstractRaftActorBehavior { leaderPayloadVersion = appendEntries.getPayloadVersion(); if (appendEntries.getLeaderAddress().isPresent()) { - final String address = appendEntries.getLeaderAddress().get(); + final String address = appendEntries.getLeaderAddress().orElseThrow(); log.debug("New leader address: {}", address); context.setPeerAddress(leaderId, address); @@ -550,7 +550,7 @@ public class Follower extends AbstractRaftActorBehavior { Address leaderAddress = leaderActor.anchorPath().address(); - CurrentClusterState state = cluster.get().state(); + CurrentClusterState state = cluster.orElseThrow().state(); Set unreachable = state.getUnreachable(); log.debug("{}: Checking for leader {} in the cluster unreachable set {}", logName(), leaderAddress, @@ -588,7 +588,7 @@ public class Follower extends AbstractRaftActorBehavior { return false; } - final Cluster cluster = maybeCluster.get(); + final Cluster cluster = maybeCluster.orElseThrow(); final Member selfMember = cluster.selfMember(); final CurrentClusterState state = cluster.state(); 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 3534ac5cf1..0e29352052 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 @@ -139,7 +139,7 @@ public class Leader extends AbstractLeader { final Optional requestedFollowerIdOptional = leadershipTransferContext.transferCohort.getRequestedFollowerId(); - if (requestedFollowerIdOptional.isPresent() && !requestedFollowerIdOptional.get().equals(followerId)) { + if (requestedFollowerIdOptional.isPresent() && !requestedFollowerIdOptional.orElseThrow().equals(followerId)) { // we want to transfer leadership to specific follower return; } diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/SnapshotTracker.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/SnapshotTracker.java index 9e920bd41e..c3b75161b0 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/SnapshotTracker.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/SnapshotTracker.java @@ -64,10 +64,10 @@ class SnapshotTracker implements AutoCloseable { throw new InvalidChunkException("Expected chunkIndex " + (lastChunkIndex + 1) + " got " + chunkIndex); } - if (maybeLastChunkHashCode.isPresent() && maybeLastChunkHashCode.getAsInt() != lastChunkHashCode) { + if (maybeLastChunkHashCode.isPresent() && maybeLastChunkHashCode.orElseThrow() != lastChunkHashCode) { throw new InvalidChunkException("The hash code of the recorded last chunk does not match " + "the senders hash code, expected " + lastChunkHashCode + " was " - + maybeLastChunkHashCode.getAsInt()); + + maybeLastChunkHashCode.orElseThrow()); } bufferedStream.write(chunk); diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/messages/IS.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/messages/IS.java index df9884aaaa..3247bb241e 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/messages/IS.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/messages/IS.java @@ -61,10 +61,10 @@ final class IS implements Externalizable { out.writeInt(installSnapshot.getTotalChunks()); if (lastChunkHashCode.isPresent()) { - out.writeInt(lastChunkHashCode.getAsInt()); + out.writeInt(lastChunkHashCode.orElseThrow()); } if (serverConfig.isPresent()) { - out.writeObject(serverConfig.get()); + out.writeObject(serverConfig.orElseThrow()); } out.writeObject(installSnapshot.getData()); diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/messages/InstallSnapshot.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/messages/InstallSnapshot.java index 4d78aa7a86..3cd470f6cc 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/messages/InstallSnapshot.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/messages/InstallSnapshot.java @@ -37,9 +37,10 @@ public final class InstallSnapshot extends AbstractRaftRPC { private final Optional serverConfig; private final short recipientRaftVersion; - @SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "Stores a reference to an externally mutable byte[] " - + "object but this is OK since this class is merely a DTO and does not process byte[] internally. " - + "Also it would be inefficient to create a copy as the byte[] could be large.") + @SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = """ + Stores a reference to an externally mutable byte[] object but this is OK since this class is merely a DTO and \ + does not process byte[] internally. Also it would be inefficient to create a copy as the byte[] could be \ + large.""") public InstallSnapshot(final long term, final String leaderId, final long lastIncludedIndex, final long lastIncludedTerm, final byte[] data, final int chunkIndex, final int totalChunks, final OptionalInt lastChunkHashCode, final Optional serverConfig, @@ -76,9 +77,10 @@ public final class InstallSnapshot extends AbstractRaftRPC { return lastIncludedTerm; } - @SuppressFBWarnings(value = "EI_EXPOSE_REP", justification = "Exposes a mutable object stored in a field but " - + "this is OK since this class is merely a DTO and does not process the byte[] internally. " - + "Also it would be inefficient to create a return copy as the byte[] could be large.") + @SuppressFBWarnings(value = "EI_EXPOSE_REP", justification = """ + Exposes a mutable object stored in a field but this is OK since this class is merely a DTO and does not \ + process the byte[] internally. Also it would be inefficient to create a return copy as the byte[] could be \ + large.""") public byte[] getData() { return data; } @@ -139,12 +141,12 @@ public final class InstallSnapshot extends AbstractRaftRPC { out.writeByte(installSnapshot.lastChunkHashCode.isPresent() ? 1 : 0); if (installSnapshot.lastChunkHashCode.isPresent()) { - out.writeInt(installSnapshot.lastChunkHashCode.getAsInt()); + out.writeInt(installSnapshot.lastChunkHashCode.orElseThrow()); } out.writeByte(installSnapshot.serverConfig.isPresent() ? 1 : 0); if (installSnapshot.serverConfig.isPresent()) { - out.writeObject(installSnapshot.serverConfig.get()); + out.writeObject(installSnapshot.serverConfig.orElseThrow()); } out.writeObject(installSnapshot.data); diff --git a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/AbstractRaftActorIntegrationTest.java b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/AbstractRaftActorIntegrationTest.java index 0abb121362..5e32a99f27 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/AbstractRaftActorIntegrationTest.java +++ b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/AbstractRaftActorIntegrationTest.java @@ -187,7 +187,7 @@ public abstract class AbstractRaftActorIntegrationTest extends AbstractActorTest public void createSnapshot(final ActorRef actorRef, final Optional installSnapshotStream) { MockSnapshotState snapshotState = new MockSnapshotState(List.copyOf(getState())); if (installSnapshotStream.isPresent()) { - SerializationUtils.serialize(snapshotState, installSnapshotStream.get()); + SerializationUtils.serialize(snapshotState, installSnapshotStream.orElseThrow()); } actorRef.tell(new CaptureSnapshotReply(snapshotState, installSnapshotStream), actorRef); 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 bafcc55bc7..83aebc37c3 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 @@ -60,7 +60,7 @@ public class MockRaftActor extends RaftActor implements RaftActorRecoveryCohort, mock(RaftActorSnapshotCohort.class); if (builder.dataPersistenceProvider == null) { - setPersistence(builder.persistent.isPresent() ? builder.persistent.get() : true); + setPersistence(builder.persistent.isPresent() ? builder.persistent.orElseThrow() : true); } else { setPersistence(builder.dataPersistenceProvider); } 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 2f9998c56b..884b16c11e 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 @@ -172,7 +172,7 @@ public class RaftActorServerConfigurationSupportTest extends AbstractActorTest { AddServerReply addServerReply = testKit.expectMsgClass(Duration.ofSeconds(5), AddServerReply.class); assertEquals("getStatus", ServerChangeStatus.OK, addServerReply.getStatus()); - assertEquals("getLeaderHint", LEADER_ID, addServerReply.getLeaderHint().get()); + assertEquals("getLeaderHint", LEADER_ID, addServerReply.getLeaderHint().orElseThrow()); // Verify ServerConfigurationPayload entry in leader's log @@ -251,7 +251,7 @@ public class RaftActorServerConfigurationSupportTest extends AbstractActorTest { AddServerReply addServerReply = testKit.expectMsgClass(Duration.ofSeconds(5), AddServerReply.class); assertEquals("getStatus", ServerChangeStatus.OK, addServerReply.getStatus()); - assertEquals("getLeaderHint", LEADER_ID, addServerReply.getLeaderHint().get()); + assertEquals("getLeaderHint", LEADER_ID, addServerReply.getLeaderHint().orElseThrow()); // Verify ServerConfigurationPayload entry in leader's log @@ -297,7 +297,7 @@ public class RaftActorServerConfigurationSupportTest extends AbstractActorTest { AddServerReply addServerReply = testKit.expectMsgClass(Duration.ofSeconds(5), AddServerReply.class); assertEquals("getStatus", ServerChangeStatus.OK, addServerReply.getStatus()); - assertEquals("getLeaderHint", LEADER_ID, addServerReply.getLeaderHint().get()); + assertEquals("getLeaderHint", LEADER_ID, addServerReply.getLeaderHint().orElseThrow()); // Verify ServerConfigurationPayload entry in leader's log @@ -439,7 +439,7 @@ public class RaftActorServerConfigurationSupportTest extends AbstractActorTest { AddServerReply addServerReply = testKit.expectMsgClass(Duration.ofSeconds(5), AddServerReply.class); assertEquals("getStatus", ServerChangeStatus.OK, addServerReply.getStatus()); - assertEquals("getLeaderHint", LEADER_ID, addServerReply.getLeaderHint().get()); + assertEquals("getLeaderHint", LEADER_ID, addServerReply.getLeaderHint().orElseThrow()); expectFirstMatching(newFollowerCollectorActor, ApplySnapshot.class); @@ -680,7 +680,7 @@ public class RaftActorServerConfigurationSupportTest extends AbstractActorTest { // The first AddServer should succeed with OK even though consensus wasn't reached AddServerReply addServerReply = testKit.expectMsgClass(Duration.ofSeconds(5), AddServerReply.class); assertEquals("getStatus", ServerChangeStatus.OK, addServerReply.getStatus()); - assertEquals("getLeaderHint", LEADER_ID, addServerReply.getLeaderHint().get()); + assertEquals("getLeaderHint", LEADER_ID, addServerReply.getLeaderHint().orElseThrow()); // Verify ServerConfigurationPayload entry in leader's log verifyServerConfigurationPayloadEntry(leaderActorContext.getReplicatedLog(), votingServer(LEADER_ID), @@ -1476,7 +1476,7 @@ public class RaftActorServerConfigurationSupportTest extends AbstractActorTest { 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()) + super(builder().id(id).peerAddresses(peerAddresses).config(config.orElseThrow()) .persistent(Optional.of(persistent))); this.collectorActor = collectorActor; } @@ -1565,7 +1565,7 @@ public class RaftActorServerConfigurationSupportTest extends AbstractActorTest { public void createSnapshot(final ActorRef actorRef, final Optional installSnapshotStream) { MockSnapshotState snapshotState = new MockSnapshotState(List.copyOf(getState())); if (installSnapshotStream.isPresent()) { - SerializationUtils.serialize(snapshotState, installSnapshotStream.get()); + SerializationUtils.serialize(snapshotState, installSnapshotStream.orElseThrow()); } actorRef.tell(new CaptureSnapshotReply(snapshotState, installSnapshotStream), actorRef); diff --git a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/SnapshotManagerTest.java b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/SnapshotManagerTest.java index 961caa64c9..aa4a44b97c 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/SnapshotManagerTest.java +++ b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/SnapshotManagerTest.java @@ -377,7 +377,7 @@ public class SnapshotManagerTest extends AbstractActorTest { Optional installSnapshotStream = installSnapshotStreamCapture.getValue(); assertEquals("isPresent", true, installSnapshotStream.isPresent()); - installSnapshotStream.get().write(snapshotState.getBytes()); + installSnapshotStream.orElseThrow().write(snapshotState.getBytes()); snapshotManager.persist(snapshotState, installSnapshotStream, Runtime.getRuntime().totalMemory()); 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 b2a4509540..d1990213f8 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 @@ -34,6 +34,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Optional; +import java.util.OptionalInt; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicReference; import org.apache.commons.lang3.SerializationUtils; @@ -817,7 +818,7 @@ public class LeaderTest extends AbstractLeaderTest { // Now simulate the CaptureSnapshotReply to initiate snapshot install - the first chunk should be sent. final byte[] bytes = new byte[]{1, 2, 3}; - installSnapshotStream.get().get().write(bytes); + installSnapshotStream.get().orElseThrow().write(bytes); actorContext.getSnapshotManager().persist(ByteState.of(bytes), installSnapshotStream.get(), Runtime.getRuntime().totalMemory()); MessageCollectorActor.expectFirstMatching(followerActor, InstallSnapshot.class); @@ -1187,8 +1188,8 @@ public class LeaderTest extends AbstractLeaderTest { assertEquals(1, installSnapshot.getChunkIndex()); assertEquals(3, installSnapshot.getTotalChunks()); - assertEquals(LeaderInstallSnapshotState.INITIAL_LAST_CHUNK_HASH_CODE, - installSnapshot.getLastChunkHashCode().getAsInt()); + assertEquals(OptionalInt.of(LeaderInstallSnapshotState.INITIAL_LAST_CHUNK_HASH_CODE), + installSnapshot.getLastChunkHashCode()); final int hashCode = Arrays.hashCode(installSnapshot.getData()); @@ -1201,7 +1202,7 @@ public class LeaderTest extends AbstractLeaderTest { assertEquals(2, installSnapshot.getChunkIndex()); assertEquals(3, installSnapshot.getTotalChunks()); - assertEquals(hashCode, installSnapshot.getLastChunkHashCode().getAsInt()); + assertEquals(OptionalInt.of(hashCode), installSnapshot.getLastChunkHashCode()); } @Test @@ -2427,7 +2428,7 @@ public class LeaderTest extends AbstractLeaderTest { appendEntries = MessageCollectorActor.expectFirstMatching(followerActor, AppendEntries.class); assertTrue(appendEntries.getLeaderAddress().isPresent()); - assertEquals(leaderActor.path().toString(), appendEntries.getLeaderAddress().get()); + assertEquals(leaderActor.path().toString(), appendEntries.getLeaderAddress().orElseThrow()); MessageCollectorActor.clearMessages(followerActor); // Send AppendEntriesReply indicating the follower does not need the leader address diff --git a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/messages/InstallSnapshotTest.java b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/messages/InstallSnapshotTest.java index ad8d8e2fbf..090ab77dad 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/messages/InstallSnapshotTest.java +++ b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/messages/InstallSnapshotTest.java @@ -79,8 +79,8 @@ public class InstallSnapshotTest { assertEquals("getServerConfig present", expected.getServerConfig().isPresent(), actual.getServerConfig().isPresent()); if (expected.getServerConfig().isPresent()) { - assertEquals("getServerConfig", expected.getServerConfig().get().getServerConfig(), - actual.getServerConfig().get().getServerConfig()); + assertEquals("getServerConfig", expected.getServerConfig().orElseThrow().getServerConfig(), + actual.getServerConfig().orElseThrow().getServerConfig()); } } } diff --git a/opendaylight/md-sal/sal-cluster-admin-impl/src/test/java/org/opendaylight/controller/cluster/datastore/admin/ClusterAdminRpcServiceTest.java b/opendaylight/md-sal/sal-cluster-admin-impl/src/test/java/org/opendaylight/controller/cluster/datastore/admin/ClusterAdminRpcServiceTest.java index ba00174f24..ee1879a779 100644 --- a/opendaylight/md-sal/sal-cluster-admin-impl/src/test/java/org/opendaylight/controller/cluster/datastore/admin/ClusterAdminRpcServiceTest.java +++ b/opendaylight/md-sal/sal-cluster-admin-impl/src/test/java/org/opendaylight/controller/cluster/datastore/admin/ClusterAdminRpcServiceTest.java @@ -151,7 +151,7 @@ public class ClusterAdminRpcServiceTest { node.configDataStore().getActorUtils().getShardManager().tell(node.datastoreContextBuilder() .shardInitializationTimeout(200, TimeUnit.MILLISECONDS).build(), ActorRef.noSender()); - ActorRef carsShardActor = node.configDataStore().getActorUtils().findLocalShard("cars").get(); + ActorRef carsShardActor = node.configDataStore().getActorUtils().findLocalShard("cars").orElseThrow(); node.kit().watch(carsShardActor); carsShardActor.tell(PoisonPill.getInstance(), ActorRef.noSender()); node.kit().expectTerminated(carsShardActor); @@ -328,8 +328,7 @@ public class ClusterAdminRpcServiceTest { final NormalizedNode expCarsNode) throws Exception { Optional optional = readFromStore.newReadOnlyTransaction().read(CarsModel.BASE_PATH) .get(15, TimeUnit.SECONDS); - assertTrue("isPresent", optional.isPresent()); - assertEquals("Data node", expCarsNode, optional.get()); + assertEquals("Data node", Optional.of(expCarsNode), optional); } private static void doAddShardReplica(final MemberNode memberNode, final String shardName, diff --git a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/messaging/MessageSlicer.java b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/messaging/MessageSlicer.java index d14f3c545d..f30dbc66a7 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/messaging/MessageSlicer.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/messaging/MessageSlicer.java @@ -235,7 +235,7 @@ public class MessageSlicer implements AutoCloseable { final Optional failure = reply.getFailure(); if (failure.isPresent()) { LOG.warn("{}: Received failed {}", logContext, reply); - processMessageSliceException(failure.get(), state, reply.getSendTo()); + processMessageSliceException(failure.orElseThrow(), state, reply.getSendTo()); return true; } diff --git a/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/common/actor/MessageTrackerTest.java b/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/common/actor/MessageTrackerTest.java index 3bead64be8..f1c3eae731 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/common/actor/MessageTrackerTest.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/common/actor/MessageTrackerTest.java @@ -10,11 +10,11 @@ package org.opendaylight.controller.cluster.common.actor; import static java.util.concurrent.TimeUnit.MILLISECONDS; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; +import static org.junit.Assert.assertThrows; +import static org.junit.Assert.assertTrue; import com.google.common.testing.FakeTicker; import java.util.List; -import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.slf4j.Logger; @@ -56,9 +56,8 @@ public class MessageTrackerTest { ticker.advance(20, MILLISECONDS); MessageTracker.Context context2 = messageTracker.received(new Foo()); - Assert.assertEquals(true, context2.error().isPresent()); - Assert.assertEquals(0, context2.error().get().getMessageProcessingTimesSinceLastExpectedMessage().size()); - + assertEquals(true, context2.error().isPresent()); + assertEquals(0, context2.error().orElseThrow().getMessageProcessingTimesSinceLastExpectedMessage().size()); } @Test @@ -78,21 +77,21 @@ public class MessageTrackerTest { MessageTracker.Context context2 = messageTracker.received(new Foo()); - Assert.assertEquals(true, context2.error().isPresent()); + assertEquals(true, context2.error().isPresent()); - MessageTracker.Error error = context2.error().get(); + MessageTracker.Error error = context2.error().orElseThrow(); List messageProcessingTimes = error.getMessageProcessingTimesSinceLastExpectedMessage(); - Assert.assertEquals(3, messageProcessingTimes.size()); + assertEquals(3, messageProcessingTimes.size()); - Assert.assertEquals(String.class, messageProcessingTimes.get(0).getMessageClass()); - Assert.assertEquals(Long.class, messageProcessingTimes.get(1).getMessageClass()); - Assert.assertEquals(Integer.class, messageProcessingTimes.get(2).getMessageClass()); - Assert.assertTrue(messageProcessingTimes.get(2).getElapsedTimeInNanos() > MILLISECONDS.toNanos(10)); - Assert.assertEquals(Foo.class, error.getLastExpectedMessage().getClass()); - Assert.assertEquals(Foo.class, error.getCurrentExpectedMessage().getClass()); + assertEquals(String.class, messageProcessingTimes.get(0).getMessageClass()); + assertEquals(Long.class, messageProcessingTimes.get(1).getMessageClass()); + assertEquals(Integer.class, messageProcessingTimes.get(2).getMessageClass()); + assertTrue(messageProcessingTimes.get(2).getElapsedTimeInNanos() > MILLISECONDS.toNanos(10)); + assertEquals(Foo.class, error.getLastExpectedMessage().getClass()); + assertEquals(Foo.class, error.getCurrentExpectedMessage().getClass()); LOG.error("An error occurred : {}" , error); } @@ -107,8 +106,7 @@ public class MessageTrackerTest { ticker.advance(1, MILLISECONDS); MessageTracker.Context context2 = messageTracker.received(new Foo()); - Assert.assertEquals(false, context2.error().isPresent()); - + assertEquals(false, context2.error().isPresent()); } @Test @@ -117,12 +115,7 @@ public class MessageTrackerTest { messageTracker.received(new Foo()); - try { - messageTracker.received(new Foo()); - fail("Expected an IllegalStateException"); - } catch (IllegalStateException e) { - // expected - } + assertThrows(IllegalStateException.class, () -> messageTracker.received(new Foo())); } @Test @@ -139,15 +132,15 @@ public class MessageTrackerTest { MessageTracker.Context context = messageTracker.received(new Foo()); - Assert.assertEquals(true, context.error().isPresent()); + assertEquals(true, context.error().isPresent()); - MessageTracker.Error error = context.error().get(); + MessageTracker.Error error = context.error().orElseThrow(); - Assert.assertEquals(null, error.getLastExpectedMessage()); - Assert.assertEquals(Foo.class, error.getCurrentExpectedMessage().getClass()); + assertEquals(null, error.getLastExpectedMessage()); + assertEquals(Foo.class, error.getCurrentExpectedMessage().getClass()); String errorString = error.toString(); - Assert.assertTrue(errorString.contains("Last Expected Message = null")); + assertTrue(errorString.contains("Last Expected Message = null")); LOG.error("An error occurred : {}", error); } @@ -162,8 +155,7 @@ public class MessageTrackerTest { MessageTracker.Context context = messageTracker.received(new Foo()); - Assert.assertEquals(true, context.error().isPresent()); - + assertEquals(true, context.error().isPresent()); } @Test @@ -172,20 +164,18 @@ public class MessageTrackerTest { messageTracker.begin(); try (MessageTracker.Context ctx = messageTracker.received(45)) { - Assert.assertEquals(false, ctx.error().isPresent()); + assertEquals(false, ctx.error().isPresent()); } try (MessageTracker.Context ctx = messageTracker.received(45L)) { - Assert.assertEquals(false, ctx.error().isPresent()); + assertEquals(false, ctx.error().isPresent()); } List processingTimeList = messageTracker.getMessagesSinceLastExpectedMessage(); - Assert.assertEquals(2, processingTimeList.size()); + assertEquals(2, processingTimeList.size()); assertEquals(Integer.class, processingTimeList.get(0).getMessageClass()); assertEquals(Long.class, processingTimeList.get(1).getMessageClass()); - } - } diff --git a/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/SerializationUtilsTest.java b/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/SerializationUtilsTest.java index 9af555d390..2d4751a314 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/SerializationUtilsTest.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/SerializationUtilsTest.java @@ -137,7 +137,8 @@ public class SerializationUtilsTest { } private static NormalizedNode deserializeNormalizedNode(final byte[] bytes) throws IOException { - return SerializationUtils.readNormalizedNode(new DataInputStream(new ByteArrayInputStream(bytes))).get(); + return SerializationUtils.readNormalizedNode(new DataInputStream(new ByteArrayInputStream(bytes))) + .orElseThrow(); } private static byte[] serializeNormalizedNode(final NormalizedNode node) throws IOException { diff --git a/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/datastore/node/utils/transformer/UintAdaptingPrunerTest.java b/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/datastore/node/utils/transformer/UintAdaptingPrunerTest.java index bba8739813..738dc1ce2d 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/datastore/node/utils/transformer/UintAdaptingPrunerTest.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/datastore/node/utils/transformer/UintAdaptingPrunerTest.java @@ -210,6 +210,6 @@ public class UintAdaptingPrunerTest { writer.write(node); } pruner.close(); - return pruner.getResult().get(); + return pruner.getResult().orElseThrow(); } } diff --git a/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/messaging/MessageAssemblerTest.java b/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/messaging/MessageAssemblerTest.java index 17b54a045d..128a0442e3 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/messaging/MessageAssemblerTest.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/messaging/MessageAssemblerTest.java @@ -105,7 +105,7 @@ public class MessageAssemblerTest extends AbstractMessagingTest { final MessageSliceReply reply = testProbe.expectMsgClass(MessageSliceReply.class); assertFailedMessageSliceReply(reply, IDENTIFIER, false); - assertEquals("Failure cause", mockFailure, reply.getFailure().get().getCause()); + assertEquals("Failure cause", mockFailure, reply.getFailure().orElseThrow().getCause()); assertFalse("MessageAssembler did not remove state for " + identifier, assembler.hasState(identifier)); verify(mockFiledBackedStream).cleanup(); @@ -130,7 +130,7 @@ public class MessageAssemblerTest extends AbstractMessagingTest { final MessageSliceReply reply = testProbe.expectMsgClass(MessageSliceReply.class); assertFailedMessageSliceReply(reply, IDENTIFIER, false); - assertEquals("Failure cause", mockFailure, reply.getFailure().get().getCause()); + assertEquals("Failure cause", mockFailure, reply.getFailure().orElseThrow().getCause()); assertFalse("MessageAssembler did not remove state for " + identifier, assembler.hasState(identifier)); verify(mockFiledBackedStream).cleanup(); @@ -173,11 +173,11 @@ public class MessageAssemblerTest extends AbstractMessagingTest { } } - private MessageAssembler newMessageAssembler(String logContext) { + private MessageAssembler newMessageAssembler(final String logContext) { return newMessageAssemblerBuilder(logContext).build(); } - private Builder newMessageAssemblerBuilder(String logContext) { + private Builder newMessageAssemblerBuilder(final String logContext) { return MessageAssembler.builder().fileBackedStreamFactory(mockFiledBackedStreamFactory) .assembledMessageCallback(mockAssembledMessageCallback).logContext(logContext); } diff --git a/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/messaging/MessageSliceReplyTest.java b/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/messaging/MessageSliceReplyTest.java index a54552425a..8b661f68d7 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/messaging/MessageSliceReplyTest.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/messaging/MessageSliceReplyTest.java @@ -65,9 +65,9 @@ public class MessageSliceReplyTest { assertEquals("getSliceIndex", expected.getSliceIndex(), cloned.getSliceIndex()); assertEquals("getSendTo", expected.getSendTo(), cloned.getSendTo()); assertTrue("getFailure present", cloned.getFailure().isPresent()); - assertEquals("getFailure message", expected.getFailure().get().getMessage(), - cloned.getFailure().get().getMessage()); - assertEquals("getFailure isRetriable", expected.getFailure().get().isRetriable(), - cloned.getFailure().get().isRetriable()); + assertEquals("getFailure message", expected.getFailure().orElseThrow().getMessage(), + cloned.getFailure().orElseThrow().getMessage()); + assertEquals("getFailure isRetriable", expected.getFailure().orElseThrow().isRetriable(), + cloned.getFailure().orElseThrow().isRetriable()); } } diff --git a/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/messaging/MessageSlicingIntegrationTest.java b/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/messaging/MessageSlicingIntegrationTest.java index 61c0617799..63b37e12b0 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/messaging/MessageSlicingIntegrationTest.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/messaging/MessageSlicingIntegrationTest.java @@ -328,7 +328,7 @@ public class MessageSlicingIntegrationTest { assertEquals("Identifier", identifier, ((MessageSliceIdentifier)reply.getIdentifier()) .getClientIdentifier()); assertEquals("Failure present", Boolean.TRUE, reply.getFailure().isPresent()); - assertEquals("isRetriable", isRetriable, reply.getFailure().get().isRetriable()); + assertEquals("isRetriable", isRetriable, reply.getFailure().orElseThrow().isRetriable()); } static void assertMessageSlice(final MessageSlice sliceMessage, final Identifier identifier, final int sliceIndex, diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractProxyTransaction.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractProxyTransaction.java index 9b9b86f11b..81448cac42 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractProxyTransaction.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractProxyTransaction.java @@ -356,7 +356,7 @@ abstract class AbstractProxyTransaction implements Identifiable optState = flushState(); if (optState.isPresent()) { - forwardToSuccessor(successor, optState.get(), null); + forwardToSuccessor(successor, optState.orElseThrow(), null); } successor.predecessorSealed(); } @@ -735,7 +735,7 @@ abstract class AbstractProxyTransaction implements Identifiable optState = flushState(); if (optState.isPresent()) { - successor.handleReplayedRemoteRequest(optState.get(), null, enqueuedTicks); + successor.handleReplayedRemoteRequest(optState.orElseThrow(), null, enqueuedTicks); } if (successor.markSealed()) { successor.sealAndSend(OptionalLong.of(enqueuedTicks)); diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/LocalReadOnlyProxyTransaction.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/LocalReadOnlyProxyTransaction.java index 2954d22245..6d019af1a1 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/LocalReadOnlyProxyTransaction.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/LocalReadOnlyProxyTransaction.java @@ -95,7 +95,7 @@ final class LocalReadOnlyProxyTransaction extends LocalProxyTransaction { private static void commonModifyTransactionRequest(final ModifyTransactionRequest request) { verify(request.getModifications().isEmpty()); - final PersistenceProtocol protocol = request.getPersistenceProtocol().get(); + final PersistenceProtocol protocol = request.getPersistenceProtocol().orElseThrow(); verify(protocol == PersistenceProtocol.ABORT); } } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/LocalReadWriteProxyTransaction.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/LocalReadWriteProxyTransaction.java index ab7cdbc9fa..e3c46c549c 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/LocalReadWriteProxyTransaction.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/LocalReadWriteProxyTransaction.java @@ -297,7 +297,7 @@ final class LocalReadWriteProxyTransaction extends LocalProxyTransaction { sealOnly(); } - switch (maybeProtocol.get()) { + switch (maybeProtocol.orElseThrow()) { case ABORT: sendMethod.accept(new AbortLocalTransactionRequest(getIdentifier(), localActor()), cb); break; @@ -311,7 +311,7 @@ final class LocalReadWriteProxyTransaction extends LocalProxyTransaction { sendMethod.accept(commitRequest(true), cb); break; default: - throw new IllegalArgumentException("Unhandled protocol " + maybeProtocol.get()); + throw new IllegalArgumentException("Unhandled protocol " + maybeProtocol.orElseThrow()); } } } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/ProxyHistory.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/ProxyHistory.java index cb6d049ed6..437effe9ae 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/ProxyHistory.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/ProxyHistory.java @@ -373,7 +373,7 @@ abstract class ProxyHistory implements Identifiable { static ProxyHistory createClient(final AbstractClientHistory parent, final AbstractClientConnection connection, final LocalHistoryIdentifier identifier) { final Optional dataTree = connection.getBackendInfo().flatMap(ShardBackendInfo::getDataTree); - return dataTree.isPresent() ? new Local(parent, connection, identifier, dataTree.get()) + return dataTree.isPresent() ? new Local(parent, connection, identifier, dataTree.orElseThrow()) : new Remote(parent, connection, identifier); } @@ -381,7 +381,7 @@ abstract class ProxyHistory implements Identifiable { final AbstractClientConnection connection, final LocalHistoryIdentifier identifier) { final Optional dataTree = connection.getBackendInfo().flatMap(ShardBackendInfo::getDataTree); - return dataTree.isPresent() ? new LocalSingle(parent, connection, identifier, dataTree.get()) + return dataTree.isPresent() ? new LocalSingle(parent, connection, identifier, dataTree.orElseThrow()) : new RemoteSingle(parent, connection, identifier); } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/RemoteProxyTransaction.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/RemoteProxyTransaction.java index 6288a2f8ba..318d64ccef 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/RemoteProxyTransaction.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/RemoteProxyTransaction.java @@ -168,7 +168,7 @@ final class RemoteProxyTransaction extends AbstractProxyTransaction { private void sendModification(final TransactionRequest request, final OptionalLong enqueuedTicks) { if (enqueuedTicks.isPresent()) { - enqueueRequest(request, response -> completeModify(request, response), enqueuedTicks.getAsLong()); + enqueueRequest(request, response -> completeModify(request, response), enqueuedTicks.orElseThrow()); } else { sendRequest(request, response -> completeModify(request, response)); } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/AbstractFrontendHistory.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/AbstractFrontendHistory.java index 59d10cbd09..d00db5757e 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/AbstractFrontendHistory.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/AbstractFrontendHistory.java @@ -113,7 +113,7 @@ abstract class AbstractFrontendHistory implements Identifiable> maybeReplay = tx.replaySequence(request.getSequence()); if (maybeReplay.isPresent()) { - final TransactionSuccess replay = maybeReplay.get(); + final TransactionSuccess replay = maybeReplay.orElseThrow(); LOG.debug("{}: envelope {} replaying response {}", persistenceId(), envelope, replay); return replay; } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/AbstractTransactionContextFactory.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/AbstractTransactionContextFactory.java index bc1040509f..fa77b5fdb0 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/AbstractTransactionContextFactory.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/AbstractTransactionContextFactory.java @@ -171,7 +171,8 @@ abstract class AbstractTransactionContextFactory { final DOMStoreReadTransaction readOnly = factory.newReadOnlyTransaction(parent.getIdentifier()); - return new LocalTransactionContext(readOnly, parent.getIdentifier(), factory) { + yield new LocalTransactionContext(readOnly, parent.getIdentifier(), factory) { @Override DOMStoreWriteTransaction getWriteDelegate() { throw new UnsupportedOperationException(); @@ -247,9 +247,10 @@ abstract class AbstractTransactionContextFactory { final DOMStoreReadWriteTransaction readWrite = factory.newReadWriteTransaction(parent.getIdentifier()); - return new LocalTransactionContext(readWrite, parent.getIdentifier(), factory) { + yield new LocalTransactionContext(readWrite, parent.getIdentifier(), factory) { @Override DOMStoreWriteTransaction getWriteDelegate() { return readWrite; @@ -260,9 +261,10 @@ abstract class AbstractTransactionContextFactory { final DOMStoreWriteTransaction writeOnly = factory.newWriteOnlyTransaction(parent.getIdentifier()); - return new LocalTransactionContext(writeOnly, parent.getIdentifier(), factory) { + yield new LocalTransactionContext(writeOnly, parent.getIdentifier(), factory) { @Override DOMStoreWriteTransaction getWriteDelegate() { return writeOnly; @@ -273,8 +275,8 @@ abstract class AbstractTransactionContextFactory throw new IllegalArgumentException("Invalid transaction type: " + parent.getType()); + }; } } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DefaultShardDataTreeChangeListenerPublisher.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DefaultShardDataTreeChangeListenerPublisher.java index 1b8ed12fed..aedd9c75e0 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DefaultShardDataTreeChangeListenerPublisher.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DefaultShardDataTreeChangeListenerPublisher.java @@ -64,7 +64,7 @@ final class DefaultShardDataTreeChangeListenerPublisher extends AbstractDOMStore registerTreeChangeListener(treeId, listener, onRegistration); if (initialState.isPresent()) { - notifySingleListener(treeId, listener, initialState.get(), logContext); + notifySingleListener(treeId, listener, initialState.orElseThrow(), logContext); } else { listener.onInitialData(); } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/FrontendReadOnlyTransaction.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/FrontendReadOnlyTransaction.java index e8b99e60a5..e1b8a3fb94 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/FrontendReadOnlyTransaction.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/FrontendReadOnlyTransaction.java @@ -40,7 +40,7 @@ final class FrontendReadOnlyTransaction extends FrontendTransaction { private FrontendReadOnlyTransaction(final AbstractFrontendHistory history, final ReadOnlyShardDataTreeTransaction transaction) { super(history, transaction.getIdentifier()); - this.openTransaction = requireNonNull(transaction); + openTransaction = requireNonNull(transaction); } static FrontendReadOnlyTransaction create(final AbstractFrontendHistory history, @@ -75,7 +75,8 @@ final class FrontendReadOnlyTransaction extends FrontendTransaction { // The only valid request here is with abort protocol final Optional optProto = request.getPersistenceProtocol(); checkArgument(optProto.isPresent(), "Commit protocol is missing in %s", request); - checkArgument(optProto.get() == PersistenceProtocol.ABORT, "Unsupported commit protocol in %s", request); + checkArgument(optProto.orElseThrow() == PersistenceProtocol.ABORT, "Unsupported commit protocol in %s", + request); openTransaction.abort(() -> recordAndSendSuccess(envelope, now, new ModifyTransactionSuccess(request.getTarget(), request.getSequence()))); } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/FrontendReadWriteTransaction.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/FrontendReadWriteTransaction.java index 95930dba6b..c626791547 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/FrontendReadWriteTransaction.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/FrontendReadWriteTransaction.java @@ -512,7 +512,8 @@ final class FrontendReadWriteTransaction extends FrontendTransaction { final Optional optFailure = request.getDelayedFailure(); if (optFailure.isPresent()) { - state = new Ready(history().createFailedCohort(getIdentifier(), sealedModification, optFailure.get())); + state = new Ready(history().createFailedCohort(getIdentifier(), sealedModification, + optFailure.orElseThrow())); } else { state = new Ready(history().createReadyCohort(getIdentifier(), sealedModification, Optional.empty())); } @@ -567,7 +568,7 @@ final class FrontendReadWriteTransaction extends FrontendTransaction { return replyModifySuccess(request.getSequence()); } - switch (maybeProto.get()) { + switch (maybeProto.orElseThrow()) { case ABORT: if (ABORTING.equals(state)) { LOG.debug("{}: Transaction {} already aborting", persistenceId(), getIdentifier()); @@ -593,7 +594,7 @@ final class FrontendReadWriteTransaction extends FrontendTransaction { coordinatedCommit(envelope, now); return null; default: - LOG.warn("{}: rejecting unsupported protocol {}", persistenceId(), maybeProto.get()); + LOG.warn("{}: rejecting unsupported protocol {}", persistenceId(), maybeProto.orElseThrow()); throw new UnsupportedRequestException(request); } } 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 bcf09b3331..df500740e2 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 @@ -332,7 +332,7 @@ public class Shard extends RaftActor { switch (exportOnRecovery) { case Json: if (message instanceof SnapshotOffer) { - exportActor.tell(new JsonExportActor.ExportSnapshot(store.readCurrentData().get(), name), + exportActor.tell(new JsonExportActor.ExportSnapshot(store.readCurrentData().orElseThrow(), name), ActorRef.noSender()); } else if (message instanceof ReplicatedLogEntry) { exportActor.tell(new JsonExportActor.ExportJournal((ReplicatedLogEntry) message), @@ -359,7 +359,7 @@ public class Shard extends RaftActor { final Optional maybeError = context.error(); if (maybeError.isPresent()) { LOG.trace("{} : AppendEntriesReply failed to arrive at the expected interval {}", persistenceId(), - maybeError.get()); + maybeError.orElseThrow()); } store.resetTransactionBatch(); @@ -399,7 +399,7 @@ public class Shard extends RaftActor { } else if (message instanceof DatastoreContext) { onDatastoreContext((DatastoreContext)message); } else if (message instanceof RegisterRoleChangeListener) { - roleChangeNotifier.get().forward(message, context()); + roleChangeNotifier.orElseThrow().forward(message, context()); } else if (message instanceof FollowerInitialSyncUpStatus) { shardMBean.setFollowerInitialSyncStatus(((FollowerInitialSyncUpStatus) message).isInitialSyncDone()); context().parent().tell(message, self()); @@ -1180,37 +1180,37 @@ public class Shard extends RaftActor { public T id(final ShardIdentifier newId) { checkSealed(); - this.id = newId; + id = newId; return self(); } public T peerAddresses(final Map newPeerAddresses) { checkSealed(); - this.peerAddresses = newPeerAddresses; + peerAddresses = newPeerAddresses; return self(); } public T datastoreContext(final DatastoreContext newDatastoreContext) { checkSealed(); - this.datastoreContext = newDatastoreContext; + datastoreContext = newDatastoreContext; return self(); } public T schemaContextProvider(final EffectiveModelContextProvider newSchemaContextProvider) { checkSealed(); - this.schemaContextProvider = requireNonNull(newSchemaContextProvider); + schemaContextProvider = requireNonNull(newSchemaContextProvider); return self(); } public T restoreFromSnapshot(final DatastoreSnapshot.ShardSnapshot newRestoreFromSnapshot) { checkSealed(); - this.restoreFromSnapshot = newRestoreFromSnapshot; + restoreFromSnapshot = newRestoreFromSnapshot; return self(); } public T dataTree(final DataTree newDataTree) { checkSealed(); - this.dataTree = newDataTree; + dataTree = newDataTree; return self(); } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTree.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTree.java index 226dd0c869..9ab07d3f89 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTree.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTree.java @@ -95,7 +95,6 @@ import org.opendaylight.yangtools.yang.data.tree.impl.di.InMemoryDataTreeFactory import org.opendaylight.yangtools.yang.data.tree.spi.DataTreeCandidates; import org.opendaylight.yangtools.yang.data.util.DataSchemaContextTree; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; -import org.opendaylight.yangtools.yang.model.api.SchemaContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import scala.concurrent.duration.FiniteDuration; @@ -162,7 +161,7 @@ public class ShardDataTree extends ShardDataTreeTransactionParent { */ private DataTreeTip tip; - private SchemaContext schemaContext; + private EffectiveModelContext schemaContext; private DataSchemaContextTree dataSchemaContext; private int currentTransactionBatch; @@ -217,7 +216,7 @@ public class ShardDataTree extends ShardDataTreeTransactionParent { } @VisibleForTesting - final SchemaContext getSchemaContext() { + final EffectiveModelContext getSchemaContext() { return schemaContext; } @@ -237,7 +236,7 @@ public class ShardDataTree extends ShardDataTreeTransactionParent { * @return A state snapshot */ @NonNull ShardDataTreeSnapshot takeStateSnapshot() { - final NormalizedNode rootNode = takeSnapshot().readNode(YangInstanceIdentifier.empty()).get(); + final NormalizedNode rootNode = takeSnapshot().readNode(YangInstanceIdentifier.empty()).orElseThrow(); final Builder>, ShardDataTreeSnapshotMetadata> metaBuilder = ImmutableMap.builder(); @@ -287,7 +286,7 @@ public class ShardDataTree extends ShardDataTreeTransactionParent { final Optional maybeNode = snapshot.getRootNode(); if (maybeNode.isPresent()) { // Add everything from the remote node back - mod.write(YangInstanceIdentifier.empty(), maybeNode.get()); + mod.write(YangInstanceIdentifier.empty(), maybeNode.orElseThrow()); } mod.ready(); @@ -1217,7 +1216,7 @@ public class ShardDataTree extends ShardDataTreeTransactionParent { final OptionalLong updateOpt = accessTimeUpdater.apply(currentTx.cohort); if (updateOpt.isPresent()) { - final long newAccess = updateOpt.getAsLong(); + final long newAccess = updateOpt.orElseThrow(); final long newDelta = now - newAccess; if (newDelta < delta) { LOG.debug("{}: Updated current transaction {} access time", logContext, diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeChangePublisherActor.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeChangePublisherActor.java index 6b71619742..67901590f1 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeChangePublisherActor.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeChangePublisherActor.java @@ -31,12 +31,11 @@ public final class ShardDataTreeChangePublisherActor @Override protected void handleReceive(final Object message) { - if (message instanceof RegisterListener) { - RegisterListener reg = (RegisterListener)message; + if (message instanceof RegisterListener reg) { LOG.debug("{}: Received {}", logContext(), reg); if (reg.initialState.isPresent()) { DefaultShardDataTreeChangeListenerPublisher.notifySingleListener(reg.path, reg.listener, - reg.initialState.get(), logContext()); + reg.initialState.orElseThrow(), logContext()); } else { reg.listener.onInitialData(); } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/SimpleShardDataTreeCohort.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/SimpleShardDataTreeCohort.java index 07a6d686d0..4d3d1a8967 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/SimpleShardDataTreeCohort.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/SimpleShardDataTreeCohort.java @@ -131,7 +131,7 @@ final class SimpleShardDataTreeCohort extends ShardDataTreeCohort { return; } - maybeAborts.get().whenComplete((noop, failure) -> { + maybeAborts.orElseThrow().whenComplete((noop, failure) -> { if (failure != null) { abortCallback.onFailure(failure); } else { @@ -191,7 +191,7 @@ final class SimpleShardDataTreeCohort extends ShardDataTreeCohort { return; } - maybeCanCommitFuture.get().whenComplete((noop, failure) -> { + maybeCanCommitFuture.orElseThrow().whenComplete((noop, failure) -> { if (failure != null) { futureCallback.onFailure(failure); } else { @@ -207,7 +207,7 @@ final class SimpleShardDataTreeCohort extends ShardDataTreeCohort { return; } - maybePreCommitFuture.get().whenComplete((noop, failure) -> { + maybePreCommitFuture.orElseThrow().whenComplete((noop, failure) -> { if (failure != null) { futureCallback.onFailure(failure); } else { @@ -240,7 +240,7 @@ final class SimpleShardDataTreeCohort extends ShardDataTreeCohort { return; } - maybeCommitFuture.get().whenComplete((noop, failure) -> { + maybeCommitFuture.orElseThrow().whenComplete((noop, failure) -> { if (failure != null) { LOG.error("User cohorts failed to commit", failure); } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/actors/JsonExportActor.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/actors/JsonExportActor.java index 3d9a368f0f..85f1ba393d 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/actors/JsonExportActor.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/actors/JsonExportActor.java @@ -98,7 +98,7 @@ public final class JsonExportActor extends AbstractUntypedActor { final Path filePath = snapshotDir.resolve(exportSnapshot.id + "-snapshot.json"); LOG.debug("Creating JSON file : {}", filePath); - final NormalizedNode root = exportSnapshot.dataTreeCandidate.getRootNode().getDataAfter().get(); + final NormalizedNode root = exportSnapshot.dataTreeCandidate.getRootNode().getDataAfter().orElseThrow(); checkState(root instanceof NormalizedNodeContainer, "Unexpected root %s", root); writeSnapshot(filePath, (NormalizedNodeContainer) root); @@ -199,7 +199,7 @@ public final class JsonExportActor extends AbstractUntypedActor { writer.beginObject().name("Path").value(path.toString()).endObject(); writer.beginObject().name("ModificationType").value(modificationType.toString()).endObject(); if (modificationType == ModificationType.WRITE) { - writer.beginObject().name("Data").value(node.getDataAfter().get().body().toString()).endObject(); + writer.beginObject().name("Data").value(node.getDataAfter().orElseThrow().body().toString()).endObject(); } writer.endArray(); writer.endObject(); diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/actors/ShardSnapshotActor.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/actors/ShardSnapshotActor.java index d7d380830f..91da59d3ba 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/actors/ShardSnapshotActor.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/actors/ShardSnapshotActor.java @@ -76,7 +76,7 @@ public final class ShardSnapshotActor extends AbstractUntypedActorWithMetering { private void onSerializeSnapshot(final SerializeSnapshot request) { Optional installSnapshotStream = request.getInstallSnapshotStream(); if (installSnapshotStream.isPresent()) { - try (ObjectOutputStream out = getOutputStream(installSnapshotStream.get())) { + try (ObjectOutputStream out = getOutputStream(installSnapshotStream.orElseThrow())) { request.getSnapshot().serialize(out); } catch (IOException e) { // TODO - we should communicate the failure in the CaptureSnapshotReply. diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/DataTreeCandidateInputOutput.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/DataTreeCandidateInputOutput.java index a3b30466c8..0771b439e2 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/DataTreeCandidateInputOutput.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/DataTreeCandidateInputOutput.java @@ -85,22 +85,15 @@ public final class DataTreeCandidateInputOutput { private static DataTreeCandidateNode readNode(final NormalizedNodeDataInput in, final ReusableStreamReceiver receiver) throws IOException { final byte type = in.readByte(); - switch (type) { - case APPEARED: - return readModifiedNode(ModificationType.APPEARED, in, receiver); - case DELETE: - return DeletedDataTreeCandidateNode.create(in.readPathArgument()); - case DISAPPEARED: - return readModifiedNode(ModificationType.DISAPPEARED, in, receiver); - case SUBTREE_MODIFIED: - return readModifiedNode(ModificationType.SUBTREE_MODIFIED, in, receiver); - case UNMODIFIED: - return null; - case WRITE: - return DataTreeCandidateNodes.written(in.readNormalizedNode(receiver)); - default: - throw new IllegalArgumentException("Unhandled node type " + type); - } + return switch (type) { + case APPEARED -> readModifiedNode(ModificationType.APPEARED, in, receiver); + case DELETE -> DeletedDataTreeCandidateNode.create(in.readPathArgument()); + case DISAPPEARED -> readModifiedNode(ModificationType.DISAPPEARED, in, receiver); + case SUBTREE_MODIFIED -> readModifiedNode(ModificationType.SUBTREE_MODIFIED, in, receiver); + case UNMODIFIED -> null; + case WRITE -> DataTreeCandidateNodes.written(in.readNormalizedNode(receiver)); + default -> throw new IllegalArgumentException("Unhandled node type " + type); + }; } @NonNullByDefault @@ -129,33 +122,18 @@ public final class DataTreeCandidateInputOutput { final YangInstanceIdentifier rootPath = reader.readYangInstanceIdentifier(); final byte type = reader.readByte(); - final DataTreeCandidateNode rootNode; - switch (type) { - case APPEARED: - rootNode = ModifiedDataTreeCandidateNode.create(ModificationType.APPEARED, - readChildren(reader, receiver)); - break; - case DELETE: - rootNode = DeletedDataTreeCandidateNode.create(); - break; - case DISAPPEARED: - rootNode = ModifiedDataTreeCandidateNode.create(ModificationType.DISAPPEARED, - readChildren(reader, receiver)); - break; - case SUBTREE_MODIFIED: - rootNode = ModifiedDataTreeCandidateNode.create(ModificationType.SUBTREE_MODIFIED, - readChildren(reader, receiver)); - break; - case WRITE: - rootNode = DataTreeCandidateNodes.written(reader.readNormalizedNode(receiver)); - break; - case UNMODIFIED: - rootNode = AbstractDataTreeCandidateNode.createUnmodified(); - break; - default: - throw new IllegalArgumentException("Unhandled node type " + type); - } - + final DataTreeCandidateNode rootNode = switch (type) { + case APPEARED -> ModifiedDataTreeCandidateNode.create(ModificationType.APPEARED, + readChildren(reader, receiver)); + case DELETE -> DeletedDataTreeCandidateNode.create(); + case DISAPPEARED -> ModifiedDataTreeCandidateNode.create(ModificationType.DISAPPEARED, + readChildren(reader, receiver)); + case SUBTREE_MODIFIED -> ModifiedDataTreeCandidateNode.create(ModificationType.SUBTREE_MODIFIED, + readChildren(reader, receiver)); + case WRITE -> DataTreeCandidateNodes.written(reader.readNormalizedNode(receiver)); + case UNMODIFIED -> AbstractDataTreeCandidateNode.createUnmodified(); + default -> throw new IllegalArgumentException("Unhandled node type " + type); + }; return new DataTreeCandidateWithVersion(DataTreeCandidates.newDataTreeCandidate(rootPath, rootNode), reader.getVersion()); } @@ -192,7 +170,7 @@ public final class DataTreeCandidateInputOutput { break; case WRITE: out.writeByte(WRITE); - out.writeNormalizedNode(node.getDataAfter().get()); + out.writeNormalizedNode(node.getDataAfter().orElseThrow()); break; case UNMODIFIED: out.writeByte(UNMODIFIED); @@ -230,7 +208,7 @@ public final class DataTreeCandidateInputOutput { break; case WRITE: writer.writeByte(WRITE); - writer.writeNormalizedNode(node.getDataAfter().get()); + writer.writeNormalizedNode(node.getDataAfter().orElseThrow()); break; default: throwUnhandledNodeType(node); diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/MetadataShardDataTreeSnapshot.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/MetadataShardDataTreeSnapshot.java index a97f8f46f3..1d7d43289a 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/MetadataShardDataTreeSnapshot.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/MetadataShardDataTreeSnapshot.java @@ -53,9 +53,9 @@ public final class MetadataShardDataTreeSnapshot extends AbstractVersionedShardD } Proxy(final MetadataShardDataTreeSnapshot snapshot) { - this.rootNode = snapshot.getRootNode().get(); - this.metadata = snapshot.getMetadata(); - this.version = snapshot.version().getStreamVersion(); + rootNode = snapshot.getRootNode().orElseThrow(); + metadata = snapshot.getMetadata(); + version = snapshot.version().getStreamVersion(); } @Override diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/shardmanager/ShardManager.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/shardmanager/ShardManager.java index 93b57eda28..79110786b4 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/shardmanager/ShardManager.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/shardmanager/ShardManager.java @@ -240,12 +240,10 @@ class ShardManager extends AbstractUntypedPersistentActorWithMetering { onCreateShard((CreateShard)message); } else if (message instanceof AddShardReplica) { onAddShardReplica((AddShardReplica) message); - } else if (message instanceof ForwardedAddServerReply) { - ForwardedAddServerReply msg = (ForwardedAddServerReply)message; + } else if (message instanceof ForwardedAddServerReply msg) { onAddServerReply(msg.shardInfo, msg.addServerReply, getSender(), msg.leaderPath, msg.removeShardOnFailure); - } else if (message instanceof ForwardedAddServerFailure) { - ForwardedAddServerFailure msg = (ForwardedAddServerFailure)message; + } else if (message instanceof ForwardedAddServerFailure msg) { onAddServerFailure(msg.shardName, msg.failureMessage, msg.failure, getSender(), msg.removeShardOnFailure); } else if (message instanceof RemoveShardReplica) { onRemoveShardReplica((RemoveShardReplica) message); @@ -1024,7 +1022,7 @@ class ShardManager extends AbstractUntypedPersistentActorWithMetering { sendResponse(info, message.isWaitUntilReady(), true, () -> { String primaryPath = info.getSerializedLeaderActor(); Object found = canReturnLocalShardState && info.isLeader() - ? new LocalPrimaryShardFound(primaryPath, info.getLocalShardDataTree().get()) : + ? new LocalPrimaryShardFound(primaryPath, info.getLocalShardDataTree().orElseThrow()) : new RemotePrimaryShardFound(primaryPath, info.getLeaderVersion()); LOG.debug("{}: Found primary for {}: {}", persistenceId(), shardName, found); diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/ClientBackedReadTransactionTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/ClientBackedReadTransactionTest.java index bcaedfa188..c347f22ae3 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/ClientBackedReadTransactionTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/ClientBackedReadTransactionTest.java @@ -8,12 +8,10 @@ package org.opendaylight.controller.cluster.databroker; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.doReturn; import static org.opendaylight.yangtools.util.concurrent.FluentFutures.immediateFluentFuture; import static org.opendaylight.yangtools.util.concurrent.FluentFutures.immediateTrueFluentFuture; -import com.google.common.util.concurrent.ListenableFuture; import java.util.Optional; import org.junit.Before; import org.junit.Test; @@ -53,15 +51,11 @@ public class ClientBackedReadTransactionTest extends ClientBackedTransactionTest @Test public void testRead() throws Exception { - final ListenableFuture> result = object().read(YangInstanceIdentifier.empty()); - final Optional resultData = result.get(); - assertTrue(resultData.isPresent()); - assertEquals(data, resultData.get()); + assertEquals(Optional.of(data), object().read(YangInstanceIdentifier.empty()).get()); } @Test public void testExists() throws Exception { - final ListenableFuture result = object().exists(YangInstanceIdentifier.empty()); - assertEquals(Boolean.TRUE, result.get()); + assertEquals(Boolean.TRUE, object().exists(YangInstanceIdentifier.empty()).get()); } } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/ClientBackedReadWriteTransactionTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/ClientBackedReadWriteTransactionTest.java index a404030f0e..a8f74e48cd 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/ClientBackedReadWriteTransactionTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/ClientBackedReadWriteTransactionTest.java @@ -8,12 +8,10 @@ package org.opendaylight.controller.cluster.databroker; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.doReturn; import static org.opendaylight.yangtools.util.concurrent.FluentFutures.immediateFluentFuture; import static org.opendaylight.yangtools.util.concurrent.FluentFutures.immediateTrueFluentFuture; -import com.google.common.util.concurrent.FluentFuture; import java.util.Optional; import org.junit.Before; import org.junit.Test; @@ -51,10 +49,7 @@ public class ClientBackedReadWriteTransactionTest @Test public void testRead() throws Exception { - final FluentFuture> result = object().read(YangInstanceIdentifier.empty()); - final Optional resultData = result.get(); - assertTrue(resultData.isPresent()); - assertEquals(data, resultData.get()); + assertEquals(Optional.of(data), object().read(YangInstanceIdentifier.empty()).get()); } @Test diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractProxyTransactionTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractProxyTransactionTest.java index 353123517f..9b975c6ed7 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractProxyTransactionTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractProxyTransactionTest.java @@ -214,8 +214,7 @@ public abstract class AbstractProxyTransactionTest> resultFuture = getHandle().read(PATH); verify(modification).readNode(PATH); - final Optional result = getWithTimeout(resultFuture); - assertTrue(result.isPresent()); - assertEquals(DATA, result.get()); + assertEquals(Optional.of(DATA), getWithTimeout(resultFuture)); } @Test diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/actors/dds/DirectTransactionCommitCohortTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/actors/dds/DirectTransactionCommitCohortTest.java index c165af5750..32f062ec6b 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/actors/dds/DirectTransactionCommitCohortTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/actors/dds/DirectTransactionCommitCohortTest.java @@ -9,7 +9,6 @@ package org.opendaylight.controller.cluster.databroker.actors.dds; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.verify; import static org.opendaylight.controller.cluster.databroker.actors.dds.TestUtils.CLIENT_ID; @@ -80,8 +79,7 @@ public class DirectTransactionCommitCohortTest { public void testCanCommit() throws Exception { final ListenableFuture canCommit = cohort.canCommit(); final ModifyTransactionRequest request = transaction.expectTransactionRequest(ModifyTransactionRequest.class); - assertTrue(request.getPersistenceProtocol().isPresent()); - assertEquals(PersistenceProtocol.SIMPLE, request.getPersistenceProtocol().get()); + assertEquals(Optional.of(PersistenceProtocol.SIMPLE), request.getPersistenceProtocol()); final RequestSuccess success = new TransactionCommitSuccess(transaction.getTransaction().getIdentifier(), transaction.getLastReceivedMessage().getSequence()); transaction.replySuccess(success); diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/actors/dds/LocalProxyTransactionTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/actors/dds/LocalProxyTransactionTest.java index 58f05fd208..104981c1fd 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/actors/dds/LocalProxyTransactionTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/actors/dds/LocalProxyTransactionTest.java @@ -84,8 +84,7 @@ public abstract class LocalProxyTransactionTest final Response value = captor.getValue(); assertTrue(value instanceof ReadTransactionSuccess); final ReadTransactionSuccess success = (ReadTransactionSuccess) value; - assertTrue(success.getData().isPresent()); - assertEquals(DATA_1, success.getData().get()); + assertEquals(Optional.of(DATA_1), success.getData()); } @Test @@ -118,8 +117,7 @@ public abstract class LocalProxyTransactionTest final TestProbe probe = createProbe(); final AbortLocalTransactionRequest request = new AbortLocalTransactionRequest(TRANSACTION_ID, probe.ref()); final ModifyTransactionRequest modifyRequest = testForwardToRemote(request, ModifyTransactionRequest.class); - assertTrue(modifyRequest.getPersistenceProtocol().isPresent()); - assertEquals(PersistenceProtocol.ABORT, modifyRequest.getPersistenceProtocol().get()); + assertEquals(Optional.of(PersistenceProtocol.ABORT), modifyRequest.getPersistenceProtocol()); } @Override @@ -132,8 +130,7 @@ public abstract class LocalProxyTransactionTest doAnswer(LocalProxyTransactionTest::applyToCursorAnswer).when(modification).applyToCursor(any()); final ModifyTransactionRequest modifyRequest = testForwardToRemote(request, ModifyTransactionRequest.class); verify(modification).applyToCursor(any()); - assertTrue(modifyRequest.getPersistenceProtocol().isPresent()); - assertEquals(PersistenceProtocol.THREE_PHASE, modifyRequest.getPersistenceProtocol().get()); + assertEquals(Optional.of(PersistenceProtocol.THREE_PHASE), modifyRequest.getPersistenceProtocol()); checkModifications(modifyRequest); } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/actors/dds/LocalReadWriteProxyTransactionTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/actors/dds/LocalReadWriteProxyTransactionTest.java index dbcdd5960d..ad772d0703 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/actors/dds/LocalReadWriteProxyTransactionTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/actors/dds/LocalReadWriteProxyTransactionTest.java @@ -151,7 +151,7 @@ public class LocalReadWriteProxyTransactionTest extends LocalProxyTransactionTes final RemoteProxyTransaction successor = transactionTester.getTransaction(); doAnswer(LocalProxyTransactionTest::applyToCursorAnswer).when(modification).applyToCursor(any()); transaction.sealOnly(); - final TransactionRequest request = transaction.flushState().get(); + final TransactionRequest request = transaction.flushState().orElseThrow(); transaction.forwardToSuccessor(successor, request, null); verify(modification).applyToCursor(any()); transactionTester.getTransaction().seal(); diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/actors/dds/ModuleShardBackendResolverTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/actors/dds/ModuleShardBackendResolverTest.java index ee5737effa..20525d78ed 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/actors/dds/ModuleShardBackendResolverTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/actors/dds/ModuleShardBackendResolverTest.java @@ -120,7 +120,7 @@ public class ModuleShardBackendResolverTest { final CompletionStage stage = moduleShardBackendResolver.getBackendInfo(0L); final ShardBackendInfo shardBackendInfo = TestUtils.getWithTimeout(stage.toCompletableFuture()); assertEquals(0L, shardBackendInfo.getCookie().longValue()); - assertEquals(dataTree, shardBackendInfo.getDataTree().get()); + assertEquals(dataTree, shardBackendInfo.getDataTree().orElseThrow()); assertEquals(DefaultShardStrategy.DEFAULT_SHARD, shardBackendInfo.getName()); } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/actors/dds/RemoteProxyTransactionTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/actors/dds/RemoteProxyTransactionTest.java index c9324702e6..41847973fb 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/actors/dds/RemoteProxyTransactionTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/actors/dds/RemoteProxyTransactionTest.java @@ -12,7 +12,6 @@ import static org.hamcrest.CoreMatchers.hasItem; import static org.hamcrest.CoreMatchers.isA; import static org.hamcrest.MatcherAssert.assertThat; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; import static org.opendaylight.controller.cluster.databroker.actors.dds.TestUtils.assertFutureEquals; import akka.testkit.TestProbe; @@ -101,8 +100,7 @@ public class RemoteProxyTransactionTest extends AbstractProxyTransactionTest result = transaction.directCommit(); final TransactionTester tester = getTester(); final ModifyTransactionRequest req = tester.expectTransactionRequest(ModifyTransactionRequest.class); - assertTrue(req.getPersistenceProtocol().isPresent()); - assertEquals(PersistenceProtocol.SIMPLE, req.getPersistenceProtocol().get()); + assertEquals(Optional.of(PersistenceProtocol.SIMPLE), req.getPersistenceProtocol()); tester.replySuccess(new TransactionCommitSuccess(TRANSACTION_ID, req.getSequence())); assertFutureEquals(true, result); } @@ -181,8 +179,7 @@ public class RemoteProxyTransactionTest extends AbstractProxyTransactionTest optional = readTx.read(carPath).get(5, TimeUnit.SECONDS); - assertTrue("isPresent", optional.isPresent()); - assertEquals("Data node", car, optional.get()); - - optional = readTx.read(personPath).get(5, TimeUnit.SECONDS); - assertTrue("isPresent", optional.isPresent()); - assertEquals("Data node", person, optional.get()); + assertEquals(Optional.of(car), readTx.read(carPath).get(5, TimeUnit.SECONDS)); + assertEquals(Optional.of(person), readTx.read(personPath).get(5, TimeUnit.SECONDS)); } } @@ -180,9 +175,7 @@ public abstract class AbstractDistributedDataStoreIntegrationTest { final Boolean exists = readWriteTx.exists(nodePath).get(5, TimeUnit.SECONDS); assertEquals("exists", Boolean.TRUE, exists); - Optional optional = readWriteTx.read(nodePath).get(5, TimeUnit.SECONDS); - assertTrue("isPresent", optional.isPresent()); - assertEquals("Data node", nodeToWrite, optional.get()); + assertEquals(Optional.of(nodeToWrite), readWriteTx.read(nodePath).get(5, TimeUnit.SECONDS)); // 4. Ready the Tx for commit final DOMStoreThreePhaseCommitCohort cohort = readWriteTx.ready(); @@ -193,9 +186,7 @@ public abstract class AbstractDistributedDataStoreIntegrationTest { // 6. Verify the data in the store final DOMStoreReadTransaction readTx = dataStore.newReadOnlyTransaction(); - optional = readTx.read(nodePath).get(5, TimeUnit.SECONDS); - assertTrue("isPresent", optional.isPresent()); - assertEquals("Data node", nodeToWrite, optional.get()); + assertEquals(Optional.of(nodeToWrite), readTx.read(nodePath).get(5, TimeUnit.SECONDS)); } } @@ -233,22 +224,15 @@ public abstract class AbstractDistributedDataStoreIntegrationTest { final Boolean exists = readWriteTx.exists(carPath).get(5, TimeUnit.SECONDS); assertEquals("exists", Boolean.TRUE, exists); - Optional optional = readWriteTx.read(carPath).get(5, TimeUnit.SECONDS); - assertTrue("isPresent", optional.isPresent()); - assertEquals("Data node", car, optional.get()); + assertEquals("Data node", Optional.of(car), readWriteTx.read(carPath).get(5, TimeUnit.SECONDS)); testKit.doCommit(readWriteTx.ready()); // Verify the data in the store DOMStoreReadTransaction readTx = dataStore.newReadOnlyTransaction(); - optional = readTx.read(carPath).get(5, TimeUnit.SECONDS); - assertTrue("isPresent", optional.isPresent()); - assertEquals("Data node", car, optional.get()); - - optional = readTx.read(personPath).get(5, TimeUnit.SECONDS); - assertTrue("isPresent", optional.isPresent()); - assertEquals("Data node", person, optional.get()); + assertEquals(Optional.of(car), readTx.read(carPath).get(5, TimeUnit.SECONDS)); + assertEquals(Optional.of(person), readTx.read(personPath).get(5, TimeUnit.SECONDS)); } } @@ -478,9 +462,7 @@ public abstract class AbstractDistributedDataStoreIntegrationTest { // the data from the first // Tx is visible after being readied. DOMStoreReadTransaction readTx = txChain.newReadOnlyTransaction(); - Optional optional = readTx.read(TestModel.TEST_PATH).get(5, TimeUnit.SECONDS); - assertTrue("isPresent", optional.isPresent()); - assertEquals("Data node", testNode, optional.get()); + assertEquals(Optional.of(testNode), readTx.read(TestModel.TEST_PATH).get(5, TimeUnit.SECONDS)); // 6. Create a new RW Tx from the chain, write more data, // and ready it @@ -496,9 +478,7 @@ public abstract class AbstractDistributedDataStoreIntegrationTest { // from the last RW Tx to // verify it is visible. readTx = txChain.newReadWriteTransaction(); - optional = readTx.read(TestModel.OUTER_LIST_PATH).get(5, TimeUnit.SECONDS); - assertTrue("isPresent", optional.isPresent()); - assertEquals("Data node", outerNode, optional.get()); + assertEquals(Optional.of(outerNode), readTx.read(TestModel.OUTER_LIST_PATH).get(5, TimeUnit.SECONDS)); // 8. Wait for the 2 commits to complete and close the // chain. @@ -516,9 +496,7 @@ public abstract class AbstractDistributedDataStoreIntegrationTest { // 9. Create a new read Tx from the data store and verify // committed data. readTx = dataStore.newReadOnlyTransaction(); - optional = readTx.read(TestModel.OUTER_LIST_PATH).get(5, TimeUnit.SECONDS); - assertTrue("isPresent", optional.isPresent()); - assertEquals("Data node", outerNode, optional.get()); + assertEquals(Optional.of(outerNode), readTx.read(TestModel.OUTER_LIST_PATH).get(5, TimeUnit.SECONDS)); } } @@ -551,13 +529,8 @@ public abstract class AbstractDistributedDataStoreIntegrationTest { final YangInstanceIdentifier personPath = PeopleModel.newPersonPath("jack"); readWriteTx.merge(personPath, person); - Optional optional = readWriteTx.read(carPath).get(5, TimeUnit.SECONDS); - assertTrue("isPresent", optional.isPresent()); - assertEquals("Data node", car, optional.get()); - - optional = readWriteTx.read(personPath).get(5, TimeUnit.SECONDS); - assertTrue("isPresent", optional.isPresent()); - assertEquals("Data node", person, optional.get()); + assertEquals(Optional.of(car), readWriteTx.read(carPath).get(5, TimeUnit.SECONDS)); + assertEquals(Optional.of(person), readWriteTx.read(personPath).get(5, TimeUnit.SECONDS)); final DOMStoreThreePhaseCommitCohort cohort2 = readWriteTx.ready(); @@ -578,12 +551,8 @@ public abstract class AbstractDistributedDataStoreIntegrationTest { final DOMStoreReadTransaction readTx = dataStore.newReadOnlyTransaction(); - optional = readTx.read(carPath).get(5, TimeUnit.SECONDS); - assertFalse("isPresent", optional.isPresent()); - - optional = readTx.read(personPath).get(5, TimeUnit.SECONDS); - assertTrue("isPresent", optional.isPresent()); - assertEquals("Data node", person, optional.get()); + assertEquals(Optional.empty(), readTx.read(carPath).get(5, TimeUnit.SECONDS)); + assertEquals(Optional.of(person), readTx.read(personPath).get(5, TimeUnit.SECONDS)); } } @@ -625,7 +594,7 @@ public abstract class AbstractDistributedDataStoreIntegrationTest { final Optional optional = txChain.newReadOnlyTransaction() .read(LogicalDatastoreType.CONFIGURATION, CarsModel.CAR_LIST_PATH).get(5, TimeUnit.SECONDS); assertTrue("isPresent", optional.isPresent()); - assertEquals("# cars", numCars, ((Collection) optional.get().body()).size()); + assertEquals("# cars", numCars, ((Collection) optional.orElseThrow().body()).size()); txChain.close(); @@ -909,13 +878,8 @@ public abstract class AbstractDistributedDataStoreIntegrationTest { final DOMStoreReadTransaction readTx = dataStore.newReadOnlyTransaction(); // two reads - Optional optional = readTx.read(CarsModel.BASE_PATH).get(5, TimeUnit.SECONDS); - assertTrue("isPresent", optional.isPresent()); - assertEquals("Data node", carsNode, optional.get()); - - optional = readTx.read(PeopleModel.BASE_PATH).get(5, TimeUnit.SECONDS); - assertTrue("isPresent", optional.isPresent()); - assertEquals("Data node", peopleNode, optional.get()); + assertEquals(Optional.of(carsNode), readTx.read(CarsModel.BASE_PATH).get(5, TimeUnit.SECONDS)); + assertEquals(Optional.of(peopleNode), readTx.read(PeopleModel.BASE_PATH).get(5, TimeUnit.SECONDS)); } } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/AbstractShardTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/AbstractShardTest.java index a39b81e1ca..aac97575ff 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/AbstractShardTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/AbstractShardTest.java @@ -168,7 +168,7 @@ public abstract class AbstractShardTest extends AbstractActorTest { final Optional idLeaf = mapEntry.findChildByArg(new YangInstanceIdentifier.NodeIdentifier(TestModel.ID_QNAME)); assertTrue("Missing leaf " + TestModel.ID_QNAME.getLocalName(), idLeaf.isPresent()); - final Object value = idLeaf.get().body(); + final Object value = idLeaf.orElseThrow().body(); assertTrue("Unexpected value for leaf " + TestModel.ID_QNAME.getLocalName() + ": " + value, listEntryKeys.remove(value)); } @@ -399,7 +399,7 @@ public abstract class AbstractShardTest extends AbstractActorTest { final Optional idLeaf = mapEntry.findChildByArg(new YangInstanceIdentifier.NodeIdentifier(TestModel.ID_QNAME)); assertTrue("Missing leaf " + TestModel.ID_QNAME.getLocalName(), idLeaf.isPresent()); - assertEquals(TestModel.ID_QNAME.getLocalName() + " value", expIDValue, idLeaf.get().body()); + assertEquals(TestModel.ID_QNAME.getLocalName() + " value", expIDValue, idLeaf.orElseThrow().body()); } public static DataTreeCandidateTip mockCandidate(final String name) { diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DataTreeCohortIntegrationTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DataTreeCohortIntegrationTest.java index 8fafe96cb3..0d24952fe2 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DataTreeCohortIntegrationTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DataTreeCohortIntegrationTest.java @@ -314,13 +314,14 @@ public class DataTreeCohortIntegrationTest { assertEquals("dataAfter present", expDataAfter.isPresent(), candidate.getRootNode().getDataAfter().isPresent()); if (expDataAfter.isPresent()) { - assertEquals("dataAfter", expDataAfter.get(), candidate.getRootNode().getDataAfter().get()); + assertEquals("dataAfter", expDataAfter.orElseThrow(), candidate.getRootNode().getDataAfter().orElseThrow()); } assertEquals("dataBefore present", expDataBefore.isPresent(), candidate.getRootNode().getDataBefore().isPresent()); if (expDataBefore.isPresent()) { - assertEquals("dataBefore", expDataBefore.get(), candidate.getRootNode().getDataBefore().get()); + assertEquals("dataBefore", expDataBefore.orElseThrow(), + candidate.getRootNode().getDataBefore().orElseThrow()); } } } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DistributedDataStoreRemotingIntegrationTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DistributedDataStoreRemotingIntegrationTest.java index 6868ddcf16..265f4f2c45 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DistributedDataStoreRemotingIntegrationTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DistributedDataStoreRemotingIntegrationTest.java @@ -119,8 +119,6 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdent import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; -import org.opendaylight.yangtools.yang.data.api.schema.SystemMapNode; -import org.opendaylight.yangtools.yang.data.api.schema.builder.CollectionNodeBuilder; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; import org.opendaylight.yangtools.yang.data.tree.api.ConflictingModificationAppliedException; @@ -251,16 +249,9 @@ public class DistributedDataStoreRemotingIntegrationTest extends AbstractTest { private static void verifyCars(final DOMStoreReadTransaction readTx, final MapEntryNode... entries) throws Exception { - final Optional optional = readTx.read(CarsModel.CAR_LIST_PATH).get(5, TimeUnit.SECONDS); - assertTrue("isPresent", optional.isPresent()); - - final CollectionNodeBuilder listBuilder = ImmutableNodes.mapNodeBuilder( - CarsModel.CAR_QNAME); - for (final NormalizedNode entry: entries) { - listBuilder.withChild((MapEntryNode) entry); - } - - assertEquals("Car list node", listBuilder.build(), optional.get()); + assertEquals("Car list node", + Optional.of(ImmutableNodes.mapNodeBuilder(CarsModel.CAR_QNAME).withValue(Arrays.asList(entries)).build()), + readTx.read(CarsModel.CAR_LIST_PATH).get(5, TimeUnit.SECONDS)); } private static void verifyNode(final DOMStoreReadTransaction readTx, final YangInstanceIdentifier path, @@ -784,7 +775,7 @@ public class DistributedDataStoreRemotingIntegrationTest extends AbstractTest { ReadyLocalTransaction readyLocal = new ReadyLocalTransaction(tx1 , modification, true, Optional.empty()); - carsFollowerShard.get().tell(readyLocal, followerTestKit.getRef()); + carsFollowerShard.orElseThrow().tell(readyLocal, followerTestKit.getRef()); Object resp = followerTestKit.expectMsgClass(Object.class); if (resp instanceof akka.actor.Status.Failure) { throw new AssertionError("Unexpected failure response", ((akka.actor.Status.Failure)resp).cause()); @@ -803,7 +794,7 @@ public class DistributedDataStoreRemotingIntegrationTest extends AbstractTest { readyLocal = new ReadyLocalTransaction(tx2 , modification, false, Optional.empty()); - carsFollowerShard.get().tell(readyLocal, followerTestKit.getRef()); + carsFollowerShard.orElseThrow().tell(readyLocal, followerTestKit.getRef()); resp = followerTestKit.expectMsgClass(Object.class); if (resp instanceof akka.actor.Status.Failure) { throw new AssertionError("Unexpected failure response", ((akka.actor.Status.Failure)resp).cause()); @@ -833,7 +824,7 @@ public class DistributedDataStoreRemotingIntegrationTest extends AbstractTest { followerDistributedDataStore.getActorUtils().findLocalShard("cars"); assertTrue("Cars follower shard found", carsFollowerShard.isPresent()); - carsFollowerShard.get().tell(GetShardDataTree.INSTANCE, followerTestKit.getRef()); + carsFollowerShard.orElseThrow().tell(GetShardDataTree.INSTANCE, followerTestKit.getRef()); final DataTree dataTree = followerTestKit.expectMsgClass(DataTree.class); // Send a tx with immediate commit. @@ -849,7 +840,7 @@ public class DistributedDataStoreRemotingIntegrationTest extends AbstractTest { new ReadWriteShardDataTreeTransaction(mock(ShardDataTreeTransactionParent.class), tx1, modification), true, Optional.empty()); - carsFollowerShard.get().tell(forwardedReady, followerTestKit.getRef()); + carsFollowerShard.orElseThrow().tell(forwardedReady, followerTestKit.getRef()); Object resp = followerTestKit.expectMsgClass(Object.class); if (resp instanceof akka.actor.Status.Failure) { throw new AssertionError("Unexpected failure response", ((akka.actor.Status.Failure)resp).cause()); @@ -869,7 +860,7 @@ public class DistributedDataStoreRemotingIntegrationTest extends AbstractTest { new ReadWriteShardDataTreeTransaction(mock(ShardDataTreeTransactionParent.class), tx2, modification), false, Optional.empty()); - carsFollowerShard.get().tell(forwardedReady, followerTestKit.getRef()); + carsFollowerShard.orElseThrow().tell(forwardedReady, followerTestKit.getRef()); resp = followerTestKit.expectMsgClass(Object.class); if (resp instanceof akka.actor.Status.Failure) { throw new AssertionError("Unexpected failure response", ((akka.actor.Status.Failure)resp).cause()); @@ -1296,7 +1287,7 @@ public class DistributedDataStoreRemotingIntegrationTest extends AbstractTest { // behavior is controlled by akka.coordinated-shutdown.run-by-actor-system-terminate configuration option TestKit.shutdownActorSystem(follower2System, true); - ActorRef cars = leaderDistributedDataStore.getActorUtils().findLocalShard("cars").get(); + ActorRef cars = leaderDistributedDataStore.getActorUtils().findLocalShard("cars").orElseThrow(); final OnDemandRaftState initialState = (OnDemandRaftState) leaderDistributedDataStore.getActorUtils() .executeOperation(cars, GetOnDemandRaftState.INSTANCE); @@ -1311,7 +1302,7 @@ public class DistributedDataStoreRemotingIntegrationTest extends AbstractTest { await().atMost(10, TimeUnit.SECONDS) .until(() -> containsUnreachable(followerCluster, follower2Member)); - ActorRef followerCars = followerDistributedDataStore.getActorUtils().findLocalShard("cars").get(); + ActorRef followerCars = followerDistributedDataStore.getActorUtils().findLocalShard("cars").orElseThrow(); // to simulate a follower not being able to receive messages, but still being able to send messages and becoming // candidate, we can just send a couple of RequestVotes to both leader and follower. @@ -1529,7 +1520,7 @@ public class DistributedDataStoreRemotingIntegrationTest extends AbstractTest { assertEquals("Snapshot state type", ShardSnapshotState.class, actual.getState().getClass()); MetadataShardDataTreeSnapshot shardSnapshot = (MetadataShardDataTreeSnapshot) ((ShardSnapshotState)actual.getState()).getSnapshot(); - assertEquals("Snapshot root node", expRoot, shardSnapshot.getRootNode().get()); + assertEquals("Snapshot root node", expRoot, shardSnapshot.getRootNode().orElseThrow()); } private static void sendDatastoreContextUpdate(final AbstractDataStore dataStore, final Builder builder) { diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DistributedDataStoreWithSegmentedJournalIntegrationTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DistributedDataStoreWithSegmentedJournalIntegrationTest.java index b5b3f92f59..ade5316607 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DistributedDataStoreWithSegmentedJournalIntegrationTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DistributedDataStoreWithSegmentedJournalIntegrationTest.java @@ -133,7 +133,7 @@ public class DistributedDataStoreWithSegmentedJournalIntegrationTest MapNode cars = carMapBuilder.build(); - assertEquals("cars not matching result", cars, optional.get()); + assertEquals("cars not matching result", cars, optional.orElseThrow()); txChain.close(); @@ -163,8 +163,7 @@ public class DistributedDataStoreWithSegmentedJournalIntegrationTest final Optional optional = txChain.newReadOnlyTransaction() .read(CarsModel.CAR_LIST_PATH).get(5, TimeUnit.SECONDS); - assertTrue("isPresent", optional.isPresent()); - assertEquals("restored cars do not match snapshot", cars, optional.get()); + assertEquals("restored cars do not match snapshot", Optional.of(cars), optional); txChain.close(); } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/IntegrationTestKit.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/IntegrationTestKit.java index 8bb274e2e4..f95c6eb4f4 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/IntegrationTestKit.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/IntegrationTestKit.java @@ -257,15 +257,14 @@ public class IntegrationTestKit extends ShardTestKit { } public static ActorRef findLocalShard(final ActorUtils actorUtils, final String shardName) { - ActorRef shard = null; - for (int i = 0; i < 20 * 5 && shard == null; i++) { + for (int i = 0; i < 20 * 5; i++) { Uninterruptibles.sleepUninterruptibly(50, TimeUnit.MILLISECONDS); Optional shardReply = actorUtils.findLocalShard(shardName); if (shardReply.isPresent()) { - shard = shardReply.get(); + return shardReply.orElseThrow(); } } - return shard; + return null; } public static void waitUntilShardIsDown(final ActorUtils actorUtils, final String shardName) { diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeTest.java index ce07093632..2243c78f56 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeTest.java @@ -314,13 +314,8 @@ public class ShardDataTreeTest extends AbstractTest { final DataTreeSnapshot snapshot = shardDataTree.newReadOnlyTransaction(nextTransactionId()).getSnapshot(); - Optional optional = snapshot.readNode(carPath); - assertTrue("Car node present", optional.isPresent()); - assertEquals("Car node", carNode, optional.get()); - - optional = snapshot.readNode(PeopleModel.BASE_PATH); - assertTrue("People node present", optional.isPresent()); - assertEquals("People node", peopleNode, optional.get()); + assertEquals("Car node", Optional.of(carNode), snapshot.readNode(carPath)); + assertEquals("People node", Optional.of(peopleNode), snapshot.readNode(PeopleModel.BASE_PATH)); } @Test @@ -361,9 +356,7 @@ public class ShardDataTreeTest extends AbstractTest { final DataTreeSnapshot snapshot = shardDataTree.newReadOnlyTransaction(nextTransactionId()).getSnapshot(); - Optional optional = snapshot.readNode(carPath); - assertTrue("Car node present", optional.isPresent()); - assertEquals("Car node", carNode, optional.get()); + assertEquals("Car node", Optional.of(carNode), snapshot.readNode(carPath)); } @Test @@ -447,8 +440,7 @@ public class ShardDataTreeTest extends AbstractTest { final DataTreeSnapshot snapshot = shardDataTree.newReadOnlyTransaction(nextTransactionId()).getSnapshot(); Optional optional = snapshot.readNode(carPath); - assertTrue("Car node present", optional.isPresent()); - assertEquals("Car node", carNode, optional.get()); + assertEquals("Car node", Optional.of(carNode), optional); } @SuppressWarnings("unchecked") @@ -487,8 +479,7 @@ public class ShardDataTreeTest extends AbstractTest { final DataTreeSnapshot snapshot = shardDataTree.newReadOnlyTransaction(nextTransactionId()).getSnapshot(); Optional optional = snapshot.readNode(PeopleModel.BASE_PATH); - assertTrue("People node present", optional.isPresent()); - assertEquals("People node", peopleNode, optional.get()); + assertEquals("People node", Optional.of(peopleNode), optional); } @Test @@ -547,8 +538,8 @@ public class ShardDataTreeTest extends AbstractTest { dataTree.commit(third); // Apply first candidate as a snapshot - shardDataTree.applyRecoverySnapshot( - new ShardSnapshotState(new MetadataShardDataTreeSnapshot(first.getRootNode().getDataAfter().get()), true)); + shardDataTree.applyRecoverySnapshot(new ShardSnapshotState( + new MetadataShardDataTreeSnapshot(first.getRootNode().getDataAfter().orElseThrow()), true)); // Apply the other two snapshots as transactions shardDataTree.applyRecoveryPayload(CommitTransactionPayload.create(nextTransactionId(), second, PayloadVersion.SODIUM_SR1)); @@ -557,7 +548,6 @@ public class ShardDataTreeTest extends AbstractTest { // Verify uint translation final DataTreeSnapshot snapshot = shardDataTree.newReadOnlyTransaction(nextTransactionId()).getSnapshot(); - final NormalizedNode cars = snapshot.readNode(CarsModel.CAR_LIST_PATH).get(); assertEquals(Builders.mapBuilder() .withNodeIdentifier(new NodeIdentifier(CarsModel.CAR_QNAME)) @@ -565,12 +555,12 @@ public class ShardDataTreeTest extends AbstractTest { .withChild(createCar("one", Uint64.ONE)) .withChild(createCar("two", Uint64.TWO)) .withChild(createCar("three", Uint64.TEN)) - .build(), cars); + .build(), snapshot.readNode(CarsModel.CAR_LIST_PATH).orElseThrow()); } private void assertCarsUint64() { final DataTreeSnapshot snapshot = shardDataTree.newReadOnlyTransaction(nextTransactionId()).getSnapshot(); - final NormalizedNode cars = snapshot.readNode(CarsModel.CAR_LIST_PATH).get(); + final NormalizedNode cars = snapshot.readNode(CarsModel.CAR_LIST_PATH).orElseThrow(); assertEquals(Builders.mapBuilder() .withNodeIdentifier(new NodeIdentifier(CarsModel.CAR_QNAME)) @@ -633,7 +623,7 @@ public class ShardDataTreeTest extends AbstractTest { assertTrue(optional.isPresent()); - return optional.get(); + return optional.orElseThrow(); } private static DataTreeCandidate addCar(final ShardDataTree shardDataTree) { diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardRecoveryCoordinatorTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardRecoveryCoordinatorTest.java index a52d1ccaf3..50dec58156 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardRecoveryCoordinatorTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardRecoveryCoordinatorTest.java @@ -131,6 +131,6 @@ public class ShardRecoveryCoordinatorTest extends AbstractTest { dataTree.commit(dataTree.prepare(modification)); return new ShardSnapshotState(new MetadataShardDataTreeSnapshot(dataTree.takeSnapshot().readNode( - YangInstanceIdentifier.empty()).get())); + YangInstanceIdentifier.empty()).orElseThrow())); } } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardTest.java index 2ac7c6ea59..d2a08495cd 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardTest.java @@ -1767,8 +1767,8 @@ public class ShardTest extends AbstractShardTest { } private static void verifySnapshot(final Snapshot snapshot, final NormalizedNode expectedRoot) { - final NormalizedNode actual = ((ShardSnapshotState)snapshot.getState()).getSnapshot().getRootNode().get(); - assertEquals("Root node", expectedRoot, actual); + assertEquals("Root node", expectedRoot, + ((ShardSnapshotState)snapshot.getState()).getSnapshot().getRootNode().orElseThrow()); } /** @@ -1861,7 +1861,7 @@ public class ShardTest extends AbstractShardTest { ShardLeaderStateChanged.class); assertTrue("getLocalShardDataTree present", leaderStateChanged.getLocalShardDataTree().isPresent()); assertSame("getLocalShardDataTree", shard.underlyingActor().getDataStore().getDataTree(), - leaderStateChanged.getLocalShardDataTree().get()); + leaderStateChanged.getLocalShardDataTree().orElseThrow()); MessageCollectorActor.clearMessages(listener); diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardTestKit.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardTestKit.java index b22ca277e5..515c0b5b92 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardTestKit.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardTestKit.java @@ -17,7 +17,6 @@ import akka.testkit.javadsl.EventFilter; import akka.testkit.javadsl.TestKit; import akka.util.Timeout; import com.google.common.util.concurrent.Uninterruptibles; -import java.util.Optional; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; import org.opendaylight.controller.cluster.raft.client.messages.FindLeader; @@ -48,10 +47,9 @@ public class ShardTestKit extends TestKit { for (int i = 0; i < 20 * 5; i++) { Future future = Patterns.ask(shard, FindLeader.INSTANCE, new Timeout(duration)); try { - final Optional maybeLeader = ((FindLeaderReply) Await.result(future, duration)) - .getLeaderActor(); + final var maybeLeader = ((FindLeaderReply) Await.result(future, duration)).getLeaderActor(); if (maybeLeader.isPresent()) { - return maybeLeader.get(); + return maybeLeader.orElseThrow(); } } catch (TimeoutException e) { LOG.trace("FindLeader timed out", e); @@ -73,13 +71,12 @@ public class ShardTestKit extends TestKit { for (int i = 0; i < 20 * 5; i++) { Future future = Patterns.ask(shard, FindLeader.INSTANCE, new Timeout(duration)); try { - final Optional maybeLeader = ((FindLeaderReply) Await.result(future, duration)) - .getLeaderActor(); + final var maybeLeader = ((FindLeaderReply) Await.result(future, duration)).getLeaderActor(); if (!maybeLeader.isPresent()) { return; } - lastResponse = maybeLeader.get(); + lastResponse = maybeLeader.orElseThrow(); } catch (TimeoutException e) { lastResponse = e; } catch (Exception e) { diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/TransactionProxyTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/TransactionProxyTest.java index 96356befdc..c83327de5a 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/TransactionProxyTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/TransactionProxyTest.java @@ -10,6 +10,7 @@ package org.opendaylight.controller.cluster.datastore; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertThrows; import static org.junit.Assert.assertTrue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyString; @@ -102,21 +103,14 @@ public class TransactionProxyTest extends AbstractTransactionProxyTest { doReturn(readDataReply(null)).when(mockActorContext).executeOperationAsync( eq(actorSelection(actorRef)), eqReadData(), any(Timeout.class)); - Optional readOptional = transactionProxy.read( - TestModel.TEST_PATH).get(5, TimeUnit.SECONDS); - - assertFalse("NormalizedNode isPresent", readOptional.isPresent()); + assertEquals(Optional.empty(), transactionProxy.read(TestModel.TEST_PATH).get(5, TimeUnit.SECONDS)); NormalizedNode expectedNode = ImmutableNodes.containerNode(TestModel.TEST_QNAME); doReturn(readDataReply(expectedNode)).when(mockActorContext).executeOperationAsync( eq(actorSelection(actorRef)), eqReadData(), any(Timeout.class)); - readOptional = transactionProxy.read(TestModel.TEST_PATH).get(5, TimeUnit.SECONDS); - - assertTrue("NormalizedNode isPresent", readOptional.isPresent()); - - assertEquals("Response NormalizedNode", expectedNode, readOptional.get()); + assertEquals(Optional.of(expectedNode), transactionProxy.read(TestModel.TEST_PATH).get(5, TimeUnit.SECONDS)); } @Test(expected = ReadFailedException.class) @@ -201,11 +195,7 @@ public class TransactionProxyTest extends AbstractTransactionProxyTest { transactionProxy.write(TestModel.TEST_PATH, expectedNode); - Optional readOptional = transactionProxy.read( - TestModel.TEST_PATH).get(5, TimeUnit.SECONDS); - - assertTrue("NormalizedNode isPresent", readOptional.isPresent()); - assertEquals("Response NormalizedNode", expectedNode, readOptional.get()); + assertEquals(Optional.of(expectedNode), transactionProxy.read(TestModel.TEST_PATH).get(5, TimeUnit.SECONDS)); InOrder inOrder = Mockito.inOrder(mockActorContext); inOrder.verify(mockActorContext).executeOperationAsync( @@ -215,10 +205,10 @@ public class TransactionProxyTest extends AbstractTransactionProxyTest { eq(actorSelection(actorRef)), eqReadData(), any(Timeout.class)); } - @Test(expected = IllegalStateException.class) + @Test public void testReadPreConditionCheck() { TransactionProxy transactionProxy = new TransactionProxy(mockComponentFactory, WRITE_ONLY); - transactionProxy.read(TestModel.TEST_PATH); + assertThrows(IllegalStateException.class, () -> transactionProxy.read(TestModel.TEST_PATH)); } @Test(expected = IllegalArgumentException.class) @@ -572,20 +562,20 @@ public class TransactionProxyTest extends AbstractTransactionProxyTest { ArgumentCaptor batchedMods = ArgumentCaptor.forClass(BatchedModifications.class); verify(mockActorContext).executeOperationAsync( eq(actorSelection(actorRef1)), batchedMods.capture(), any(Timeout.class)); - assertTrue("Participating shards present", batchedMods.getValue().getParticipatingShardNames().isPresent()); - assertEquals("Participating shards", expShardNames, batchedMods.getValue().getParticipatingShardNames().get()); + assertEquals("Participating shards", Optional.of(expShardNames), + batchedMods.getValue().getParticipatingShardNames()); batchedMods = ArgumentCaptor.forClass(BatchedModifications.class); verify(mockActorContext).executeOperationAsync( eq(actorSelection(actorRef2)), batchedMods.capture(), any(Timeout.class)); - assertTrue("Participating shards present", batchedMods.getValue().getParticipatingShardNames().isPresent()); - assertEquals("Participating shards", expShardNames, batchedMods.getValue().getParticipatingShardNames().get()); + assertEquals("Participating shards", Optional.of(expShardNames), + batchedMods.getValue().getParticipatingShardNames()); ArgumentCaptor readyLocalTx = ArgumentCaptor.forClass(ReadyLocalTransaction.class); verify(mockActorContext).executeOperationAsync( eq(actorSelection(actorRef3)), readyLocalTx.capture(), any(Timeout.class)); - assertTrue("Participating shards present", readyLocalTx.getValue().getParticipatingShardNames().isPresent()); - assertEquals("Participating shards", expShardNames, readyLocalTx.getValue().getParticipatingShardNames().get()); + assertEquals("Participating shards", Optional.of(expShardNames), + readyLocalTx.getValue().getParticipatingShardNames()); } @Test @@ -1408,8 +1398,7 @@ public class TransactionProxyTest extends AbstractTransactionProxyTest { Optional readOptional = transactionProxy.read(writePath2).get(5, TimeUnit.SECONDS); - assertTrue("NormalizedNode isPresent", readOptional.isPresent()); - assertEquals("Response NormalizedNode", writeNode2, readOptional.get()); + assertEquals("Response NormalizedNode", Optional.of(writeNode2), readOptional); transactionProxy.merge(mergePath1, mergeNode1); transactionProxy.merge(mergePath2, mergeNode2); @@ -1421,8 +1410,7 @@ public class TransactionProxyTest extends AbstractTransactionProxyTest { Boolean exists = transactionProxy.exists(TestModel.TEST_PATH).get(); assertEquals("Exists response", Boolean.TRUE, exists); - assertTrue("NormalizedNode isPresent", readOptional.isPresent()); - assertEquals("Response NormalizedNode", mergeNode2, readOptional.get()); + assertEquals("Response NormalizedNode", Optional.of(mergeNode2), readOptional); List batchedModifications = captureBatchedModifications(actorRef); assertEquals("Captured BatchedModifications count", 3, batchedModifications.size()); @@ -1480,7 +1468,7 @@ public class TransactionProxyTest extends AbstractTransactionProxyTest { assertTrue("NormalizedNode isPresent", readOptional.isPresent()); - NormalizedNode normalizedNode = readOptional.get(); + NormalizedNode normalizedNode = readOptional.orElseThrow(); assertTrue("Expect value to be a Collection", normalizedNode.body() instanceof Collection); diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/actors/ShardSnapshotActorTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/actors/ShardSnapshotActorTest.java index b69c6c8662..0a5c40d29d 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/actors/ShardSnapshotActorTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/actors/ShardSnapshotActorTest.java @@ -9,7 +9,6 @@ package org.opendaylight.controller.cluster.datastore.actors; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; import akka.actor.ActorRef; import akka.testkit.javadsl.TestKit; @@ -40,7 +39,7 @@ public class ShardSnapshotActorTest extends AbstractActorTest { final ActorRef snapshotActor = getSystem().actorOf(ShardSnapshotActor.props(STREAM_FACTORY), testName); kit.watch(snapshotActor); - final NormalizedNode expectedRoot = snapshot.getRootNode().get(); + final NormalizedNode expectedRoot = snapshot.getRootNode().orElseThrow(); ByteArrayOutputStream installSnapshotStream = withInstallSnapshot ? new ByteArrayOutputStream() : null; ShardSnapshotActor.requestSnapshot(snapshotActor, snapshot, @@ -59,10 +58,7 @@ public class ShardSnapshotActorTest extends AbstractActorTest { } assertEquals("Deserialized snapshot type", snapshot.getClass(), deserialized.getClass()); - - final Optional maybeNode = deserialized.getRootNode(); - assertTrue("isPresent", maybeNode.isPresent()); - assertEquals("Root node", expectedRoot, maybeNode.get()); + assertEquals("Root node", Optional.of(expectedRoot), deserialized.getRootNode()); } } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/messages/ReadyLocalTransactionSerializerTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/messages/ReadyLocalTransactionSerializerTest.java index ea1b00d49d..2aaf41bf57 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/messages/ReadyLocalTransactionSerializerTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/messages/ReadyLocalTransactionSerializerTest.java @@ -74,8 +74,7 @@ public class ReadyLocalTransactionSerializerTest extends AbstractTest { assertEquals("getVersion", DataStoreVersions.CURRENT_VERSION, batched.getVersion()); assertTrue("isReady", batched.isReady()); assertTrue("isDoCommitOnReady", batched.isDoCommitOnReady()); - assertTrue("participatingShardNames present", batched.getParticipatingShardNames().isPresent()); - assertEquals("participatingShardNames", shardNames, batched.getParticipatingShardNames().get()); + assertEquals("participatingShardNames", Optional.of(shardNames), batched.getParticipatingShardNames()); List batchedMods = batched.getModifications(); assertEquals("getModifications size", 2, batchedMods.size()); diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/modification/MutableCompositeModificationTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/modification/MutableCompositeModificationTest.java index c4f2695589..e633b17443 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/modification/MutableCompositeModificationTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/modification/MutableCompositeModificationTest.java @@ -31,7 +31,7 @@ public class MutableCompositeModificationTest extends AbstractModificationTest { compositeModification.apply(transaction); commitTransaction(transaction); - assertEquals(TestModel.TEST_QNAME, readData(TestModel.TEST_PATH).get().getIdentifier().getNodeType()); + assertEquals(TestModel.TEST_QNAME, readData(TestModel.TEST_PATH).orElseThrow().getIdentifier().getNodeType()); } @Test diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/persisted/ShardDataTreeSnapshotTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/persisted/ShardDataTreeSnapshotTest.java index 28fe35e9dd..9c50f1669c 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/persisted/ShardDataTreeSnapshotTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/persisted/ShardDataTreeSnapshotTest.java @@ -8,7 +8,6 @@ package org.opendaylight.controller.cluster.datastore.persisted; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -24,7 +23,6 @@ import org.junit.Test; import org.opendaylight.controller.md.cluster.datastore.model.TestModel; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; -import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; @@ -55,9 +53,7 @@ public class ShardDataTreeSnapshotTest { deserialized = ShardDataTreeSnapshot.deserialize(in).getSnapshot(); } - Optional actualNode = deserialized.getRootNode(); - assertTrue("rootNode present", actualNode.isPresent()); - assertEquals("rootNode", expectedNode, actualNode.get()); + assertEquals("rootNode", Optional.of(expectedNode), deserialized.getRootNode()); assertEquals("Deserialized type", MetadataShardDataTreeSnapshot.class, deserialized.getClass()); assertEquals("Metadata size", 0, ((MetadataShardDataTreeSnapshot)deserialized).getMetadata().size()); } @@ -84,9 +80,7 @@ public class ShardDataTreeSnapshotTest { deserialized = ShardDataTreeSnapshot.deserialize(in).getSnapshot(); } - Optional actualNode = deserialized.getRootNode(); - assertTrue("rootNode present", actualNode.isPresent()); - assertEquals("rootNode", expectedNode, actualNode.get()); + assertEquals("rootNode", Optional.of(expectedNode), deserialized.getRootNode()); assertEquals("Deserialized type", MetadataShardDataTreeSnapshot.class, deserialized.getClass()); assertEquals("Metadata", expMetadata, ((MetadataShardDataTreeSnapshot)deserialized).getMetadata()); } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/persisted/ShardSnapshotStateTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/persisted/ShardSnapshotStateTest.java index 662ed498fa..5a3019cd9f 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/persisted/ShardSnapshotStateTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/persisted/ShardSnapshotStateTest.java @@ -10,6 +10,7 @@ package org.opendaylight.controller.cluster.datastore.persisted; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; +import java.util.Optional; import org.apache.commons.lang3.SerializationUtils; import org.junit.Test; import org.opendaylight.controller.md.cluster.datastore.model.TestModel; @@ -36,7 +37,7 @@ public class ShardSnapshotStateTest { assertNotNull("getSnapshot is null", cloned.getSnapshot()); assertEquals("getSnapshot type", MetadataShardDataTreeSnapshot.class, cloned.getSnapshot().getClass()); - assertEquals("getRootNode", expectedNode, - ((MetadataShardDataTreeSnapshot)cloned.getSnapshot()).getRootNode().get()); + assertEquals("getRootNode", Optional.of(expectedNode), + ((MetadataShardDataTreeSnapshot)cloned.getSnapshot()).getRootNode()); } } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/utils/ActorUtilsTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/utils/ActorUtilsTest.java index e40939b55b..548d476dc0 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/utils/ActorUtilsTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/utils/ActorUtilsTest.java @@ -85,8 +85,7 @@ public class ActorUtilsTest extends AbstractActorTest { } @Override public void onReceive(final Object message) { - if (message instanceof FindPrimary) { - FindPrimary fp = (FindPrimary)message; + if (message instanceof FindPrimary fp) { Object resp = findPrimaryResponses.get(fp.getShardName()); if (resp == null) { LOG.error("No expected FindPrimary response found for shard name {}", fp.getShardName()); @@ -149,9 +148,7 @@ public class ActorUtilsTest extends AbstractActorTest { ActorUtils actorUtils = new ActorUtils(getSystem(), shardManagerActorRef, mock(ClusterWrapper.class), mock(Configuration.class)); - Optional out = actorUtils.findLocalShard("default"); - - assertEquals(shardActorRef, out.get()); + assertEquals(Optional.of(shardActorRef), actorUtils.findLocalShard("default")); testKit.expectNoMessage(); return null; @@ -379,7 +376,7 @@ public class ActorUtilsTest extends AbstractActorTest { assertNotNull(actual); assertTrue("LocalShardDataTree present", actual.getLocalShardDataTree().isPresent()); - assertSame("LocalShardDataTree", mockDataTree, actual.getLocalShardDataTree().get()); + assertSame("LocalShardDataTree", mockDataTree, actual.getLocalShardDataTree().orElseThrow()); assertTrue("Unexpected PrimaryShardActor path " + actual.getPrimaryShardActor().path(), expPrimaryPath.endsWith(actual.getPrimaryShardActor().pathString())); assertEquals("getPrimaryShardVersion", DataStoreVersions.CURRENT_VERSION, actual.getPrimaryShardVersion()); diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/utils/MockDataTreeChangeListener.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/utils/MockDataTreeChangeListener.java index 63af15fd95..85a9666d6f 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/utils/MockDataTreeChangeListener.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/utils/MockDataTreeChangeListener.java @@ -94,21 +94,21 @@ public class MockDataTreeChangeListener implements DOMDataTreeChangeListener { candidate.getRootNode())); } - final NormalizedNode dataAfter = maybeDataAfter.get(); + final NormalizedNode dataAfter = maybeDataAfter.orElseThrow(); final Optional relativePath = expPaths[i].relativeTo(candidate.getRootPath()); if (!relativePath.isPresent()) { assertEquals(String.format("Change %d does not contain %s. Actual: %s", i + 1, expPaths[i], dataAfter), expPaths[i].getLastPathArgument(), dataAfter.getIdentifier()); } else { NormalizedNode nextChild = dataAfter; - for (PathArgument pathArg: relativePath.get().getPathArguments()) { + for (PathArgument pathArg: relativePath.orElseThrow().getPathArguments()) { boolean found = false; if (nextChild instanceof DistinctNodeContainer) { Optional maybeChild = ((DistinctNodeContainer)nextChild) .findChildByArg(pathArg); if (maybeChild.isPresent()) { found = true; - nextChild = maybeChild.get(); + nextChild = maybeChild.orElseThrow(); } } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/utils/NormalizedNodeAggregatorTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/utils/NormalizedNodeAggregatorTest.java index 29a078ba37..0f1325030d 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/utils/NormalizedNodeAggregatorTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/utils/NormalizedNodeAggregatorTest.java @@ -11,7 +11,6 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import com.google.common.collect.ImmutableList; -import com.google.common.util.concurrent.FluentFuture; import java.util.Collection; import java.util.Optional; import java.util.concurrent.ExecutionException; @@ -48,7 +47,7 @@ public class NormalizedNodeAggregatorTest { schemaContext, LogicalDatastoreType.CONFIGURATION); - NormalizedNode normalizedNode = optional.get(); + NormalizedNode normalizedNode = optional.orElseThrow(); assertTrue("Expect value to be a Collection", normalizedNode.body() instanceof Collection); @@ -88,11 +87,7 @@ public class NormalizedNodeAggregatorTest { DOMStoreReadTransaction readTransaction = store.newReadOnlyTransaction(); - FluentFuture> read = readTransaction.read(YangInstanceIdentifier.empty()); - - Optional nodeOptional = read.get(); - - return nodeOptional.get(); + return readTransaction.read(YangInstanceIdentifier.empty()).get().orElseThrow(); } } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/utils/PruningDataTreeModificationTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/utils/PruningDataTreeModificationTest.java index 4fe47ec635..8ea6aa2198 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/utils/PruningDataTreeModificationTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/utils/PruningDataTreeModificationTest.java @@ -168,9 +168,7 @@ public class PruningDataTreeModificationTest { .withChild(outerNode) .build(); - Optional actual = dataTree.takeSnapshot().readNode(path); - assertTrue("After pruning present", actual.isPresent()); - assertEquals("After pruning", prunedNode, actual.get()); + assertEquals("After pruning", Optional.of(prunedNode), dataTree.takeSnapshot().readNode(path)); } @Test @@ -206,13 +204,11 @@ public class PruningDataTreeModificationTest { localDataTree.validate(mod); localDataTree.commit(localDataTree.prepare(mod)); - NormalizedNode normalizedNode = dataTree.takeSnapshot().readNode(YangInstanceIdentifier.empty()).get(); + NormalizedNode normalizedNode = dataTree.takeSnapshot().readNode(YangInstanceIdentifier.empty()).orElseThrow(); pruningDataTreeModification.write(YangInstanceIdentifier.empty(), normalizedNode); dataTree.commit(getCandidate()); - Optional actual = dataTree.takeSnapshot().readNode(YangInstanceIdentifier.empty()); - assertTrue("Root present", actual.isPresent()); - assertEquals("Root node", normalizedNode, actual.get()); + assertEquals(Optional.of(normalizedNode), dataTree.takeSnapshot().readNode(YangInstanceIdentifier.empty())); } @Test @@ -220,7 +216,7 @@ public class PruningDataTreeModificationTest { final Shard mockShard = Mockito.mock(Shard.class); ShardDataTree shardDataTree = new ShardDataTree(mockShard, SCHEMA_CONTEXT, TreeType.CONFIGURATION); - NormalizedNode root = shardDataTree.readNode(YangInstanceIdentifier.empty()).get(); + NormalizedNode root = shardDataTree.readNode(YangInstanceIdentifier.empty()).orElseThrow(); NormalizedNode normalizedNode = Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(root.getIdentifier().getNodeType())) @@ -229,9 +225,7 @@ public class PruningDataTreeModificationTest { pruningDataTreeModification.write(YangInstanceIdentifier.empty(), normalizedNode); dataTree.commit(getCandidate()); - Optional actual = dataTree.takeSnapshot().readNode(YangInstanceIdentifier.empty()); - assertEquals("Root present", true, actual.isPresent()); - assertEquals("Root node", root, actual.get()); + assertEquals(Optional.of(root), dataTree.takeSnapshot().readNode(YangInstanceIdentifier.empty())); } @@ -274,9 +268,7 @@ public class PruningDataTreeModificationTest { .withChild(ImmutableNodes.leafNode(NAME_QNAME, "name")) .build(); - Optional actual = dataTree.takeSnapshot().readNode(path); - assertTrue("After pruning present", actual.isPresent()); - assertEquals("After pruning", prunedNode, actual.get()); + assertEquals(Optional.of(prunedNode), dataTree.takeSnapshot().readNode(path)); } @Test diff --git a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/OpsRegistrar.java b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/OpsRegistrar.java index cfd5b2dadc..4acf7e30c1 100644 --- a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/OpsRegistrar.java +++ b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/OpsRegistrar.java @@ -93,7 +93,7 @@ final class OpsRegistrar extends AbstractUntypedActor { final ObjectRegistration prevReg; final Optional maybeEndpoint = e.getValue(); if (maybeEndpoint.isPresent()) { - final RemoteRpcEndpoint endpoint = maybeEndpoint.get(); + final RemoteRpcEndpoint endpoint = maybeEndpoint.orElseThrow(); final RemoteRpcImplementation impl = new RemoteRpcImplementation(endpoint.getRouter(), config); prevReg = rpcRegs.put(e.getKey(), rpcProviderService.registerRpcImplementation(impl, endpoint.getRpcs())); @@ -129,7 +129,7 @@ final class OpsRegistrar extends AbstractUntypedActor { final ObjectRegistration prevReg; final Optional maybeEndpoint = e.getValue(); if (maybeEndpoint.isPresent()) { - final RemoteActionEndpoint endpoint = maybeEndpoint.get(); + final RemoteActionEndpoint endpoint = maybeEndpoint.orElseThrow(); final RemoteActionImplementation impl = new RemoteActionImplementation(endpoint.getRouter(), config); prevReg = actionRegs.put(e.getKey(), actionProviderService.registerActionImplementation(impl, endpoint.getActions())); diff --git a/opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/RemoteOpsImplementationTest.java b/opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/RemoteOpsImplementationTest.java index 259655976d..2e94f83866 100644 --- a/opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/RemoteOpsImplementationTest.java +++ b/opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/RemoteOpsImplementationTest.java @@ -19,6 +19,7 @@ import static org.mockito.Mockito.doThrow; import com.google.common.util.concurrent.ListenableFuture; import java.util.Collections; +import java.util.Optional; import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeUnit; import org.junit.Ignore; @@ -81,7 +82,7 @@ public class RemoteOpsImplementationTest extends AbstractOpsTest { TEST_DATA_TREE_ID, (ContainerNode) invokeActionInput); assertThat(frontEndFuture, instanceOf(RemoteDOMActionFuture.class)); final DOMActionResult result = frontEndFuture.get(5, TimeUnit.SECONDS); - assertEquals(actionOutput, result.getOutput().get()); + assertEquals(Optional.of(actionOutput), result.getOutput()); } /** @@ -121,7 +122,7 @@ public class RemoteOpsImplementationTest extends AbstractOpsTest { assertThat(frontEndFuture, instanceOf(RemoteDOMActionFuture.class)); final DOMActionResult result = frontEndFuture.get(5, TimeUnit.SECONDS); - assertEquals(actionOutput, result.getOutput().get()); + assertEquals(Optional.of(actionOutput), result.getOutput()); } /** diff --git a/opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/registry/ActionRegistryTest.java b/opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/registry/ActionRegistryTest.java index 3ab51193df..18e8d91ef2 100644 --- a/opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/registry/ActionRegistryTest.java +++ b/opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/registry/ActionRegistryTest.java @@ -308,7 +308,7 @@ public class ActionRegistryTest { assertNotNull(maybeEndpoint); assertTrue(maybeEndpoint.isPresent()); - final RemoteActionEndpoint endpoint = maybeEndpoint.get(); + final RemoteActionEndpoint endpoint = maybeEndpoint.orElseThrow(); final ActorRef router = endpoint.getRouter(); assertNotNull(router); diff --git a/opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/registry/RpcRegistryTest.java b/opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/registry/RpcRegistryTest.java index 563bde4b14..18b2f9f6e0 100644 --- a/opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/registry/RpcRegistryTest.java +++ b/opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/registry/RpcRegistryTest.java @@ -304,7 +304,7 @@ public class RpcRegistryTest { assertNotNull(maybeEndpoint); assertTrue(maybeEndpoint.isPresent()); - final RemoteRpcEndpoint endpoint = maybeEndpoint.get(); + final RemoteRpcEndpoint endpoint = maybeEndpoint.orElseThrow(); final ActorRef router = endpoint.getRouter(); assertNotNull(router); diff --git a/opendaylight/md-sal/samples/clustering-test-app/provider/src/main/java/org/opendaylight/controller/clustering/it/provider/CarEntryDataTreeCommitCohort.java b/opendaylight/md-sal/samples/clustering-test-app/provider/src/main/java/org/opendaylight/controller/clustering/it/provider/CarEntryDataTreeCommitCohort.java index a7ca35ed52..c3294bd6c7 100644 --- a/opendaylight/md-sal/samples/clustering-test-app/provider/src/main/java/org/opendaylight/controller/clustering/it/provider/CarEntryDataTreeCommitCohort.java +++ b/opendaylight/md-sal/samples/clustering-test-app/provider/src/main/java/org/opendaylight/controller/clustering/it/provider/CarEntryDataTreeCommitCohort.java @@ -56,13 +56,13 @@ public final class CarEntryDataTreeCommitCohort implements DOMDataTreeCommitCoho // ModificationType because dataAfter will not be present. Also dataAfter *should* always contain a // MapEntryNode but we verify anyway. if (dataAfter.isPresent()) { - final NormalizedNode normalizedNode = dataAfter.get(); + final NormalizedNode normalizedNode = dataAfter.orElseThrow(); Verify.verify(normalizedNode instanceof DataContainerNode, "Expected type DataContainerNode, actual was %s", normalizedNode.getClass()); DataContainerNode entryNode = (DataContainerNode) normalizedNode; final Optional possibleYear = entryNode.findChildByArg(YEAR_NODE_ID); if (possibleYear.isPresent()) { - final Number year = (Number) possibleYear.get().body(); + final Number year = (Number) possibleYear.orElseThrow().body(); LOG.info("year is {}", year); diff --git a/opendaylight/md-sal/samples/clustering-test-app/provider/src/main/java/org/opendaylight/controller/clustering/it/provider/MdsalLowLevelTestProvider.java b/opendaylight/md-sal/samples/clustering-test-app/provider/src/main/java/org/opendaylight/controller/clustering/it/provider/MdsalLowLevelTestProvider.java index 9770a18d26..b45d0a17c2 100644 --- a/opendaylight/md-sal/samples/clustering-test-app/provider/src/main/java/org/opendaylight/controller/clustering/it/provider/MdsalLowLevelTestProvider.java +++ b/opendaylight/md-sal/samples/clustering-test-app/provider/src/main/java/org/opendaylight/controller/clustering/it/provider/MdsalLowLevelTestProvider.java @@ -448,10 +448,10 @@ public final class MdsalLowLevelTestProvider implements OdlMdsalLowlevelControlS .buildFuture(); } - final boolean nodesEqual = idIntsListener.checkEqual(readResult.get()); + final boolean nodesEqual = idIntsListener.checkEqual(readResult.orElseThrow()); if (!nodesEqual) { LOG.error("Final read of id-int does not match IdIntsListener's copy. {}", - idIntsListener.diffWithLocalCopy(readResult.get())); + idIntsListener.diffWithLocalCopy(readResult.orElseThrow())); } return RpcResultBuilder.success(new UnsubscribeDtclOutputBuilder().setCopyMatches(nodesEqual).build()) diff --git a/opendaylight/md-sal/samples/clustering-test-app/provider/src/main/java/org/opendaylight/controller/clustering/it/provider/impl/IdIntsListener.java b/opendaylight/md-sal/samples/clustering-test-app/provider/src/main/java/org/opendaylight/controller/clustering/it/provider/impl/IdIntsListener.java index 91f622dba9..b9cb831e75 100644 --- a/opendaylight/md-sal/samples/clustering-test-app/provider/src/main/java/org/opendaylight/controller/clustering/it/provider/impl/IdIntsListener.java +++ b/opendaylight/md-sal/samples/clustering-test-app/provider/src/main/java/org/opendaylight/controller/clustering/it/provider/impl/IdIntsListener.java @@ -60,10 +60,10 @@ public final class IdIntsListener implements ClusteredDOMDataTreeChangeListener if (change.getRootNode().getDataAfter().isPresent()) { LOG.trace("Received change, data before: {}, data after: {}", change.getRootNode().getDataBefore().isPresent() - ? change.getRootNode().getDataBefore().get() : "", - change.getRootNode().getDataAfter().get()); + ? change.getRootNode().getDataBefore().orElseThrow() : "", + change.getRootNode().getDataAfter().orElseThrow()); - localCopy = change.getRootNode().getDataAfter().get(); + localCopy = change.getRootNode().getDataAfter().orElseThrow(); } else { LOG.warn("getDataAfter() is missing from notification. change: {}", change); } @@ -108,10 +108,10 @@ public final class IdIntsListener implements ClusteredDOMDataTreeChangeListener } Map expItemMap = new HashMap<>(); - ((MapNode)expIdInt.findChildByArg(itemNodeId).get()).body() + ((MapNode)expIdInt.findChildByArg(itemNodeId).orElseThrow()).body() .forEach(node -> expItemMap.put(node.getIdentifier(), node)); - ((MapNode)actIdInt.findChildByArg(itemNodeId).get()).body().forEach(actItem -> { + ((MapNode)actIdInt.findChildByArg(itemNodeId).orElseThrow()).body().forEach(actItem -> { final MapEntryNode expItem = expItemMap.remove(actItem.getIdentifier()); if (expItem == null) { builder.append('\n').append(" Unexpected item entry ").append(actItem.getIdentifier()) diff --git a/opendaylight/md-sal/samples/toaster-provider/src/main/java/org/opendaylight/controller/sample/toaster/provider/OpendaylightToaster.java b/opendaylight/md-sal/samples/toaster-provider/src/main/java/org/opendaylight/controller/sample/toaster/provider/OpendaylightToaster.java index b0eda4c42f..5f4a2d3f3f 100644 --- a/opendaylight/md-sal/samples/toaster-provider/src/main/java/org/opendaylight/controller/sample/toaster/provider/OpendaylightToaster.java +++ b/opendaylight/md-sal/samples/toaster-provider/src/main/java/org/opendaylight/controller/sample/toaster/provider/OpendaylightToaster.java @@ -293,7 +293,7 @@ public final class OpendaylightToaster extends AbstractMXBean Futures.transformAsync(readFuture, toasterData -> { ToasterStatus toasterStatus = ToasterStatus.Up; if (toasterData.isPresent()) { - toasterStatus = toasterData.get().getToasterStatus(); + toasterStatus = toasterData.orElseThrow().getToasterStatus(); } LOG.debug("Read toaster status: {}", toasterStatus); diff --git a/opendaylight/md-sal/samples/toaster-provider/src/test/java/org/opendaylight/controller/sample/toaster/provider/OpenDaylightToasterTest.java b/opendaylight/md-sal/samples/toaster-provider/src/test/java/org/opendaylight/controller/sample/toaster/provider/OpenDaylightToasterTest.java index 7ad1e38e2c..245bf0edb8 100644 --- a/opendaylight/md-sal/samples/toaster-provider/src/test/java/org/opendaylight/controller/sample/toaster/provider/OpenDaylightToasterTest.java +++ b/opendaylight/md-sal/samples/toaster-provider/src/test/java/org/opendaylight/controller/sample/toaster/provider/OpenDaylightToasterTest.java @@ -57,7 +57,7 @@ public class OpenDaylightToasterTest extends AbstractConcurrentDataBrokerTest { assertNotNull(optional); assertTrue("Operational toaster not present", optional.isPresent()); - Toaster toasterData = optional.get(); + Toaster toasterData = optional.orElseThrow(); assertEquals(Toaster.ToasterStatus.Up, toasterData.getToasterStatus()); assertEquals(new DisplayString("Opendaylight"), toasterData.getToasterManufacturer()); -- 2.36.6