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=c5498ca228b3f846b5fd528b2da4dd2a4afef7a2;hp=52e2c29249704fc2831b1db0d97ad1a4f9b2ecdc;hb=0eb621d29daaf08979c356e2148e99c48458e169;hpb=bed5d205984b6830851cdb6b8dad931d4ce59dda 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 52e2c29249..c5498ca228 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,17 +8,42 @@ package org.opendaylight.controller.cluster.datastore.messages; +import org.opendaylight.controller.cluster.datastore.node.NormalizedNodeToNodeCodec; +import org.opendaylight.controller.protobuff.messages.transaction.ShardTransactionMessages; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; +import org.opendaylight.yangtools.yang.model.api.SchemaContext; -public class ReadDataReply { - private final NormalizedNode normalizedNode; +public class ReadDataReply implements SerializableMessage{ - public ReadDataReply(NormalizedNode normalizedNode){ + private final NormalizedNode normalizedNode; + private final SchemaContext schemaContext; + public static final Class SERIALIZABLE_CLASS = ShardTransactionMessages.ReadDataReply.class; + public ReadDataReply(SchemaContext context,NormalizedNode normalizedNode){ this.normalizedNode = normalizedNode; + this.schemaContext = context; } public NormalizedNode getNormalizedNode() { return normalizedNode; } + + public Object toSerializable(){ + if(normalizedNode != null) { + return ShardTransactionMessages.ReadDataReply.newBuilder() + .setNormalizedNode(new NormalizedNodeToNodeCodec(schemaContext) + .encode(YangInstanceIdentifier.builder().build(), normalizedNode).getNormalizedNode() + ).build(); + }else{ + return ShardTransactionMessages.ReadDataReply.newBuilder().build(); + + } + + } + + public static ReadDataReply fromSerializable(SchemaContext schemaContext,YangInstanceIdentifier id,Object serializable){ + ShardTransactionMessages.ReadDataReply o = (ShardTransactionMessages.ReadDataReply) serializable; + return new ReadDataReply(schemaContext,new NormalizedNodeToNodeCodec(schemaContext).decode(id, o.getNormalizedNode())); + } }