Fixup "Leader should always apply modifications as local" regression
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / persisted / AbstractIdentifiablePayload.java
index 122c96938e126fd25f25bdae4b1b2a1f8d5e83a0..32e155bf03fc50ea89dc0932c25c51797d76af87 100644 (file)
@@ -7,7 +7,8 @@
  */
 package org.opendaylight.controller.cluster.datastore.persisted;
 
-import com.google.common.base.Preconditions;
+import static java.util.Objects.requireNonNull;
+
 import com.google.common.base.Verify;
 import com.google.common.io.ByteStreams;
 import java.io.DataInput;
@@ -16,7 +17,8 @@ import java.io.IOException;
 import java.io.ObjectInput;
 import java.io.ObjectOutput;
 import java.io.Serializable;
-import javax.annotation.Nonnull;
+import org.eclipse.jdt.annotation.NonNull;
+import org.opendaylight.controller.cluster.raft.protobuff.client.messages.IdentifiablePayload;
 import org.opendaylight.controller.cluster.raft.protobuff.client.messages.Payload;
 import org.opendaylight.yangtools.concepts.Identifiable;
 import org.opendaylight.yangtools.concepts.Identifier;
@@ -26,7 +28,8 @@ import org.opendaylight.yangtools.concepts.Identifier;
  *
  * @author Robert Varga
  */
-public abstract class AbstractIdentifiablePayload<T extends Identifier> extends Payload implements Identifiable<T>, Serializable {
+public abstract class AbstractIdentifiablePayload<T extends Identifier> extends IdentifiablePayload<T>
+        implements Serializable {
     protected abstract static class AbstractProxy<T extends Identifier> implements Externalizable {
         private static final long serialVersionUID = 1L;
         private byte[] serialized;
@@ -37,7 +40,7 @@ public abstract class AbstractIdentifiablePayload<T extends Identifier> extends
         }
 
         protected AbstractProxy(final byte[] serialized) {
-            this.serialized = Preconditions.checkNotNull(serialized);
+            this.serialized = requireNonNull(serialized);
         }
 
         @Override
@@ -47,7 +50,7 @@ public abstract class AbstractIdentifiablePayload<T extends Identifier> extends
         }
 
         @Override
-        public final void readExternal(final ObjectInput in) throws IOException, ClassNotFoundException {
+        public final void readExternal(final ObjectInput in) throws IOException {
             final int length = in.readInt();
             serialized = new byte[length];
             in.readFully(serialized);
@@ -58,17 +61,19 @@ public abstract class AbstractIdentifiablePayload<T extends Identifier> extends
             return Verify.verifyNotNull(createObject(identifier, serialized));
         }
 
-        protected abstract @Nonnull T readIdentifier(@Nonnull DataInput in) throws IOException;
-        protected abstract @Nonnull Identifiable<T> createObject(@Nonnull T identifier, @Nonnull byte[] serialized);
+        protected abstract @NonNull T readIdentifier(@NonNull DataInput in) throws IOException;
+
+        @SuppressWarnings("checkstyle:hiddenField")
+        protected abstract @NonNull Identifiable<T> createObject(@NonNull T identifier, byte @NonNull[] serialized);
     }
 
     private static final long serialVersionUID = 1L;
     private final byte[] serialized;
     private final T identifier;
 
-    AbstractIdentifiablePayload(final @Nonnull T identifier, final @Nonnull byte[] serialized) {
-        this.identifier = Preconditions.checkNotNull(identifier);
-        this.serialized = Preconditions.checkNotNull(serialized);
+    AbstractIdentifiablePayload(final @NonNull T identifier, final byte @NonNull[] serialized) {
+        this.identifier = requireNonNull(identifier);
+        this.serialized = requireNonNull(serialized);
     }
 
     @Override
@@ -85,5 +90,6 @@ public abstract class AbstractIdentifiablePayload<T extends Identifier> extends
         return Verify.verifyNotNull(externalizableProxy(serialized));
     }
 
-    protected abstract @Nonnull AbstractProxy<T> externalizableProxy(@Nonnull byte[] serialized);
+    @SuppressWarnings("checkstyle:hiddenField")
+    protected abstract @NonNull AbstractProxy<T> externalizableProxy(byte @NonNull[] serialized);
 }