X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Fpersisted%2FDatastoreSnapshot.java;h=9c0a3acc72d12c4a406ef4085aca068f5c9ee29b;hp=fe9501ffb684e4a912858e1312296f2c75027e77;hb=010adf819691f839812e9ca66e9147d801c9e54e;hpb=5aed2bd908c7ee9245a4f4dee2fbbb2f18689114 diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/DatastoreSnapshot.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/DatastoreSnapshot.java index fe9501ffb6..9c0a3acc72 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/DatastoreSnapshot.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/DatastoreSnapshot.java @@ -7,16 +7,10 @@ */ package org.opendaylight.controller.cluster.datastore.persisted; -import static com.google.common.base.Verify.verifyNotNull; import static java.util.Objects.requireNonNull; import com.google.common.collect.ImmutableList; -import java.io.Externalizable; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import java.io.Serializable; -import java.util.ArrayList; import java.util.List; import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; @@ -28,69 +22,6 @@ import org.opendaylight.controller.cluster.raft.persisted.Snapshot; * @author Thomas Pantelis */ public final class DatastoreSnapshot implements Serializable { - interface SerialForm extends Externalizable { - - DatastoreSnapshot datastoreSnapshot(); - - Object readResolve(); - - void resolveTo(@NonNull DatastoreSnapshot newDatastoreSnapshot); - - @Override - default void readExternal(final ObjectInput in) throws IOException, ClassNotFoundException { - final var type = (String)in.readObject(); - final var snapshot = (ShardManagerSnapshot) in.readObject(); - - final int size = in.readInt(); - var localShardSnapshots = new ArrayList(size); - for (int i = 0; i < size; i++) { - localShardSnapshots.add((ShardSnapshot) in.readObject()); - } - - resolveTo(new DatastoreSnapshot(type, snapshot, localShardSnapshots)); - } - - @Override - default void writeExternal(final ObjectOutput out) throws IOException { - final var datastoreSnapshot = datastoreSnapshot(); - out.writeObject(datastoreSnapshot.type); - out.writeObject(datastoreSnapshot.shardManagerSnapshot); - - out.writeInt(datastoreSnapshot.shardSnapshots.size()); - for (ShardSnapshot shardSnapshot: datastoreSnapshot.shardSnapshots) { - out.writeObject(shardSnapshot); - } - } - } - - private static final class Proxy implements SerialForm { - private static final long serialVersionUID = 1L; - - private DatastoreSnapshot datastoreSnapshot; - - // checkstyle flags the public modifier as redundant which really doesn't make sense since it clearly isn't - // redundant. It is explicitly needed for Java serialization to be able to create instances via reflection. - @SuppressWarnings("checkstyle:RedundantModifier") - public Proxy() { - // For Externalizable - } - - @Override - public DatastoreSnapshot datastoreSnapshot() { - return datastoreSnapshot; - } - - @Override - public void resolveTo(final DatastoreSnapshot newDatastoreSnapshot) { - datastoreSnapshot = requireNonNull(newDatastoreSnapshot); - } - - @Override - public Object readResolve() { - return verifyNotNull(datastoreSnapshot); - } - } - @java.io.Serial private static final long serialVersionUID = 1L; @@ -123,56 +54,6 @@ public final class DatastoreSnapshot implements Serializable { } public static final class ShardSnapshot implements Serializable { - interface SerialForm extends Externalizable { - - ShardSnapshot shardSnapshot(); - - Object readResolve(); - - void resolveTo(String name, Snapshot snapshot); - - @Override - default void writeExternal(final ObjectOutput out) throws IOException { - final var shardSnapshot = shardSnapshot(); - out.writeObject(shardSnapshot.name); - out.writeObject(shardSnapshot.snapshot); - } - - @Override - default void readExternal(final ObjectInput in) throws IOException, ClassNotFoundException { - resolveTo((String) in.readObject(), (Snapshot) in.readObject()); - } - } - - private static final class Proxy implements SerialForm { - @java.io.Serial - private static final long serialVersionUID = 1L; - - private ShardSnapshot shardSnapshot; - - // checkstyle flags the public modifier as redundant which really doesn't make sense since it clearly isn't - // redundant. It is explicitly needed for Java serialization to be able to create instances via reflection. - @SuppressWarnings("checkstyle:RedundantModifier") - public Proxy() { - // For Externalizable - } - - @Override - public ShardSnapshot shardSnapshot() { - return shardSnapshot; - } - - @Override - public void resolveTo(final String name, final Snapshot snapshot) { - shardSnapshot = new ShardSnapshot(name, snapshot); - } - - @Override - public Object readResolve() { - return verifyNotNull(shardSnapshot); - } - } - @java.io.Serial private static final long serialVersionUID = 1L;