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%2Fmessages%2FReadDataReply.java;h=91d38ccd079ab7aad5ec069eb2208bcbe0c560b6;hp=8ac6e1b1494a68fd3e7f2f04e0081a4d7f538a10;hb=c9587253579a7b34f4c397a254f83890d4d3ba03;hpb=cad857b425b1a0072681066b2ba37b0b0dc8c111 diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/messages/ReadDataReply.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/messages/ReadDataReply.java index 8ac6e1b149..91d38ccd07 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/messages/ReadDataReply.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/messages/ReadDataReply.java @@ -8,29 +8,22 @@ package org.opendaylight.controller.cluster.datastore.messages; -import com.google.protobuf.ByteString; -import java.io.Externalizable; import java.io.IOException; import java.io.ObjectInput; import java.io.ObjectOutput; -import org.opendaylight.controller.cluster.datastore.DataStoreVersions; -import org.opendaylight.controller.cluster.datastore.node.NormalizedNodeToNodeCodec; -import org.opendaylight.controller.cluster.datastore.utils.SerializationUtils; -import org.opendaylight.controller.protobuff.messages.transaction.ShardTransactionMessages; +import org.opendaylight.controller.cluster.datastore.node.utils.stream.SerializationUtils; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; -public class ReadDataReply implements VersionedSerializableMessage, Externalizable { +public class ReadDataReply extends VersionedExternalizableMessage { private static final long serialVersionUID = 1L; - public static final Class SERIALIZABLE_CLASS = ReadDataReply.class; - private NormalizedNode normalizedNode; - private short version; public ReadDataReply() { } - public ReadDataReply(NormalizedNode normalizedNode) { + public ReadDataReply(final NormalizedNode normalizedNode, final short version) { + super(version); this.normalizedNode = normalizedNode; } @@ -39,62 +32,22 @@ public class ReadDataReply implements VersionedSerializableMessage, Externalizab } @Override - public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException { - version = in.readShort(); - normalizedNode = SerializationUtils.deserializeNormalizedNode(in); + public void readExternal(final ObjectInput in) throws IOException, ClassNotFoundException { + super.readExternal(in); + normalizedNode = SerializationUtils.readNormalizedNode(in).orElse(null); } @Override - public void writeExternal(ObjectOutput out) throws IOException { - out.writeShort(version); - SerializationUtils.serializeNormalizedNode(normalizedNode, out); - } - - @Override - public Object toSerializable(short toVersion) { - if(toVersion >= DataStoreVersions.LITHIUM_VERSION) { - version = toVersion; - return this; - } else { - return toSerializableReadDataReply(normalizedNode); - } - } - - private static ShardTransactionMessages.ReadDataReply toSerializableReadDataReply( - NormalizedNode normalizedNode) { - if(normalizedNode != null) { - return ShardTransactionMessages.ReadDataReply.newBuilder() - .setNormalizedNode(new NormalizedNodeToNodeCodec(null) - .encode(normalizedNode).getNormalizedNode()).build(); - } else { - return ShardTransactionMessages.ReadDataReply.newBuilder().build(); - - } - } - - public static ReadDataReply fromSerializable(Object serializable) { - if(serializable instanceof ReadDataReply) { - return (ReadDataReply) serializable; - } else { - ShardTransactionMessages.ReadDataReply o = - (ShardTransactionMessages.ReadDataReply) serializable; - return new ReadDataReply(new NormalizedNodeToNodeCodec(null).decode(o.getNormalizedNode())); - } + public void writeExternal(final ObjectOutput out) throws IOException { + super.writeExternal(out); + SerializationUtils.writeNormalizedNode(out, getStreamVersion(), normalizedNode); } - public static ByteString fromSerializableAsByteString(Object serializable) { - if(serializable instanceof ReadDataReply) { - ReadDataReply r = (ReadDataReply)serializable; - return toSerializableReadDataReply(r.getNormalizedNode()).toByteString(); - } else { - ShardTransactionMessages.ReadDataReply o = - (ShardTransactionMessages.ReadDataReply) serializable; - return o.getNormalizedNode().toByteString(); - } + public static ReadDataReply fromSerializable(final Object serializable) { + return (ReadDataReply) serializable; } - public static boolean isSerializedType(Object message) { - return SERIALIZABLE_CLASS.isAssignableFrom(message.getClass()) || - message instanceof ShardTransactionMessages.ReadDataReply; + public static boolean isSerializedType(final Object message) { + return message instanceof ReadDataReply; } }