Use @Serial tag 88/102088/4
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 16 Aug 2022 11:01:14 +0000 (13:01 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Tue, 16 Aug 2022 13:09:53 +0000 (15:09 +0200)
With Java 17 we can make serialization-related components explicitly
tagged so their shape is enforced. Sprinkle java.io.Serial around.

Change-Id: Ibf0ce6e19f8433b3274e05ad3f56d86616146e78
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
36 files changed:
binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/DataTreeIdentifier.java
binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/NotificationRejectedException.java
binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/TransactionChainClosedException.java
binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/query/QueryStructureException.java
binding/mdsal-binding-dom-codec-api/src/main/java/org/opendaylight/mdsal/binding/dom/codec/api/IncorrectNestingException.java
binding/mdsal-binding-dom-codec-api/src/main/java/org/opendaylight/mdsal/binding/dom/codec/api/MissingClassInLoadingStrategyException.java
binding/mdsal-binding-dom-codec-api/src/main/java/org/opendaylight/mdsal/binding/dom/codec/api/MissingSchemaException.java
binding/mdsal-binding-dom-codec-api/src/main/java/org/opendaylight/mdsal/binding/dom/codec/api/MissingSchemaForClassException.java
binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/AlphabeticallyTypeMemberComparator.java
binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/ByTypeMemberComparator.java
binding/mdsal-binding-model-api/src/main/java/org/opendaylight/mdsal/binding/model/api/JavaTypeName.java
binding/mdsal-binding-spec-util/src/test/java/org/opendaylight/mdsal/binding/spec/util/NodeKey.java
binding/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/InstanceIdentifier.java
binding/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/InstanceIdentifierV3.java
binding/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/KeyedInstanceIdentifier.java
binding/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/KeyedInstanceIdentifierV2.java
binding/yang-binding/src/test/java/org/opendaylight/yangtools/yang/binding/test/mock/NodeChildKey.java
binding/yang-binding/src/test/java/org/opendaylight/yangtools/yang/binding/test/mock/NodeKey.java
common/mdsal-common-api/src/main/java/org/opendaylight/mdsal/common/api/DataStoreUnavailableException.java
common/mdsal-common-api/src/main/java/org/opendaylight/mdsal/common/api/DataValidationFailedException.java
common/mdsal-common-api/src/main/java/org/opendaylight/mdsal/common/api/OptimisticLockFailedException.java
common/mdsal-common-api/src/main/java/org/opendaylight/mdsal/common/api/ReadFailedException.java
common/mdsal-common-api/src/main/java/org/opendaylight/mdsal/common/api/TransactionCommitDeadlockException.java
common/mdsal-common-api/src/main/java/org/opendaylight/mdsal/common/api/TransactionCommitFailedException.java
dom/mdsal-dom-schema-osgi/src/main/java/org/opendaylight/mdsal/dom/schema/osgi/impl/YangModuleInfoScanner.java
dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/DefaultDOMRpcResult.java
dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedWriteTransactionTest.java
entityownership/mdsal-eos-binding-api/src/main/java/org/opendaylight/mdsal/eos/binding/api/Entity.java
entityownership/mdsal-eos-common-api/src/main/java/org/opendaylight/mdsal/eos/common/api/CandidateAlreadyRegisteredException.java
entityownership/mdsal-eos-common-api/src/main/java/org/opendaylight/mdsal/eos/common/api/GenericEntity.java
entityownership/mdsal-eos-common-api/src/test/java/org/opendaylight/mdsal/eos/common/api/GenericEntityTest.java
entityownership/mdsal-eos-dom-api/src/main/java/org/opendaylight/mdsal/eos/dom/api/DOMEntity.java
replicate/mdsal-replicate-netty/src/main/java/org/opendaylight/mdsal/replicate/netty/KeepaliveException.java
singleton-service/mdsal-singleton-common-api/src/main/java/org/opendaylight/mdsal/singleton/common/api/ServiceGroupIdentifier.java
singleton-service/mdsal-singleton-dom-impl/src/test/java/org/opendaylight/mdsal/singleton/dom/impl/util/TestEntity.java
singleton-service/mdsal-singleton-dom-impl/src/test/java/org/opendaylight/mdsal/singleton/dom/impl/util/TestInstanceIdentifier.java

index c0c0b64eeab23ed7ff088f5a6c85f2af134fa9f7..b2a92f91036a8cf4b05bacf2e7cf9336b519f229 100644 (file)
@@ -10,6 +10,7 @@ package org.opendaylight.mdsal.binding.api;
 import static java.util.Objects.requireNonNull;
 
 import com.google.common.base.MoreObjects;
+import java.io.Serial;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.yangtools.concepts.HierarchicalIdentifier;
@@ -21,6 +22,7 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
  * data store type and the instance identifier of the root node.
  */
 public final class DataTreeIdentifier<T extends DataObject> implements HierarchicalIdentifier<DataTreeIdentifier<?>> {
+    @Serial
     private static final long serialVersionUID = 1L;
 
     private final @NonNull InstanceIdentifier<T> rootIdentifier;
index 2517e87f8a78f3e5956b7dee1508a4b625b6fbf0..e592326ae6204bf50307ca87e156f917e9ef006e 100644 (file)
@@ -7,6 +7,8 @@
  */
 package org.opendaylight.mdsal.binding.api;
 
+import java.io.Serial;
+
 /**
  * This exception indicates that given notification can not be processed by corresponding mechanism.
  * More info can be provided in message.
@@ -15,6 +17,7 @@ package org.opendaylight.mdsal.binding.api;
  * Expected use: {@link NotificationPublishService}
  */
 public class NotificationRejectedException extends Exception {
+    @Serial
     private static final long serialVersionUID = 1L;
 
     public NotificationRejectedException(final String message) {
index 02b8d47108ae2292939fcaf0b261c56a420e00a8..6aa0c8a88eee9f3aae77a2757fb6644a191ffe92 100644 (file)
@@ -7,11 +7,14 @@
  */
 package org.opendaylight.mdsal.binding.api;
 
+import java.io.Serial;
+
 /**
  * Exception thrown when an attempt is made to open a new transaction in a closed
  * chain.
  */
 public final class TransactionChainClosedException extends IllegalStateException {
+    @Serial
     private static final long serialVersionUID = 1L;
 
     public TransactionChainClosedException(final String message) {
index ab8ccbbf32fde66cb19252dce90af1e8fd96dc8c..70db948356cae051ab222afa8cfb98ddef1d7029 100644 (file)
@@ -8,6 +8,7 @@
 package org.opendaylight.mdsal.binding.api.query;
 
 import com.google.common.annotations.Beta;
+import java.io.Serial;
 
 /**
  * Exception reported when the proposed query has a structural problem. This may be either a mismatch with underlying
@@ -15,6 +16,7 @@ import com.google.common.annotations.Beta;
  */
 @Beta
 public class QueryStructureException extends IllegalStateException {
+    @Serial
     private static final long serialVersionUID = 1L;
 
     public QueryStructureException(final String message) {
index 66ff0f8bd1de462788d64e780cb28a7e80c9281f..995418824e8fafb8bc074eef8648d220a20c8bf2 100644 (file)
@@ -8,6 +8,7 @@
 package org.opendaylight.mdsal.binding.dom.codec.api;
 
 import com.google.common.annotations.Beta;
+import java.io.Serial;
 
 /**
  * Thrown where incorrect nesting of data structures was detected and was caused by user. This typically indicates
@@ -16,6 +17,7 @@ import com.google.common.annotations.Beta;
  */
 @Beta
 public class IncorrectNestingException extends IllegalArgumentException {
+    @Serial
     private static final long serialVersionUID = 1L;
 
     public IncorrectNestingException(final String message) {
index 60b5c055288186b06d039eae6cba9cbcf0750fa5..17ffdfa8b8075350cf5b3443d5aa2d1e9418693f 100644 (file)
@@ -8,6 +8,7 @@
 package org.opendaylight.mdsal.binding.dom.codec.api;
 
 import com.google.common.annotations.Beta;
+import java.io.Serial;
 
 /**
  * Thrown when user schema for supplied binding class is available in present schema context, but
@@ -16,6 +17,7 @@ import com.google.common.annotations.Beta;
  */
 @Beta
 public class MissingClassInLoadingStrategyException extends MissingSchemaException {
+    @Serial
     private static final long serialVersionUID = 1L;
 
     public MissingClassInLoadingStrategyException(final String msg, final Throwable cause) {
index 911bd5d4b5c8cad601dd155b6da81978c0e6580c..402379c44105d7a6fabaf1baf8e87215f8a7b006 100644 (file)
@@ -8,12 +8,14 @@
 package org.opendaylight.mdsal.binding.dom.codec.api;
 
 import com.google.common.annotations.Beta;
+import java.io.Serial;
 
 /**
  * Thrown when codec was used with data which are not modeled and available in schema used by codec.
  */
 @Beta
 public class MissingSchemaException extends IllegalArgumentException {
+    @Serial
     private static final long serialVersionUID = 1L;
 
     public MissingSchemaException(final String msg) {
index 31d896757147b71299b15cc57f69dbade72f1fa6..f8707fde09a01bac1349b913a3e2b006a70690c9 100644 (file)
@@ -11,6 +11,7 @@ import static java.util.Objects.requireNonNull;
 
 import com.google.common.annotations.Beta;
 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
+import java.io.Serial;
 import org.eclipse.jdt.annotation.Nullable;
 
 /**
@@ -21,6 +22,7 @@ import org.eclipse.jdt.annotation.Nullable;
  */
 @Beta
 public final class MissingSchemaForClassException extends MissingSchemaException {
+    @Serial
     private static final long serialVersionUID = 1L;
 
     @SuppressFBWarnings(value = "SE_TRANSIENT_FIELD_NOT_RESTORED", justification = "Documented in API contract")
@@ -28,7 +30,7 @@ public final class MissingSchemaForClassException extends MissingSchemaException
 
     public MissingSchemaForClassException(final Class<?> clz) {
         super(String.format("Schema is not available for %s", clz));
-        this.bindingClass = requireNonNull(clz);
+        bindingClass = requireNonNull(clz);
     }
 
     public @Nullable Class<?> getBindingClass() {
index a3f8c861744de1b117b9db2fb107edbfa7e4a44c..e0fd3711876dc0aa501b85530a4ab993ca4ce050 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.mdsal.binding.java.api.generator;
 
+import java.io.Serial;
 import java.io.Serializable;
 import java.util.Comparator;
 import org.opendaylight.mdsal.binding.model.api.TypeMember;
@@ -18,6 +19,7 @@ import org.opendaylight.mdsal.binding.model.api.TypeMember;
  * @param <T> TypeMember type
  */
 public class AlphabeticallyTypeMemberComparator<T extends TypeMember> implements Comparator<T>, Serializable {
+    @Serial
     private static final long serialVersionUID = 1L;
 
     @Override
index c28741b8600be7a9c95f7297f9a06e6185852081..213bbcbc94bada8b8ab753c99b64ccb57346ca79 100644 (file)
@@ -8,6 +8,7 @@
 package org.opendaylight.mdsal.binding.java.api.generator;
 
 import com.google.common.annotations.Beta;
+import java.io.Serial;
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -36,6 +37,7 @@ import org.opendaylight.yangtools.yang.model.api.type.BitsTypeDefinition;
  */
 @Beta
 final class ByTypeMemberComparator<T extends TypeMember> implements Comparator<T>, Serializable {
+    @Serial
     private static final long serialVersionUID = 1L;
 
     /**
@@ -110,6 +112,7 @@ final class ByTypeMemberComparator<T extends TypeMember> implements Comparator<T
         return member1.getName().compareTo(member2.getName());
     }
 
+    @Serial
     @SuppressWarnings("static-method")
     private Object readResolve() {
         return INSTANCE;
index 018942638f487e5f2ed8bf9c7810ba0c20806df3..bb34c6bfeb17f8cfb0a28b032b380e30048d8c9a 100644 (file)
@@ -12,6 +12,7 @@ import static java.util.Objects.requireNonNull;
 
 import com.google.common.annotations.Beta;
 import com.google.common.collect.ImmutableList;
+import java.io.Serial;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
@@ -34,6 +35,7 @@ import org.slf4j.LoggerFactory;
 @NonNullByDefault
 public abstract sealed class JavaTypeName implements Identifier, Immutable {
     private static final class Primitive extends JavaTypeName {
+        @Serial
         private static final long serialVersionUID = 1L;
 
         Primitive(final String simpleName) {
@@ -89,6 +91,7 @@ public abstract sealed class JavaTypeName implements Identifier, Immutable {
     }
 
     private abstract static sealed class Reference extends JavaTypeName {
+        @Serial
         private static final long serialVersionUID = 1L;
 
         Reference(final String simpleName) {
@@ -120,6 +123,7 @@ public abstract sealed class JavaTypeName implements Identifier, Immutable {
     }
 
     private static final class TopLevel extends Reference {
+        @Serial
         private static final long serialVersionUID = 1L;
 
         private final String packageName;
@@ -152,7 +156,7 @@ public abstract sealed class JavaTypeName implements Identifier, Immutable {
 
         @Override
         public List<String> localNameComponents() {
-            final List<String> ret = new ArrayList<>();
+            final var ret = new ArrayList<String>();
             ret.add(simpleName());
             return ret;
         }
@@ -169,6 +173,7 @@ public abstract sealed class JavaTypeName implements Identifier, Immutable {
     }
 
     private static final class Nested extends Reference {
+        @Serial
         private static final long serialVersionUID = 1L;
 
         private final Reference immediatelyEnclosingClass;
@@ -222,6 +227,7 @@ public abstract sealed class JavaTypeName implements Identifier, Immutable {
     }
 
     private static final Logger LOG = LoggerFactory.getLogger(JavaTypeName.class);
+    @Serial
     private static final long serialVersionUID = 1L;
 
     private final String simpleName;
index cfe9e773e6c90f7eed00dedfe6b44286596aba80..e0cdc74bc3f9b9301e2d2e45b99e31dc279ad2cc 100644 (file)
@@ -7,9 +7,11 @@
  */
 package org.opendaylight.mdsal.binding.spec.util;
 
+import java.io.Serial;
 import org.opendaylight.yangtools.yang.binding.Identifier;
 
 public class NodeKey implements Identifier<Node> {
+    @Serial
     private static final long serialVersionUID = 1L;
 
     private final int id;
@@ -29,19 +31,6 @@ public class NodeKey implements Identifier<Node> {
 
     @Override
     public boolean equals(final Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (obj == null) {
-            return false;
-        }
-        if (getClass() != obj.getClass()) {
-            return false;
-        }
-        NodeKey other = (NodeKey) obj;
-        if (id != other.id) {
-            return false;
-        }
-        return true;
+        return this == obj || obj != null && getClass() == obj.getClass() && id == ((NodeKey) obj).id;
     }
 }
index 216ec21fc48c600f8e4db5652bf1d74f2a79b000..48b199d678bd0280bb8a6613d0b6445d248ae6ae 100644 (file)
@@ -19,6 +19,7 @@ import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Iterables;
 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.io.ObjectStreamException;
+import java.io.Serial;
 import java.io.Serializable;
 import java.util.Collections;
 import java.util.Iterator;
@@ -63,6 +64,7 @@ import org.opendaylight.yangtools.util.HashCodeBuilder;
  */
 public class InstanceIdentifier<T extends DataObject>
         implements HierarchicalIdentifier<InstanceIdentifier<? extends DataObject>> {
+    @Serial
     private static final long serialVersionUID = 3L;
 
     /*
@@ -661,6 +663,7 @@ public class InstanceIdentifier<T extends DataObject>
     }
 
     private abstract static class AbstractPathArgument<T extends DataObject> implements PathArgument, Serializable {
+        @Serial
         private static final long serialVersionUID = 1L;
 
         private final @NonNull Class<T> type;
@@ -722,6 +725,7 @@ public class InstanceIdentifier<T extends DataObject>
      * @param <T> Item type
      */
     public static class Item<T extends DataObject> extends AbstractPathArgument<T> {
+        @Serial
         private static final long serialVersionUID = 1L;
 
         Item(final Class<T> type) {
@@ -771,6 +775,7 @@ public class InstanceIdentifier<T extends DataObject>
      */
     public static class IdentifiableItem<I extends Identifiable<T> & DataObject, T extends Identifier<I>>
             extends AbstractPathArgument<I> {
+        @Serial
         private static final long serialVersionUID = 1L;
 
         private final @NonNull T key;
@@ -831,6 +836,7 @@ public class InstanceIdentifier<T extends DataObject>
 
     private static final class CaseItem<C extends ChoiceIn<?> & DataObject, T extends ChildOf<? super C>>
             extends Item<T> {
+        @Serial
         private static final long serialVersionUID = 1L;
 
         private final Class<C> caseType;
@@ -848,6 +854,7 @@ public class InstanceIdentifier<T extends DataObject>
 
     private static final class CaseIdentifiableItem<C extends ChoiceIn<?> & DataObject,
             T extends ChildOf<? super C> & Identifiable<K>, K extends Identifier<T>> extends IdentifiableItem<T, K> {
+        @Serial
         private static final long serialVersionUID = 1L;
 
         private final Class<C> caseType;
@@ -953,6 +960,7 @@ public class InstanceIdentifier<T extends DataObject>
         @NonNull InstanceIdentifier<T> build();
     }
 
+    @Serial
     private Object writeReplace() throws ObjectStreamException {
         return new InstanceIdentifierV3<>(this);
     }
index 7f6ce11e557c25501d652a4c6f046b398de79944..80fcf144417f3978987822482ff1b5b6e7cdfac5 100644 (file)
@@ -14,12 +14,14 @@ import java.io.IOException;
 import java.io.ObjectInput;
 import java.io.ObjectOutput;
 import java.io.ObjectStreamException;
+import java.io.Serial;
 import java.util.ArrayList;
 import java.util.List;
 import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.PathArgument;
 
 class InstanceIdentifierV3<T extends DataObject> implements Externalizable {
+    @Serial
     private static final long serialVersionUID = 3L;
 
     private @Nullable Iterable<PathArgument> pathArguments;
@@ -80,6 +82,7 @@ class InstanceIdentifierV3<T extends DataObject> implements Externalizable {
         pathArguments = ImmutableList.copyOf(args);
     }
 
+    @Serial
     Object readResolve() throws ObjectStreamException {
         return new InstanceIdentifier<>(targetType, pathArguments, wildcarded, hash);
     }
index 38b61c39accd9c4bd1348dc0fa46feab3d461432..eef3d0ad67292839d049152789336531b05e8312 100644 (file)
@@ -8,6 +8,7 @@
 package org.opendaylight.yangtools.yang.binding;
 
 import java.io.ObjectStreamException;
+import java.io.Serial;
 import org.eclipse.jdt.annotation.NonNull;
 
 /**
@@ -18,7 +19,9 @@ import org.eclipse.jdt.annotation.NonNull;
  */
 public class KeyedInstanceIdentifier<T extends Identifiable<K> & DataObject, K extends Identifier<T>>
         extends InstanceIdentifier<T> {
+    @Serial
     private static final long serialVersionUID = 2L;
+
     private final K key;
 
     KeyedInstanceIdentifier(final Class<@NonNull T> type, final Iterable<PathArgument> pathArguments,
@@ -55,6 +58,7 @@ public class KeyedInstanceIdentifier<T extends Identifiable<K> & DataObject, K e
         return key == null != (kii.key == null);
     }
 
+    @Serial
     private Object writeReplace() throws ObjectStreamException {
         return new KeyedInstanceIdentifierV2<>(this);
     }
index a7f2546dd8fc0bb1d654274dfd937026e8c0dd4e..330a0f220b48341d77fa18b63964ef46883dccea 100644 (file)
@@ -11,10 +11,12 @@ import java.io.IOException;
 import java.io.ObjectInput;
 import java.io.ObjectOutput;
 import java.io.ObjectStreamException;
+import java.io.Serial;
 import org.eclipse.jdt.annotation.Nullable;
 
 final class KeyedInstanceIdentifierV2<T extends Identifiable<K> & DataObject, K extends Identifier<T>>
         extends InstanceIdentifierV3<T> {
+    @Serial
     private static final long serialVersionUID = 2L;
 
     private @Nullable K key;
@@ -41,6 +43,7 @@ final class KeyedInstanceIdentifierV2<T extends Identifiable<K> & DataObject, K
         key = (K) in.readObject();
     }
 
+    @Serial
     @Override
     Object readResolve() throws ObjectStreamException {
         return new KeyedInstanceIdentifier<>(getTargetType(), getPathArguments(), isWildcarded(), getHash(), key);
index c98b3eb22189e69fc64e625ac8ec9c72bd7f492a..cb44a6af1d87dd9a7001387ca3ea272703783208 100644 (file)
@@ -7,9 +7,11 @@
  */
 package org.opendaylight.yangtools.yang.binding.test.mock;
 
+import java.io.Serial;
 import org.opendaylight.yangtools.yang.binding.Identifier;
 
 public class NodeChildKey implements Identifier<NodeChild> {
+    @Serial
     private static final long serialVersionUID = 1L;
 
     private final int id;
@@ -29,19 +31,6 @@ public class NodeChildKey implements Identifier<NodeChild> {
 
     @Override
     public boolean equals(final Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (obj == null) {
-            return false;
-        }
-        if (getClass() != obj.getClass()) {
-            return false;
-        }
-        NodeChildKey other = (NodeChildKey) obj;
-        if (id != other.id) {
-            return false;
-        }
-        return true;
+        return this == obj || obj != null && getClass() == obj.getClass() && id == ((NodeChildKey) obj).id;
     }
 }
index dc61915d13e1b3d1cabeede26b28ac91328ae1ce..cbe3701f54d36fbc010bcaa0d4ccd5c239304556 100644 (file)
@@ -7,9 +7,11 @@
  */
 package org.opendaylight.yangtools.yang.binding.test.mock;
 
+import java.io.Serial;
 import org.opendaylight.yangtools.yang.binding.Identifier;
 
 public class NodeKey implements Identifier<Node> {
+    @Serial
     private static final long serialVersionUID = 1L;
 
     private final int id;
@@ -29,19 +31,6 @@ public class NodeKey implements Identifier<Node> {
 
     @Override
     public boolean equals(final Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (obj == null) {
-            return false;
-        }
-        if (getClass() != obj.getClass()) {
-            return false;
-        }
-        NodeKey other = (NodeKey) obj;
-        if (id != other.id) {
-            return false;
-        }
-        return true;
+        return this == obj || obj != null && getClass() == obj.getClass() && id == ((NodeKey) obj).id;
     }
 }
index 748d89aeaec09afc1759bb1f478d4144691d1769..44d57575de51fe32670385abafa5d7b89c21a3c1 100644 (file)
@@ -7,17 +7,17 @@
  */
 package org.opendaylight.mdsal.common.api;
 
+import java.io.Serial;
+
 /**
- * This exception occurs if the datastore is temporarily unavailable.
- * A retry of the transaction may succeed after a period of time
+ * This exception occurs if the datastore is temporarily unavailable. A retry of the transaction may succeed after
+ * a period of time.
  */
-
 public class DataStoreUnavailableException extends Exception {
+    @Serial
     private static final long serialVersionUID = 1L;
 
-    public DataStoreUnavailableException(String message, Throwable cause) {
+    public DataStoreUnavailableException(final String message, final Throwable cause) {
         super(message, cause);
     }
-
-
 }
index 526ba6d028ac20e7280f41ed9e98823ce3833f15..f63f04e6a74a200db40f091a90862d2058c95763 100644 (file)
@@ -9,6 +9,7 @@ package org.opendaylight.mdsal.common.api;
 
 import static java.util.Objects.requireNonNull;
 
+import java.io.Serial;
 import org.opendaylight.yangtools.concepts.HierarchicalIdentifier;
 import org.opendaylight.yangtools.yang.common.ErrorTag;
 import org.opendaylight.yangtools.yang.common.ErrorType;
@@ -23,6 +24,7 @@ import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
  * by this transaction is invalid.
  */
 public class DataValidationFailedException extends TransactionCommitFailedException {
+    @Serial
     private static final long serialVersionUID = 1L;
 
     private final HierarchicalIdentifier<?> path;
index 037777a6fadd74c569d4983e24004050f8855c02..7353100280b4b6bca90e81bd532ed674a754f790 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.mdsal.common.api;
 
+import java.io.Serial;
 import org.opendaylight.yangtools.yang.common.ErrorTag;
 import org.opendaylight.yangtools.yang.common.ErrorType;
 import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
@@ -18,6 +19,7 @@ import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
 * updated transaction.
 */
 public class OptimisticLockFailedException extends TransactionCommitFailedException {
+    @Serial
     private static final long serialVersionUID = 1L;
 
     public OptimisticLockFailedException(final String message, final Throwable cause) {
index bdede012df1c3234a127788be91fda2387175bf3..8d5c7da11346938011bff4e772a577c65f39f62f 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.mdsal.common.api;
 
+import java.io.Serial;
 import org.opendaylight.yangtools.util.concurrent.ExceptionMapper;
 import org.opendaylight.yangtools.yang.common.OperationFailedException;
 import org.opendaylight.yangtools.yang.common.RpcError;
@@ -15,6 +16,7 @@ import org.opendaylight.yangtools.yang.common.RpcError;
  * An exception for a failed read.
  */
 public class ReadFailedException extends OperationFailedException {
+    @Serial
     private static final long serialVersionUID = 1L;
 
     public static final ExceptionMapper<ReadFailedException> MAPPER =
index c667f86a7f9d7515d4596e050935eac9e9789038..50e338f125decdc7d6ebb12d533c16154ac04d23 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.mdsal.common.api;
 
+import java.io.Serial;
 import java.util.function.Supplier;
 import org.opendaylight.yangtools.yang.common.ErrorTag;
 import org.opendaylight.yangtools.yang.common.ErrorType;
@@ -23,6 +24,7 @@ import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
  * @author Thomas Pantelis
  */
 public class TransactionCommitDeadlockException extends TransactionCommitFailedException {
+    @Serial
     private static final long serialVersionUID = 1L;
     private static final String DEADLOCK_MESSAGE = "An attempt to block on a ListenableFuture via a get method from a "
         + "write transaction submit was detected that would result in deadlock. The commit result must be obtained "
index 8367911b455a528f9970f7da1a5addafeb0cd43b..d88798bb7990ef389d0d3aecee17effd6366d5bd 100644 (file)
@@ -7,25 +7,22 @@
  */
 package org.opendaylight.mdsal.common.api;
 
+import java.io.Serial;
 import org.opendaylight.yangtools.yang.common.OperationFailedException;
 import org.opendaylight.yangtools.yang.common.RpcError;
 
 /**
- * Failed commit of asynchronous transaction.
- * This exception is raised and returned when transaction commit
- * failed.
- *
+ * Failed commit of asynchronous transaction. This exception is raised and returned when transaction commit failed.
  */
 public class TransactionCommitFailedException extends OperationFailedException {
-
+    @Serial
     private static final long serialVersionUID = 1L;
 
     public TransactionCommitFailedException(final String message, final RpcError... errors) {
         this(message, null, errors);
     }
 
-    public TransactionCommitFailedException(final String message, final Throwable cause,
-                                            final RpcError... errors) {
+    public TransactionCommitFailedException(final String message, final Throwable cause, final RpcError... errors) {
         super(message, cause, errors);
     }
 }
index a3c3458659ca7015242fc9d04ffebafe4026f516..6f989eff745a50898d6ae4187143c85c41e76f92 100644 (file)
@@ -12,6 +12,7 @@ import static java.util.Objects.requireNonNull;
 import com.google.common.collect.ImmutableList;
 import com.google.common.io.Resources;
 import java.io.IOException;
+import java.io.Serial;
 import java.lang.reflect.Constructor;
 import java.lang.reflect.InvocationTargetException;
 import java.net.URL;
@@ -153,6 +154,7 @@ final class YangModuleInfoScanner extends BundleTracker<List<ObjectRegistration<
 
     @NonNullByDefault
     private static final class ScanningException extends Exception {
+        @Serial
         private static final long serialVersionUID = 1L;
 
         ScanningException(final Exception cause, final String format, final Object... args) {
index d91983b92c46e5fc1a2ee54ade674c683dc350ca..ab83d863cf6847c57cc57dbd7b96f0880c8b4f54 100644 (file)
@@ -11,6 +11,7 @@ import static java.util.Objects.requireNonNull;
 
 import com.google.common.annotations.Beta;
 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
+import java.io.Serial;
 import java.io.Serializable;
 import java.util.Collection;
 import java.util.List;
@@ -28,6 +29,7 @@ import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 @Beta
 @NonNullByDefault
 public final class DefaultDOMRpcResult implements DOMRpcResult, Immutable, Serializable {
+    @Serial
     private static final long serialVersionUID = 1L;
 
     @SuppressFBWarnings(value = "SE_BAD_FIELD", justification = "Interfaces do not specify Serializable")
index ae8ce6c3f5603ab04326f529154fc55ccd0beddb..05e9abc6d62b24d8efc8d21bb75cf2efc0af90f8 100644 (file)
@@ -20,6 +20,7 @@ import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 
 import com.google.common.base.MoreObjects;
+import java.io.Serial;
 import java.util.Optional;
 import org.junit.Assert;
 import org.junit.Before;
@@ -122,6 +123,7 @@ public class SnapshotBackedWriteTransactionTest {
     }
 
     private static final class TestException extends Exception {
+        @Serial
         private static final long serialVersionUID = 1L;
     }
 }
\ No newline at end of file
index 5fc2ff2e032a8d2ec1ff6523ec34ab1391250098..5fe55c378f9049da8bfe2bec38cbde20c741a45d 100644 (file)
@@ -10,6 +10,7 @@ package org.opendaylight.mdsal.eos.binding.api;
 import static java.util.Objects.requireNonNull;
 
 import com.google.common.annotations.Beta;
+import java.io.Serial;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.mdsal.eos.common.api.GenericEntity;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.core.general.entity.rev150930.EntityKey;
@@ -22,6 +23,7 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
  */
 @Beta
 public class Entity extends GenericEntity<InstanceIdentifier<?>> {
+    @Serial
     private static final long serialVersionUID = 1L;
 
     /** Constructs an instance.
index 8706a492101b255f21956174a51f913e571f101a..3382d691a4f268d39c92d0a1d95f6ee060f3583c 100644 (file)
@@ -9,6 +9,7 @@ package org.opendaylight.mdsal.eos.common.api;
 
 import static java.util.Objects.requireNonNull;
 
+import java.io.Serial;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.concepts.HierarchicalIdentifier;
 
@@ -17,6 +18,7 @@ import org.opendaylight.yangtools.concepts.HierarchicalIdentifier;
  * duplicate registration or two different components within the same process trying to register a Candidate.
  */
 public class CandidateAlreadyRegisteredException extends Exception {
+    @Serial
     private static final long serialVersionUID = 1L;
 
     private final @NonNull GenericEntity<?> entity;
index 3f8a1b8d294c358d95b398f33c1daf5c4a0afedc..57fb8c361bf175b47de6f1c26ebb8dc851f2a4db 100644 (file)
@@ -9,6 +9,7 @@ package org.opendaylight.mdsal.eos.common.api;
 
 import static java.util.Objects.requireNonNull;
 
+import java.io.Serial;
 import java.io.Serializable;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.concepts.HierarchicalIdentifier;
@@ -42,6 +43,7 @@ import org.opendaylight.yangtools.concepts.Identifiable;
  * @param <T> the entity identifier type
  */
 public class GenericEntity<T extends HierarchicalIdentifier<T>> implements Serializable, Identifiable<T> {
+    @Serial
     private static final long serialVersionUID = 1L;
 
     private final @NonNull String type;
@@ -77,7 +79,7 @@ public class GenericEntity<T extends HierarchicalIdentifier<T>> implements Seria
         if (obj == null || getClass() != obj.getClass()) {
             return false;
         }
-        final GenericEntity<?> entity = (GenericEntity<?>) obj;
+        final var entity = (GenericEntity<?>) obj;
         return id.equals(entity.id) && type.equals(entity.type);
     }
 
index 8ac1fea38b7c9c74b25086fd6a0c0ae1b4c2ecdb..81d23482532d9bdb006a25434e970b97f4602b7e 100644 (file)
@@ -12,6 +12,7 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotEquals;
 import static org.junit.Assert.assertTrue;
 
+import java.io.Serial;
 import org.junit.Test;
 import org.opendaylight.yangtools.concepts.HierarchicalIdentifier;
 
@@ -35,6 +36,7 @@ public class GenericEntityTest {
     }
 
     private static final class TestClass implements HierarchicalIdentifier<TestClass> {
+        @Serial
         private static final long serialVersionUID = 1L;
 
         @Override
@@ -44,6 +46,7 @@ public class GenericEntityTest {
     }
 
     private static final class TestClassDiff implements HierarchicalIdentifier<TestClassDiff> {
+        @Serial
         private static final long serialVersionUID = 1L;
 
         @Override
index ad8da3740afada277d1ef7ace27a7b903c7e40cb..6b288389503d01e0a64909be682e931c73821bb9 100644 (file)
@@ -10,6 +10,7 @@ package org.opendaylight.mdsal.eos.dom.api;
 import static java.util.Objects.requireNonNull;
 
 import com.google.common.annotations.Beta;
+import java.io.Serial;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.mdsal.eos.common.api.GenericEntity;
 import org.opendaylight.yangtools.yang.common.QName;
@@ -22,6 +23,7 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
  */
 @Beta
 public class DOMEntity extends GenericEntity<YangInstanceIdentifier> {
+    @Serial
     private static final long serialVersionUID = 1L;
 
     static final QName ENTITY = QName.create(
index a4b402902f935ff346a7a1e144c4f64dd66df303..0c85ccff39a4931c64b52ef2eae2066ff2da2007 100644 (file)
@@ -7,7 +7,10 @@
  */
 package org.opendaylight.mdsal.replicate.netty;
 
+import java.io.Serial;
+
 final class KeepaliveException extends Exception {
+    @Serial
     private static final long serialVersionUID = 1L;
 
     KeepaliveException(final int missedKeepalives) {
index 4a33f9ee08cf7de73d3e09b0bd3a9c9efc597471..0a7ca41f827c7e933de05a89a4c39cebbfb497bc 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.mdsal.singleton.common.api;
 
+import java.io.Serial;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.util.AbstractStringIdentifier;
 
@@ -14,6 +15,7 @@ import org.opendaylight.yangtools.util.AbstractStringIdentifier;
  * Identifier represents a service group competence. It's based on String.
  */
 public class ServiceGroupIdentifier extends AbstractStringIdentifier<ServiceGroupIdentifier> {
+    @Serial
     private static final long serialVersionUID = 6853612584804702662L;
 
     protected ServiceGroupIdentifier(final @NonNull String string) {
index 4367ccc6b89decc68764b7f04c48d363df5b11a0..75cd2e1bcb252613f8845c9322cfba129ed7a295 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.mdsal.singleton.dom.impl.util;
 
+import java.io.Serial;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.mdsal.eos.common.api.GenericEntity;
 import org.opendaylight.yangtools.yang.common.QName;
@@ -15,6 +16,7 @@ import org.opendaylight.yangtools.yang.common.QName;
  * Test util class.
  */
 public class TestEntity extends GenericEntity<TestInstanceIdentifier> {
+    @Serial
     private static final long serialVersionUID = 1L;
 
     static final QName ENTITY = QName
index 99ea192d7ff7e98b2d725674dcc11d9bf28fb91f..956bfb0e72fdada7ab16576160ad2ac8c7cb6eca 100644 (file)
@@ -9,6 +9,7 @@ package org.opendaylight.mdsal.singleton.dom.impl.util;
 
 import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableList;
+import java.io.Serial;
 import java.util.LinkedList;
 import java.util.List;
 import org.opendaylight.yangtools.concepts.HierarchicalIdentifier;
@@ -17,6 +18,7 @@ import org.opendaylight.yangtools.concepts.HierarchicalIdentifier;
  * Test helper class. {@link HierarchicalIdentifier} for testing only.
  */
 public class TestInstanceIdentifier implements HierarchicalIdentifier<TestInstanceIdentifier> {
+    @Serial
     private static final long serialVersionUID = 1L;
 
     private final ImmutableList<String> path;
@@ -38,5 +40,4 @@ public class TestInstanceIdentifier implements HierarchicalIdentifier<TestInstan
     public boolean contains(final TestInstanceIdentifier other) {
         throw new UnsupportedOperationException();
     }
-
 }