X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Fpersisted%2FAbstractVersionedShardDataTreeSnapshot.java;h=7ebb0055f2da2c1fcbbd9f8843ca2abc0c65e560;hb=0fdb21f91e0e61e8ee911beb4cda9053537a0ccd;hp=1d9b58f27049046fdee8f62d2e690e2344439821;hpb=2faf656bf68dd3843fd59520b27a7ec2abbdcc68;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/AbstractVersionedShardDataTreeSnapshot.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/AbstractVersionedShardDataTreeSnapshot.java index 1d9b58f270..7ebb0055f2 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/AbstractVersionedShardDataTreeSnapshot.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/AbstractVersionedShardDataTreeSnapshot.java @@ -8,12 +8,9 @@ package org.opendaylight.controller.cluster.datastore.persisted; import com.google.common.base.Verify; -import java.io.DataInputStream; -import java.io.DataOutputStream; import java.io.IOException; -import java.io.ObjectInputStream; -import java.io.ObjectOutputStream; -import java.io.OutputStream; +import java.io.ObjectInput; +import java.io.ObjectOutput; import java.util.Optional; import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; @@ -30,13 +27,13 @@ abstract class AbstractVersionedShardDataTreeSnapshot extends ShardDataTreeSnaps private static final Logger LOG = LoggerFactory.getLogger(AbstractVersionedShardDataTreeSnapshot.class); @SuppressWarnings("checkstyle:FallThrough") - static ShardDataTreeSnapshot deserialize(final DataInputStream is) throws IOException { - final PayloadVersion version = PayloadVersion.readFrom(is); + static ShardDataTreeSnapshot versionedDeserialize(final ObjectInput in) throws IOException { + final PayloadVersion version = PayloadVersion.readFrom(in); switch (version) { case BORON: // Boron snapshots use Java Serialization - try (final ObjectInputStream ois = new ObjectInputStream(is)) { - return (ShardDataTreeSnapshot) ois.readObject(); + try { + return (ShardDataTreeSnapshot) in.readObject(); } catch (ClassNotFoundException e) { LOG.error("Failed to serialize data tree snapshot", e); throw new IOException("Snapshot failed to deserialize", e); @@ -74,13 +71,11 @@ abstract class AbstractVersionedShardDataTreeSnapshot extends ShardDataTreeSnaps @Nonnull abstract PayloadVersion version(); - private void versionedSerialize(final DataOutputStream dos, final PayloadVersion version) throws IOException { + private void versionedSerialize(final ObjectOutput out, final PayloadVersion version) throws IOException { switch (version) { case BORON: // Boron snapshots use Java Serialization - try (ObjectOutputStream oos = new ObjectOutputStream(dos)) { - oos.writeObject(this); - } + out.writeObject(this); return; case TEST_FUTURE_VERSION: case TEST_PAST_VERSION: @@ -93,11 +88,9 @@ abstract class AbstractVersionedShardDataTreeSnapshot extends ShardDataTreeSnaps } @Override - public void serialize(final OutputStream os) throws IOException { - try (final DataOutputStream dos = new DataOutputStream(os)) { - final PayloadVersion version = version(); - version.writeTo(dos); - versionedSerialize(dos, version); - } + public void serialize(final ObjectOutput out) throws IOException { + final PayloadVersion version = version(); + version.writeTo(out); + versionedSerialize(out, version); } }