From 241885acd71c551bf2834f4d2c727c87856256f3 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Sun, 4 Dec 2022 21:55:04 +0100 Subject: [PATCH] Modernize sal-remoterpc-connector Use instanceof patterns to reduce casts. Change-Id: Iafcb05461e2c241310857ee2bf93591bed66a7d4 Signed-off-by: Robert Varga --- .../controller/remote/rpc/OpsInvoker.java | 8 ++--- .../controller/remote/rpc/OpsRegistrar.java | 8 ++--- .../remote/rpc/RemoteDOMActionFuture.java | 3 +- .../remote/rpc/RemoteDOMRpcFuture.java | 2 +- .../remote/rpc/TerminationMonitor.java | 6 ++-- .../remote/rpc/messages/ExecuteAction.java | 4 +-- .../remote/rpc/registry/ActionRegistry.java | 8 ++--- .../rpc/registry/ActionRoutingTable.java | 4 +-- .../remote/rpc/registry/RpcRegistry.java | 10 +++--- .../rpc/registry/gossip/BucketStoreActor.java | 36 +++++++++---------- .../remote/rpc/registry/gossip/Gossiper.java | 26 +++++++------- 11 files changed, 55 insertions(+), 60 deletions(-) diff --git a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/OpsInvoker.java b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/OpsInvoker.java index 9c47e68faa..dcb930e8ca 100644 --- a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/OpsInvoker.java +++ b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/OpsInvoker.java @@ -68,11 +68,11 @@ final class OpsInvoker extends AbstractUntypedActor { @Override protected void handleReceive(final Object message) { - if (message instanceof ExecuteRpc) { + if (message instanceof ExecuteRpc executeRpc) { LOG.debug("Handling ExecuteOps Message"); - execute((ExecuteRpc) message); - } else if (message instanceof ExecuteAction) { - execute((ExecuteAction) message); + execute(executeRpc); + } else if (message instanceof ExecuteAction executeAction) { + execute(executeAction); } else { unknownMessage(message); } 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 a16bbd4eb5..cfd5b2dadc 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 @@ -65,12 +65,12 @@ final class OpsRegistrar extends AbstractUntypedActor { @Override protected void handleReceive(final Object message) { - if (message instanceof UpdateRemoteEndpoints) { + if (message instanceof UpdateRemoteEndpoints updateEndpoints) { LOG.debug("Handling updateRemoteEndpoints message"); - updateRemoteRpcEndpoints(((UpdateRemoteEndpoints) message).getRpcEndpoints()); - } else if (message instanceof UpdateRemoteActionEndpoints) { + updateRemoteRpcEndpoints(updateEndpoints.getRpcEndpoints()); + } else if (message instanceof UpdateRemoteActionEndpoints updateEndpoints) { LOG.debug("Handling updateRemoteActionEndpoints message"); - updateRemoteActionEndpoints(((UpdateRemoteActionEndpoints) message).getActionEndpoints()); + updateRemoteActionEndpoints(updateEndpoints.getActionEndpoints()); } else { unknownMessage(message); } diff --git a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/RemoteDOMActionFuture.java b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/RemoteDOMActionFuture.java index 6b4ab55de4..9d9e29ad36 100644 --- a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/RemoteDOMActionFuture.java +++ b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/RemoteDOMActionFuture.java @@ -23,8 +23,7 @@ final class RemoteDOMActionFuture extends AbstractRemoteFuture { @Override protected void handleCommand(final Object message) throws Exception { - if (message instanceof ActionRegistry.Messages.UpdateActions) { + if (message instanceof ActionRegistry.Messages.UpdateActions updateActions) { LOG.debug("handling updatesActionRoutes message"); - updatesActionRoutes((Messages.UpdateActions) message); + updatesActionRoutes(updateActions); } else { super.handleCommand(message); } @@ -149,11 +149,11 @@ public class ActionRegistry extends BucketStoreActor { } Collection getAddedActions() { - return this.addedActions; + return addedActions; } Collection getRemovedActions() { - return this.removedActions; + return removedActions; } diff --git a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/ActionRoutingTable.java b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/ActionRoutingTable.java index dfb05c67f1..3cdfeaf889 100644 --- a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/ActionRoutingTable.java +++ b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/ActionRoutingTable.java @@ -78,11 +78,11 @@ public final class ActionRoutingTable extends AbstractRoutingTable(size); for (int i = 0; i < size; ++i) { final SchemaNodeIdentifier sni = nnin.readSchemaNodeIdentifier(); - if (!(sni instanceof Absolute)) { + if (!(sni instanceof Absolute absolute)) { throw new InvalidObjectException("Non-absolute type " + sni); } - actions.add(DOMActionInstance.of((Absolute) sni, LogicalDatastoreType.OPERATIONAL, + actions.add(DOMActionInstance.of(absolute, LogicalDatastoreType.OPERATIONAL, nnin.readYangInstanceIdentifier())); } } diff --git a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/RpcRegistry.java b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/RpcRegistry.java index 2c89f14260..8d66ed8ccb 100644 --- a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/RpcRegistry.java +++ b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/RpcRegistry.java @@ -81,10 +81,10 @@ public class RpcRegistry extends BucketStoreActor { @Override protected void handleCommand(final Object message) throws Exception { - if (message instanceof AddOrUpdateRoutes) { - receiveAddRoutes((AddOrUpdateRoutes) message); - } else if (message instanceof RemoveRoutes) { - receiveRemoveRoutes((RemoveRoutes) message); + if (message instanceof AddOrUpdateRoutes addRoutes) { + receiveAddRoutes(addRoutes); + } else if (message instanceof RemoveRoutes removeRoutes) { + receiveRemoveRoutes(removeRoutes); } else { super.handleCommand(message); } @@ -161,7 +161,7 @@ public class RpcRegistry extends BucketStoreActor { } List getRouteIdentifiers() { - return this.rpcRouteIdentifiers; + return rpcRouteIdentifiers; } @Override diff --git a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/gossip/BucketStoreActor.java b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/gossip/BucketStoreActor.java index b494256d50..f155880c01 100644 --- a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/gossip/BucketStoreActor.java +++ b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/gossip/BucketStoreActor.java @@ -154,18 +154,17 @@ public abstract class BucketStoreActor> extends return; } - if (message instanceof ExecuteInActor) { - ((ExecuteInActor) message).accept(this); + if (message instanceof ExecuteInActor execute) { + execute.accept(this); } else if (GET_BUCKET_VERSIONS == message) { // FIXME: do we need to send ourselves? getSender().tell(ImmutableMap.copyOf(versions), getSelf()); - } else if (message instanceof Terminated) { - actorTerminated((Terminated) message); - } else if (message instanceof DeleteSnapshotsSuccess) { - LOG.debug("{}: got command: {}", persistenceId(), message); - } else if (message instanceof DeleteSnapshotsFailure) { - LOG.warn("{}: failed to delete prior snapshots", persistenceId(), - ((DeleteSnapshotsFailure) message).cause()); + } else if (message instanceof Terminated terminated) { + actorTerminated(terminated); + } else if (message instanceof DeleteSnapshotsSuccess deleteSuccess) { + LOG.debug("{}: got command: {}", persistenceId(), deleteSuccess); + } else if (message instanceof DeleteSnapshotsFailure deleteFailure) { + LOG.warn("{}: failed to delete prior snapshots", persistenceId(), deleteFailure.cause()); } else { LOG.debug("Unhandled message [{}]", message); unhandled(message); @@ -173,15 +172,14 @@ public abstract class BucketStoreActor> extends } private void handleSnapshotMessage(final Object message) { - if (message instanceof SaveSnapshotFailure) { - LOG.error("{}: failed to persist state", persistenceId(), ((SaveSnapshotFailure) message).cause()); + if (message instanceof SaveSnapshotFailure saveFailure) { + LOG.error("{}: failed to persist state", persistenceId(), saveFailure.cause()); persisting = false; self().tell(PoisonPill.getInstance(), ActorRef.noSender()); - } else if (message instanceof SaveSnapshotSuccess) { - LOG.debug("{}: got command: {}", persistenceId(), message); - SaveSnapshotSuccess saved = (SaveSnapshotSuccess)message; - deleteSnapshots(new SnapshotSelectionCriteria(scala.Long.MaxValue(), - saved.metadata().timestamp() - 1, 0L, 0L)); + } else if (message instanceof SaveSnapshotSuccess saveSuccess) { + LOG.debug("{}: got command: {}", persistenceId(), saveSuccess); + deleteSnapshots(new SnapshotSelectionCriteria(scala.Long.MaxValue(), saveSuccess.metadata().timestamp() - 1, + 0L, 0L)); persisting = false; unstash(); } else { @@ -199,13 +197,13 @@ public abstract class BucketStoreActor> extends incarnation = 0; } - this.localBucket = new LocalBucket<>(incarnation.intValue(), initialData); + this.localBucket = new LocalBucket<>(incarnation, initialData); initialData = null; LOG.debug("{}: persisting new incarnation {}", persistenceId(), incarnation); persisting = true; saveSnapshot(incarnation); - } else if (message instanceof SnapshotOffer) { - incarnation = (Integer) ((SnapshotOffer)message).snapshot(); + } else if (message instanceof SnapshotOffer snapshotOffer) { + incarnation = (Integer) snapshotOffer.snapshot(); LOG.debug("{}: recovered incarnation {}", persistenceId(), incarnation); } else { LOG.warn("{}: ignoring recovery message {}", persistenceId(), message); diff --git a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/gossip/Gossiper.java b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/gossip/Gossiper.java index f43a1d9f96..bfd06f2b73 100644 --- a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/gossip/Gossiper.java +++ b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/gossip/Gossiper.java @@ -87,7 +87,7 @@ public class Gossiper extends AbstractUntypedActorWithMetering { Gossiper(final RemoteOpsProviderConfig config, final Boolean autoStartGossipTicks) { this.config = requireNonNull(config); - this.autoStartGossipTicks = autoStartGossipTicks.booleanValue(); + this.autoStartGossipTicks = autoStartGossipTicks; } Gossiper(final RemoteOpsProviderConfig config) { @@ -146,25 +146,25 @@ public class Gossiper extends AbstractUntypedActorWithMetering { //These ticks can be sent by another actor as well which is esp. useful while testing if (GOSSIP_TICK.equals(message)) { receiveGossipTick(); - } else if (message instanceof GossipStatus) { + } else if (message instanceof GossipStatus status) { // Message from remote gossiper with its bucket versions - receiveGossipStatus((GossipStatus) message); - } else if (message instanceof GossipEnvelope) { + receiveGossipStatus(status); + } else if (message instanceof GossipEnvelope envelope) { // Message from remote gossiper with buckets. This is usually in response to GossipStatus // message. The contained buckets are newer as determined by the remote gossiper by // comparing the GossipStatus message with its local versions. - receiveGossip((GossipEnvelope) message); - } else if (message instanceof ClusterEvent.MemberUp) { - receiveMemberUpOrReachable(((ClusterEvent.MemberUp) message).member()); + receiveGossip(envelope); + } else if (message instanceof ClusterEvent.MemberUp memberUp) { + receiveMemberUpOrReachable(memberUp.member()); - } else if (message instanceof ClusterEvent.ReachableMember) { - receiveMemberUpOrReachable(((ClusterEvent.ReachableMember) message).member()); + } else if (message instanceof ClusterEvent.ReachableMember reachableMember) { + receiveMemberUpOrReachable(reachableMember.member()); - } else if (message instanceof ClusterEvent.MemberRemoved) { - receiveMemberRemoveOrUnreachable(((ClusterEvent.MemberRemoved) message).member()); + } else if (message instanceof ClusterEvent.MemberRemoved memberRemoved) { + receiveMemberRemoveOrUnreachable(memberRemoved.member()); - } else if (message instanceof ClusterEvent.UnreachableMember) { - receiveMemberRemoveOrUnreachable(((ClusterEvent.UnreachableMember) message).member()); + } else if (message instanceof ClusterEvent.UnreachableMember unreachableMember) { + receiveMemberRemoveOrUnreachable(unreachableMember.member()); } else { unhandled(message); -- 2.36.6