X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fcds-access-api%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Faccess%2Fcommands%2FReadTransactionSuccessProxyV1.java;h=357c3d977c3bfea2b4345f1f74d2394e02ce3aad;hb=refs%2Fchanges%2F25%2F86425%2F6;hp=3637aa8ac98acb2d1ba6f536f3e88b24e9353196;hpb=93fd87f9e46446be9eb8538669ebbfade205590e;p=controller.git diff --git a/opendaylight/md-sal/cds-access-api/src/main/java/org/opendaylight/controller/cluster/access/commands/ReadTransactionSuccessProxyV1.java b/opendaylight/md-sal/cds-access-api/src/main/java/org/opendaylight/controller/cluster/access/commands/ReadTransactionSuccessProxyV1.java index 3637aa8ac9..357c3d977c 100644 --- a/opendaylight/md-sal/cds-access-api/src/main/java/org/opendaylight/controller/cluster/access/commands/ReadTransactionSuccessProxyV1.java +++ b/opendaylight/md-sal/cds-access-api/src/main/java/org/opendaylight/controller/cluster/access/commands/ReadTransactionSuccessProxyV1.java @@ -7,14 +7,15 @@ */ package org.opendaylight.controller.cluster.access.commands; -import com.google.common.base.Optional; import java.io.IOException; import java.io.ObjectInput; import java.io.ObjectOutput; +import java.util.Optional; import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier; -import org.opendaylight.controller.cluster.datastore.node.utils.stream.NormalizedNodeDataOutput; -import org.opendaylight.controller.cluster.datastore.node.utils.stream.NormalizedNodeInputOutput; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; +import org.opendaylight.yangtools.yang.data.codec.binfmt.NormalizedNodeDataInput; +import org.opendaylight.yangtools.yang.data.codec.binfmt.NormalizedNodeDataOutput; +import org.opendaylight.yangtools.yang.data.codec.binfmt.NormalizedNodeStreamVersion; /** * Externalizable proxy for use with {@link ReadTransactionSuccess}. It implements the initial (Boron) serialization @@ -24,7 +25,9 @@ import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; */ final class ReadTransactionSuccessProxyV1 extends AbstractTransactionSuccessProxy { private static final long serialVersionUID = 1L; + private Optional> data; + private transient NormalizedNodeStreamVersion streamVersion; // checkstyle flags the public modifier as redundant however it is explicitly needed for Java serialization to // be able to create instances via reflection. @@ -36,6 +39,7 @@ final class ReadTransactionSuccessProxyV1 extends AbstractTransactionSuccessProx ReadTransactionSuccessProxyV1(final ReadTransactionSuccess request) { super(request); this.data = request.getData(); + this.streamVersion = request.getVersion().getStreamVersion(); } @Override @@ -44,14 +48,12 @@ final class ReadTransactionSuccessProxyV1 extends AbstractTransactionSuccessProx if (data.isPresent()) { out.writeBoolean(true); - try (NormalizedNodeDataOutput nnout = NormalizedNodeInputOutput.newDataOutput(out)) { + try (NormalizedNodeDataOutput nnout = streamVersion.newDataOutput(out)) { nnout.writeNormalizedNode(data.get()); } } else { out.writeBoolean(false); } - - out.writeObject(data); } @Override @@ -59,9 +61,9 @@ final class ReadTransactionSuccessProxyV1 extends AbstractTransactionSuccessProx super.readExternal(in); if (in.readBoolean()) { - data = Optional.of(NormalizedNodeInputOutput.newDataInput(in).readNormalizedNode()); + data = Optional.of(NormalizedNodeDataInput.newDataInput(in).readNormalizedNode()); } else { - data = Optional.absent(); + data = Optional.empty(); } }