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%2Fmessages%2FReadDataReply.java;h=c5498ca228b3f846b5fd528b2da4dd2a4afef7a2;hb=38126131b91a300c7545df31b9b1ba846292696e;hp=52e2c29249704fc2831b1db0d97ad1a4f9b2ecdc;hpb=b2e6c299fad844633c8b40a2e180780f5774a4ae;p=controller.git 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())); + } }