X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-clustering-commons%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Fnode%2FNormalizedNodeToNodeCodec.java;h=4e76e37fa25c179ac3f2b196f97ee389261a8c97;hb=879a57936375ca3dec48c5bf52b0b5988c807bae;hp=d1ae264c3b912839a4332fc74766076859b754db;hpb=e5a5a73c0ed9f298f539cfda61aa6ba8d3f65c9e;p=controller.git diff --git a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/NormalizedNodeToNodeCodec.java b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/NormalizedNodeToNodeCodec.java index d1ae264c3b..4e76e37fa2 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/NormalizedNodeToNodeCodec.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/NormalizedNodeToNodeCodec.java @@ -10,9 +10,9 @@ package org.opendaylight.controller.cluster.datastore.node; -import org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages; import org.opendaylight.controller.cluster.datastore.node.utils.PathUtils; -import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.controller.cluster.datastore.node.utils.serialization.NormalizedNodeSerializer; +import org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages; 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; @@ -29,45 +29,27 @@ public class NormalizedNodeToNodeCodec { } public NormalizedNodeMessages.Container encode(YangInstanceIdentifier id, NormalizedNode node){ + + NormalizedNodeMessages.Container.Builder builder = NormalizedNodeMessages.Container.newBuilder(); String parentPath = ""; if(id != null){ parentPath = PathUtils.getParentPath(PathUtils.toString(id)); } + builder.setParentPath(parentPath); + if(node != null) { + builder.setNormalizedNode(NormalizedNodeSerializer.serialize(node)); + } - NormalizedNodeToProtocolBufferNode encoder = new NormalizedNodeToProtocolBufferNode(); - encoder.encode(parentPath, node); - - return encoder.getContainer(); - - + return builder.build(); } public NormalizedNode decode(YangInstanceIdentifier id, NormalizedNodeMessages.Node node){ - NodeToNormalizedNodeBuilder currentOp = NodeToNormalizedNodeBuilder.from(ctx); - - for(YangInstanceIdentifier.PathArgument pathArgument : id.getPathArguments()){ - currentOp = currentOp.getChild(pathArgument); - } - - QName nodeType = null; - - if(id.getPath().size() < 1){ - nodeType = null; - } else { - final YangInstanceIdentifier.PathArgument pathArgument = id.getPath().get(id.getPath().size() - 1); - if(pathArgument instanceof YangInstanceIdentifier.AugmentationIdentifier){ - nodeType = null; - } else { - nodeType = pathArgument.getNodeType(); - } - } - if((node != null)&& (!node.getType().isEmpty())){ - return currentOp.normalize(nodeType, node); - } else{ - return null; - } + if(node.getIntType() < 0 || node.getSerializedSize() == 0){ + return null; + } + return NormalizedNodeSerializer.deSerialize(node); }