Modernize sal-clustering-commons 79/103579/2
authorRobert Varga <robert.varga@pantheon.tech>
Sun, 4 Dec 2022 20:39:46 +0000 (21:39 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Sun, 4 Dec 2022 23:27:01 +0000 (00:27 +0100)
Use instanceof patterns to reduce the number of casts.

Change-Id: I40eb35b3b1afdae30d461a608aeabda2d7e09ce8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/common/actor/QuarantinedMonitorActor.java
opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/NormalizedNodeNavigator.java
opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/transformer/UintAdaptingPruner.java
opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/io/ChunkedOutputStream.java
opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/messaging/MessageAssembler.java
opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/messaging/MessageSliceIdentifier.java
opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/messaging/MessageSlicer.java
opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/notifications/RoleChangeNotifier.java

index b002178266ca47b30ebd4ffaafdc3f4964fd8cec..c5c19d8d37ebf81300e7021d84c1784064d12116 100644 (file)
@@ -68,25 +68,23 @@ public class QuarantinedMonitorActor extends UntypedAbstractActor {
             return;
         }
 
-        if (message instanceof ThisActorSystemQuarantinedEvent) {
-            final ThisActorSystemQuarantinedEvent event = (ThisActorSystemQuarantinedEvent) message;
+        if (message instanceof ThisActorSystemQuarantinedEvent event) {
             LOG.warn("Got quarantined by {}", event.remoteAddress());
             quarantined = true;
 
             // execute the callback
             callback.apply();
-        } else  if (message instanceof AssociationErrorEvent) {
+        } else if (message instanceof AssociationErrorEvent event) {
             final String errorMessage = message.toString();
             LOG.trace("errorMessage:{}", errorMessage);
             if (errorMessage.contains("The remote system has a UID that has been quarantined")) {
-                final Address address = ((AssociationErrorEvent) message).getRemoteAddress();
+                final Address address = event.getRemoteAddress();
                 addressSet.add(address);
                 count++;
                 LOG.trace("address:{} addressSet: {} count:{}", address, addressSet, count);
                 if (count >= MESSAGE_THRESHOLD && addressSet.size() > 1) {
                     count = 0;
                     addressSet.clear();
-                    final AssociationErrorEvent event = (AssociationErrorEvent) message;
                     LOG.warn("Got quarantined via AssociationEvent by {}", event.remoteAddress());
                     quarantined = true;
 
@@ -97,8 +95,7 @@ public class QuarantinedMonitorActor extends UntypedAbstractActor {
                 count = 0;
                 addressSet.clear();
             }
-        } else if (message instanceof ClusterEvent.MemberDowned) {
-            final ClusterEvent.MemberDowned event = (ClusterEvent.MemberDowned) message;
+        } else if (message instanceof ClusterEvent.MemberDowned event) {
             if (Cluster.get(getContext().system()).selfMember().equals(event.member())) {
                 LOG.warn("This member has been downed, restarting");
 
index 6e567fa245bf7838bf095ac30288f909e62971a5..0c0029d26c84546ab01af339f4b6c1e24bf60b29 100644 (file)
@@ -37,14 +37,13 @@ public class NormalizedNodeNavigator {
 
         String newParentPath = parentPath + "/" + dataContainerNode.getIdentifier().toString();
 
-        for (NormalizedNode node : dataContainerNode.body()) {
-            if (node instanceof MixinNode && node instanceof NormalizedNodeContainer) {
-                navigateNormalizedNodeContainerMixin(level, newParentPath, (NormalizedNodeContainer<?>) node);
+        for (var node : dataContainerNode.body()) {
+            if (node instanceof MixinNode && node instanceof NormalizedNodeContainer<?> container) {
+                navigateNormalizedNodeContainerMixin(level, newParentPath, container);
             } else {
                 navigateNormalizedNode(level, newParentPath, node);
             }
         }
-
     }
 
     private void navigateNormalizedNodeContainerMixin(final int level, final String parentPath,
@@ -53,20 +52,18 @@ public class NormalizedNodeNavigator {
 
         String newParentPath = parentPath + "/" + node.getIdentifier().toString();
 
-        for (NormalizedNode normalizedNode : node.body()) {
-            if (normalizedNode instanceof MixinNode && normalizedNode instanceof NormalizedNodeContainer) {
-                navigateNormalizedNodeContainerMixin(level + 1, newParentPath,
-                        (NormalizedNodeContainer<?>) normalizedNode);
+        for (var normalizedNode : node.body()) {
+            if (normalizedNode instanceof MixinNode && normalizedNode instanceof NormalizedNodeContainer<?> container) {
+                navigateNormalizedNodeContainerMixin(level + 1, newParentPath, container);
             } else {
                 navigateNormalizedNode(level, newParentPath, normalizedNode);
             }
         }
-
     }
 
     private void navigateNormalizedNode(final int level, final String parentPath, final NormalizedNode normalizedNode) {
-        if (normalizedNode instanceof DataContainerNode) {
-            navigateDataContainerNode(level + 1, parentPath, (DataContainerNode) normalizedNode);
+        if (normalizedNode instanceof DataContainerNode dataContainer) {
+            navigateDataContainerNode(level + 1, parentPath, dataContainer);
         } else {
             visitor.visitNode(level + 1, parentPath, normalizedNode);
         }
index ac6e70c4a4eece407f2bcb56f779f3e633f39be0..eefc0fcb698e6abcea34a97918ca9f56e59ad4f0 100644 (file)
@@ -54,9 +54,9 @@ final class UintAdaptingPruner extends ReusableNormalizedNodePruner {
         UINT8 {
             @Override
             public Object apply(final Object obj) {
-                if (obj instanceof Short) {
+                if (obj instanceof Short shortObj) {
                     LOG.trace("Translating legacy uint8 {}", obj);
-                    return Uint8.valueOf((Short) obj);
+                    return Uint8.valueOf(shortObj);
                 }
                 return obj;
             }
@@ -64,9 +64,9 @@ final class UintAdaptingPruner extends ReusableNormalizedNodePruner {
         UINT16 {
             @Override
             public Object apply(final Object obj) {
-                if (obj instanceof Integer) {
+                if (obj instanceof Integer intObj) {
                     LOG.trace("Translating legacy uint16 {}", obj);
-                    return Uint16.valueOf((Integer) obj);
+                    return Uint16.valueOf(intObj);
                 }
                 return obj;
             }
@@ -74,9 +74,9 @@ final class UintAdaptingPruner extends ReusableNormalizedNodePruner {
         UINT32 {
             @Override
             public Object apply(final Object obj) {
-                if (obj instanceof Long) {
+                if (obj instanceof Long longObj) {
                     LOG.trace("Translating legacy uint32 {}", obj);
-                    return Uint32.valueOf((Long) obj);
+                    return Uint32.valueOf(longObj);
                 }
                 return obj;
             }
@@ -84,9 +84,9 @@ final class UintAdaptingPruner extends ReusableNormalizedNodePruner {
         UINT64 {
             @Override
             public Object apply(final Object obj) {
-                if (obj instanceof BigInteger) {
+                if (obj instanceof BigInteger bigInt) {
                     LOG.trace("Translating legacy uint64 {}", obj);
-                    return Uint64.valueOf((BigInteger) obj);
+                    return Uint64.valueOf(bigInt);
                 }
                 return obj;
             }
@@ -142,9 +142,9 @@ final class UintAdaptingPruner extends ReusableNormalizedNodePruner {
     private void adaptEntry(final ReusableImmutableNormalizedNodeStreamWriter writer, final NodeWithValue<?> name) {
         final NodeWithValue<?> adapted;
         final DataSchemaNode schema = currentSchema().getDataSchemaNode();
-        if (schema instanceof TypedDataSchemaNode) {
+        if (schema instanceof TypedDataSchemaNode typed) {
             final Object oldValue = name.getValue();
-            final Object newValue = adaptValue(((TypedDataSchemaNode) schema).getType(), oldValue);
+            final Object newValue = adaptValue(typed.getType(), oldValue);
             adapted = newValue == oldValue ? name : new NodeWithValue<>(name.getNodeType(), newValue);
         } else {
             adapted = name;
@@ -157,8 +157,8 @@ final class UintAdaptingPruner extends ReusableNormalizedNodePruner {
             final NodeIdentifierWithPredicates name, final int size) {
         final NodeIdentifierWithPredicates adapted;
         final DataSchemaNode schema = currentSchema().getDataSchemaNode();
-        if (schema instanceof ListSchemaNode) {
-            adapted = NIP_ADAPTERS.getUnchecked((ListSchemaNode) schema).apply(name);
+        if (schema instanceof ListSchemaNode list) {
+            adapted = NIP_ADAPTERS.getUnchecked(list).apply(name);
         } else {
             adapted = name;
         }
index 73cdece20fc25da023df2250a795adb01b4a6f67..1376c6771490aeaec4adbd2085ad5b005cb92301 100644 (file)
@@ -126,14 +126,14 @@ public final class ChunkedOutputStream extends OutputStream {
 
     public Either<byte[], ChunkedByteArray> toVariant() {
         checkClosed();
-        return result instanceof byte[] ? Either.ofFirst((byte[]) result)
+        return result instanceof byte[] bytes ? Either.ofFirst(bytes)
                 : Either.ofSecond(new ChunkedByteArray(size, (ImmutableList<byte[]>) result));
     }
 
     @VisibleForTesting
     ChunkedByteArray toChunkedByteArray() {
         checkClosed();
-        return new ChunkedByteArray(size, result instanceof byte[] ? ImmutableList.of((byte[]) result)
+        return new ChunkedByteArray(size, result instanceof byte[] bytes ? ImmutableList.of(bytes)
             : (ImmutableList<byte[]>) result);
     }
 
index 297186d9f7c6bd9f13f8c6bea68ae33274931836..2b41bc595fad01f98f0969425fa11830316714f6 100644 (file)
@@ -42,11 +42,11 @@ public final  class MessageAssembler implements AutoCloseable {
     private final String logContext;
 
     MessageAssembler(final Builder builder) {
-        this.fileBackedStreamFactory = requireNonNull(builder.fileBackedStreamFactory,
+        fileBackedStreamFactory = requireNonNull(builder.fileBackedStreamFactory,
                 "FiledBackedStreamFactory cannot be null");
-        this.assembledMessageCallback = requireNonNull(builder.assembledMessageCallback,
+        assembledMessageCallback = requireNonNull(builder.assembledMessageCallback,
                 "assembledMessageCallback cannot be null");
-        this.logContext = builder.logContext;
+        logContext = builder.logContext;
 
         stateCache = CacheBuilder.newBuilder()
                 .expireAfterAccess(builder.expireStateAfterInactivityDuration, builder.expireStateAfterInactivityUnit)
@@ -97,13 +97,13 @@ public final  class MessageAssembler implements AutoCloseable {
      * @return true if the message was handled, false otherwise
      */
     public boolean handleMessage(final Object message, final @NonNull ActorRef sendTo) {
-        if (message instanceof MessageSlice) {
-            LOG.debug("{}: handleMessage: {}", logContext, message);
-            onMessageSlice((MessageSlice) message, sendTo);
+        if (message instanceof MessageSlice messageSlice) {
+            LOG.debug("{}: handleMessage: {}", logContext, messageSlice);
+            onMessageSlice(messageSlice, sendTo);
             return true;
-        } else if (message instanceof AbortSlicing) {
-            LOG.debug("{}: handleMessage: {}", logContext, message);
-            onAbortSlicing((AbortSlicing) message);
+        } else if (message instanceof AbortSlicing abortSlicing) {
+            LOG.debug("{}: handleMessage: {}", logContext, abortSlicing);
+            onAbortSlicing(abortSlicing);
             return true;
         }
 
@@ -116,14 +116,9 @@ public final  class MessageAssembler implements AutoCloseable {
             final AssembledMessageState state = stateCache.get(identifier, () -> createState(messageSlice));
             processMessageSliceForState(messageSlice, state, sendTo);
         } catch (ExecutionException e) {
-            final MessageSliceException messageSliceEx;
             final Throwable cause = e.getCause();
-            if (cause instanceof MessageSliceException) {
-                messageSliceEx = (MessageSliceException) cause;
-            } else {
-                messageSliceEx = new MessageSliceException(String.format(
-                        "Error creating state for identifier %s", identifier), cause);
-            }
+            final MessageSliceException messageSliceEx = cause instanceof MessageSliceException sliceEx ? sliceEx
+                : new MessageSliceException(String.format("Error creating state for identifier %s", identifier), cause);
 
             messageSlice.getReplyTo().tell(MessageSliceReply.failed(identifier, messageSliceEx, sendTo),
                     ActorRef.noSender());
@@ -231,7 +226,7 @@ public final  class MessageAssembler implements AutoCloseable {
          * @return this Builder
          */
         public Builder fileBackedStreamFactory(final FileBackedOutputStreamFactory newFileBackedStreamFactory) {
-            this.fileBackedStreamFactory = requireNonNull(newFileBackedStreamFactory);
+            fileBackedStreamFactory = requireNonNull(newFileBackedStreamFactory);
             return this;
         }
 
@@ -243,7 +238,7 @@ public final  class MessageAssembler implements AutoCloseable {
          * @return this Builder
          */
         public Builder assembledMessageCallback(final BiConsumer<Object, ActorRef> newAssembledMessageCallback) {
-            this.assembledMessageCallback = newAssembledMessageCallback;
+            assembledMessageCallback = newAssembledMessageCallback;
             return this;
         }
 
@@ -258,8 +253,8 @@ public final  class MessageAssembler implements AutoCloseable {
          */
         public Builder expireStateAfterInactivity(final long duration, final TimeUnit unit) {
             checkArgument(duration > 0, "duration must be > 0");
-            this.expireStateAfterInactivityDuration = duration;
-            this.expireStateAfterInactivityUnit = unit;
+            expireStateAfterInactivityDuration = duration;
+            expireStateAfterInactivityUnit = unit;
             return this;
         }
 
@@ -270,7 +265,7 @@ public final  class MessageAssembler implements AutoCloseable {
          * @return this Builder
          */
         public Builder logContext(final String newLogContext) {
-            this.logContext = newLogContext;
+            logContext = newLogContext;
             return this;
         }
 
index 0cc36689bb9b470b728732d2eb1f0efef446338a..852e7f9b19212f8b6a5ac1da6e22db2ef6bb6607 100644 (file)
@@ -60,17 +60,9 @@ final class MessageSliceIdentifier implements Identifier {
 
     @Override
     public boolean equals(final Object obj) {
-        if (this == obj) {
-            return true;
-        }
-
-        if (!(obj instanceof MessageSliceIdentifier)) {
-            return false;
-        }
-
-        MessageSliceIdentifier other = (MessageSliceIdentifier) obj;
-        return other.clientIdentifier.equals(clientIdentifier) && other.slicerId == slicerId
-                && other.messageId == messageId;
+        return this == obj || obj instanceof MessageSliceIdentifier other
+            && other.clientIdentifier.equals(clientIdentifier) && other.slicerId == slicerId
+            && other.messageId == messageId;
     }
 
     @Override
index 57a6f9ed4f44d48ffb2720126b32c21627222b3a..d14f3c545dfa7dfcb9f0d74eaa833011ef8d81e7 100644 (file)
@@ -48,12 +48,12 @@ public class MessageSlicer implements AutoCloseable {
     private final long id;
 
     MessageSlicer(final Builder builder) {
-        this.fileBackedStreamFactory = builder.fileBackedStreamFactory;
-        this.messageSliceSize = builder.messageSliceSize;
-        this.maxSlicingTries = builder.maxSlicingTries;
+        fileBackedStreamFactory = builder.fileBackedStreamFactory;
+        messageSliceSize = builder.messageSliceSize;
+        maxSlicingTries = builder.maxSlicingTries;
 
         id = SLICER_ID_COUNTER.getAndIncrement();
-        this.logContext = builder.logContext + "_slicer-id-" + id;
+        logContext = builder.logContext + "_slicer-id-" + id;
 
         CacheBuilder<Identifier, SlicedMessageState<ActorRef>> cacheBuilder =
                 CacheBuilder.newBuilder().removalListener(this::stateRemoved);
@@ -174,9 +174,9 @@ public class MessageSlicer implements AutoCloseable {
      * @return true if the message was handled, false otherwise
      */
     public boolean handleMessage(final Object message) {
-        if (message instanceof MessageSliceReply) {
-            LOG.debug("{}: handleMessage: {}", logContext, message);
-            return onMessageSliceReply((MessageSliceReply) message);
+        if (message instanceof MessageSliceReply sliceReply) {
+            LOG.debug("{}: handleMessage: {}", logContext, sliceReply);
+            return onMessageSliceReply(sliceReply);
         }
 
         return false;
@@ -219,8 +219,7 @@ public class MessageSlicer implements AutoCloseable {
 
     private boolean onMessageSliceReply(final MessageSliceReply reply) {
         final Identifier identifier = reply.getIdentifier();
-        if (!(identifier instanceof MessageSliceIdentifier)
-                || ((MessageSliceIdentifier)identifier).getSlicerId() != id) {
+        if (!(identifier instanceof MessageSliceIdentifier sliceIdentifier) || sliceIdentifier.getSlicerId() != id) {
             return false;
         }
 
@@ -336,7 +335,7 @@ public class MessageSlicer implements AutoCloseable {
          * @return this Builder
          */
         public Builder fileBackedStreamFactory(final FileBackedOutputStreamFactory newFileBackedStreamFactory) {
-            this.fileBackedStreamFactory = requireNonNull(newFileBackedStreamFactory);
+            fileBackedStreamFactory = requireNonNull(newFileBackedStreamFactory);
             return this;
         }
 
@@ -348,7 +347,7 @@ public class MessageSlicer implements AutoCloseable {
          */
         public Builder messageSliceSize(final int newMessageSliceSize) {
             checkArgument(newMessageSliceSize > 0, "messageSliceSize must be > 0");
-            this.messageSliceSize = newMessageSliceSize;
+            messageSliceSize = newMessageSliceSize;
             return this;
         }
 
@@ -361,7 +360,7 @@ public class MessageSlicer implements AutoCloseable {
          */
         public Builder maxSlicingTries(final int newMaxSlicingTries) {
             checkArgument(newMaxSlicingTries > 0, "newMaxSlicingTries must be > 0");
-            this.maxSlicingTries = newMaxSlicingTries;
+            maxSlicingTries = newMaxSlicingTries;
             return this;
         }
 
@@ -376,8 +375,8 @@ public class MessageSlicer implements AutoCloseable {
          */
         public Builder expireStateAfterInactivity(final long duration, final TimeUnit unit) {
             checkArgument(duration > 0, "duration must be > 0");
-            this.expireStateAfterInactivityDuration = duration;
-            this.expireStateAfterInactivityUnit = unit;
+            expireStateAfterInactivityDuration = duration;
+            expireStateAfterInactivityUnit = unit;
             return this;
         }
 
@@ -388,7 +387,7 @@ public class MessageSlicer implements AutoCloseable {
          * @return this Builder
          */
         public Builder logContext(final String newLogContext) {
-            this.logContext = requireNonNull(newLogContext);
+            logContext = requireNonNull(newLogContext);
             return this;
         }
 
index bb4ad65f161f11bb57e5d263cdc17b41a2e0bc57..01f3827da78685e7e1312d7016f3e2015d0d7156 100644 (file)
@@ -72,9 +72,8 @@ public class RoleChangeNotifier extends AbstractUntypedActor implements AutoClos
             }
 
 
-        } else if (message instanceof RoleChanged) {
+        } else if (message instanceof RoleChanged roleChanged) {
             // this message is sent by RaftActor. Notify registered listeners when this message is received.
-            RoleChanged roleChanged = (RoleChanged) message;
 
             LOG.info("RoleChangeNotifier for {} , received role change from {} to {}", memberId,
                 roleChanged.getOldRole(), roleChanged.getNewRole());
@@ -86,10 +85,10 @@ public class RoleChangeNotifier extends AbstractUntypedActor implements AutoClos
             for (ActorRef listener: registeredListeners.values()) {
                 listener.tell(latestRoleChangeNotification, getSelf());
             }
-        } else if (message instanceof LeaderStateChanged) {
-            latestLeaderStateChanged = (LeaderStateChanged)message;
+        } else if (message instanceof LeaderStateChanged leaderStateChanged) {
+            latestLeaderStateChanged = leaderStateChanged;
 
-            for (ActorRef listener: registeredListeners.values()) {
+            for (ActorRef listener : registeredListeners.values()) {
                 listener.tell(latestLeaderStateChanged, getSelf());
             }
         } else {