X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-clustering-commons%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Fnode%2Futils%2Fserialization%2FNormalizedNodeSerializer.java;h=fc1bd4225da2a1459cf9d19967c864262a834b6c;hp=15d51e1d80aed557a98279e606aba21d2034fde9;hb=874a18a9ce5dc09bc49922754bf8fb3e981fffb9;hpb=531621aac4cff9d39cbd8668a53bdeba8a0e6d81 diff --git a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/serialization/NormalizedNodeSerializer.java b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/serialization/NormalizedNodeSerializer.java index 15d51e1d80..fc1bd4225d 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/serialization/NormalizedNodeSerializer.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/serialization/NormalizedNodeSerializer.java @@ -8,11 +8,28 @@ package org.opendaylight.controller.cluster.datastore.node.utils.serialization; +import static org.opendaylight.controller.cluster.datastore.node.utils.serialization.NormalizedNodeType.ANY_XML_NODE_TYPE; +import static org.opendaylight.controller.cluster.datastore.node.utils.serialization.NormalizedNodeType.AUGMENTATION_NODE_TYPE; +import static org.opendaylight.controller.cluster.datastore.node.utils.serialization.NormalizedNodeType.CHOICE_NODE_TYPE; +import static org.opendaylight.controller.cluster.datastore.node.utils.serialization.NormalizedNodeType.CONTAINER_NODE_TYPE; +import static org.opendaylight.controller.cluster.datastore.node.utils.serialization.NormalizedNodeType.LEAF_NODE_TYPE; +import static org.opendaylight.controller.cluster.datastore.node.utils.serialization.NormalizedNodeType.LEAF_SET_ENTRY_NODE_TYPE; +import static org.opendaylight.controller.cluster.datastore.node.utils.serialization.NormalizedNodeType.LEAF_SET_NODE_TYPE; +import static org.opendaylight.controller.cluster.datastore.node.utils.serialization.NormalizedNodeType.MAP_ENTRY_NODE_TYPE; +import static org.opendaylight.controller.cluster.datastore.node.utils.serialization.NormalizedNodeType.MAP_NODE_TYPE; +import static org.opendaylight.controller.cluster.datastore.node.utils.serialization.NormalizedNodeType.ORDERED_LEAF_SET_NODE_TYPE; +import static org.opendaylight.controller.cluster.datastore.node.utils.serialization.NormalizedNodeType.ORDERED_MAP_NODE_TYPE; +import static org.opendaylight.controller.cluster.datastore.node.utils.serialization.NormalizedNodeType.UNKEYED_LIST_ENTRY_NODE_TYPE; +import static org.opendaylight.controller.cluster.datastore.node.utils.serialization.NormalizedNodeType.UNKEYED_LIST_NODE_TYPE; +import static org.opendaylight.controller.cluster.datastore.node.utils.serialization.NormalizedNodeType.getSerializableNodeType; + import com.google.common.base.Preconditions; +import java.util.EnumMap; +import java.util.Map; +import javax.xml.transform.dom.DOMSource; import org.opendaylight.controller.cluster.datastore.util.InstanceIdentifierUtils; import org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages; import org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node.Builder; -import org.opendaylight.yangtools.yang.data.api.Node; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.AnyXmlNode; import org.opendaylight.yangtools.yang.data.api.schema.AugmentationNode; @@ -33,22 +50,6 @@ import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.DataContaine import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.DataContainerNodeBuilder; import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.ListNodeBuilder; import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.NormalizedNodeAttrBuilder; -import java.util.EnumMap; -import java.util.Map; -import static org.opendaylight.controller.cluster.datastore.node.utils.serialization.NormalizedNodeType.ANY_XML_NODE_TYPE; -import static org.opendaylight.controller.cluster.datastore.node.utils.serialization.NormalizedNodeType.AUGMENTATION_NODE_TYPE; -import static org.opendaylight.controller.cluster.datastore.node.utils.serialization.NormalizedNodeType.CHOICE_NODE_TYPE; -import static org.opendaylight.controller.cluster.datastore.node.utils.serialization.NormalizedNodeType.CONTAINER_NODE_TYPE; -import static org.opendaylight.controller.cluster.datastore.node.utils.serialization.NormalizedNodeType.LEAF_NODE_TYPE; -import static org.opendaylight.controller.cluster.datastore.node.utils.serialization.NormalizedNodeType.LEAF_SET_ENTRY_NODE_TYPE; -import static org.opendaylight.controller.cluster.datastore.node.utils.serialization.NormalizedNodeType.LEAF_SET_NODE_TYPE; -import static org.opendaylight.controller.cluster.datastore.node.utils.serialization.NormalizedNodeType.MAP_ENTRY_NODE_TYPE; -import static org.opendaylight.controller.cluster.datastore.node.utils.serialization.NormalizedNodeType.MAP_NODE_TYPE; -import static org.opendaylight.controller.cluster.datastore.node.utils.serialization.NormalizedNodeType.ORDERED_LEAF_SET_NODE_TYPE; -import static org.opendaylight.controller.cluster.datastore.node.utils.serialization.NormalizedNodeType.ORDERED_MAP_NODE_TYPE; -import static org.opendaylight.controller.cluster.datastore.node.utils.serialization.NormalizedNodeType.UNKEYED_LIST_ENTRY_NODE_TYPE; -import static org.opendaylight.controller.cluster.datastore.node.utils.serialization.NormalizedNodeType.UNKEYED_LIST_NODE_TYPE; -import static org.opendaylight.controller.cluster.datastore.node.utils.serialization.NormalizedNodeType.getSerializableNodeType; /** * NormalizedNodeSerializer can be used to convert a Normalized node to and and @@ -81,12 +82,12 @@ public class NormalizedNodeSerializer { * @param node * @return */ - public static NormalizedNodeMessages.Node serialize(NormalizedNode node){ + public static NormalizedNodeMessages.Node serialize(NormalizedNode node){ Preconditions.checkNotNull(node, "node should not be null"); return new Serializer(node).serialize(); } - public static Serializer newSerializer(NormalizedNode node) { + public static Serializer newSerializer(NormalizedNode node) { Preconditions.checkNotNull(node, "node should not be null"); return new Serializer(node); } @@ -97,7 +98,7 @@ public class NormalizedNodeSerializer { * @param node * @return */ - public static NormalizedNode deSerialize(NormalizedNodeMessages.Node node) { + public static NormalizedNode deSerialize(NormalizedNodeMessages.Node node) { Preconditions.checkNotNull(node, "node should not be null"); return new DeSerializer(null, node).deSerialize(); } @@ -131,11 +132,11 @@ public class NormalizedNodeSerializer { public static class Serializer extends QNameSerializationContextImpl implements NormalizedNodeSerializationContext { - private final NormalizedNode node; + private final NormalizedNode node; private NormalizedNodeMessages.InstanceIdentifier serializedPath; - private Serializer(NormalizedNode node) { + private Serializer(NormalizedNode node) { this.node = node; } @@ -154,7 +155,7 @@ public class NormalizedNodeSerializer { } private NormalizedNodeMessages.Node.Builder serialize( - NormalizedNode node) { + NormalizedNode node) { NormalizedNodeMessages.Node.Builder builder = NormalizedNodeMessages.Node.newBuilder(); @@ -179,17 +180,17 @@ public class NormalizedNodeSerializer { ValueSerializer.serialize(builder, this, value); } else if (value instanceof Iterable) { - Iterable iterable = (Iterable) value; + Iterable iterable = (Iterable) value; for (Object o : iterable) { if (o instanceof NormalizedNode) { - builder.addChild(serialize((NormalizedNode) o)); + builder.addChild(serialize((NormalizedNode) o)); } } } else if (value instanceof NormalizedNode) { - builder.addChild(serialize((NormalizedNode) value)); + builder.addChild(serialize((NormalizedNode) value)); } else { @@ -208,7 +209,7 @@ public class NormalizedNodeSerializer { static { deSerializationFunctions.put(CONTAINER_NODE_TYPE, new DeSerializationFunction() { - @Override public NormalizedNode apply( + @Override public NormalizedNode apply( DeSerializer deSerializer, NormalizedNodeMessages.Node node) { DataContainerNodeAttrBuilder @@ -226,7 +227,7 @@ public class NormalizedNodeSerializer { deSerializationFunctions.put(LEAF_NODE_TYPE, new DeSerializationFunction() { - @Override public NormalizedNode apply( + @Override public NormalizedNode apply( DeSerializer deSerializer, NormalizedNodeMessages.Node node) { NormalizedNodeAttrBuilder> @@ -243,7 +244,7 @@ public class NormalizedNodeSerializer { deSerializationFunctions.put(MAP_NODE_TYPE, new DeSerializationFunction() { - @Override public NormalizedNode apply( + @Override public NormalizedNode apply( DeSerializer deSerializer, NormalizedNodeMessages.Node node) { CollectionNodeBuilder @@ -255,7 +256,7 @@ public class NormalizedNodeSerializer { deSerializationFunctions.put(MAP_ENTRY_NODE_TYPE, new DeSerializationFunction() { - @Override public NormalizedNode apply( + @Override public NormalizedNode apply( DeSerializer deSerializer, NormalizedNodeMessages.Node node) { DataContainerNodeAttrBuilder @@ -270,7 +271,7 @@ public class NormalizedNodeSerializer { deSerializationFunctions.put(AUGMENTATION_NODE_TYPE, new DeSerializationFunction() { - @Override public NormalizedNode apply( + @Override public NormalizedNode apply( DeSerializer deSerializer, NormalizedNodeMessages.Node node) { DataContainerNodeBuilder @@ -286,7 +287,7 @@ public class NormalizedNodeSerializer { deSerializationFunctions.put(LEAF_SET_NODE_TYPE, new DeSerializationFunction() { - @Override public NormalizedNode apply( + @Override public NormalizedNode apply( DeSerializer deSerializer, NormalizedNodeMessages.Node node) { ListNodeBuilder> @@ -298,7 +299,7 @@ public class NormalizedNodeSerializer { deSerializationFunctions.put(LEAF_SET_ENTRY_NODE_TYPE, new DeSerializationFunction() { - @Override public NormalizedNode apply( + @Override public NormalizedNode apply( DeSerializer deSerializer, NormalizedNodeMessages.Node node) { NormalizedNodeAttrBuilder> @@ -313,7 +314,7 @@ public class NormalizedNodeSerializer { deSerializationFunctions.put(CHOICE_NODE_TYPE, new DeSerializationFunction() { - @Override public NormalizedNode apply( + @Override public NormalizedNode apply( DeSerializer deSerializer, NormalizedNodeMessages.Node node) { DataContainerNodeBuilder @@ -330,7 +331,7 @@ public class NormalizedNodeSerializer { deSerializationFunctions.put(ORDERED_LEAF_SET_NODE_TYPE, new DeSerializationFunction() { - @Override public NormalizedNode apply( + @Override public NormalizedNode apply( DeSerializer deSerializer, NormalizedNodeMessages.Node node) { ListNodeBuilder> @@ -345,7 +346,7 @@ public class NormalizedNodeSerializer { deSerializationFunctions.put(ORDERED_MAP_NODE_TYPE, new DeSerializationFunction() { - @Override public NormalizedNode apply( + @Override public NormalizedNode apply( DeSerializer deSerializer, NormalizedNodeMessages.Node node) { CollectionNodeBuilder @@ -358,7 +359,7 @@ public class NormalizedNodeSerializer { deSerializationFunctions.put(UNKEYED_LIST_NODE_TYPE, new DeSerializationFunction() { - @Override public NormalizedNode apply( + @Override public NormalizedNode apply( DeSerializer deSerializer, NormalizedNodeMessages.Node node) { CollectionNodeBuilder @@ -371,7 +372,7 @@ public class NormalizedNodeSerializer { deSerializationFunctions.put(UNKEYED_LIST_ENTRY_NODE_TYPE, new DeSerializationFunction() { - @Override public NormalizedNode apply( + @Override public NormalizedNode apply( DeSerializer deSerializer, NormalizedNodeMessages.Node node) { DataContainerNodeAttrBuilder @@ -389,10 +390,10 @@ public class NormalizedNodeSerializer { deSerializationFunctions.put(ANY_XML_NODE_TYPE, new DeSerializationFunction() { - @Override public NormalizedNode apply( + @Override public NormalizedNode apply( DeSerializer deSerializer, NormalizedNodeMessages.Node node) { - NormalizedNodeAttrBuilder, AnyXmlNode> + NormalizedNodeAttrBuilder builder = Builders.anyXmlBuilder(); @@ -421,8 +422,8 @@ public class NormalizedNodeSerializer { return deserializedPath; } - public NormalizedNode deSerialize() { - NormalizedNode deserializedNode = deSerialize(node); + public NormalizedNode deSerialize() { + NormalizedNode deserializedNode = deSerialize(node); if(path != null) { deserializedPath = InstanceIdentifierUtils.fromSerializable(path, this); } @@ -430,7 +431,7 @@ public class NormalizedNodeSerializer { return deserializedNode; } - private NormalizedNode deSerialize(NormalizedNodeMessages.Node node){ + private NormalizedNode deSerialize(NormalizedNodeMessages.Node node){ Preconditions.checkNotNull(node, "node should not be null"); DeSerializationFunction deSerializationFunction = deSerializationFunctions.get( @@ -440,7 +441,7 @@ public class NormalizedNodeSerializer { } - private NormalizedNode buildCollectionNode( + private NormalizedNode buildCollectionNode( CollectionNodeBuilder builder, NormalizedNodeMessages.Node node) { @@ -454,7 +455,7 @@ public class NormalizedNodeSerializer { } - private NormalizedNode buildListNode( + private NormalizedNode buildListNode( ListNodeBuilder> builder, NormalizedNodeMessages.Node node) { builder.withNodeIdentifier(toNodeIdentifier(node.getPathArgument())); @@ -466,7 +467,7 @@ public class NormalizedNodeSerializer { return builder.build(); } - private NormalizedNode buildDataContainer(DataContainerNodeBuilder builder, NormalizedNodeMessages.Node node){ + private NormalizedNode buildDataContainer(DataContainerNodeBuilder builder, NormalizedNodeMessages.Node node){ for(NormalizedNodeMessages.Node child : node.getChildList()){ builder.withChild((DataContainerChild) deSerialize(child)); @@ -477,7 +478,7 @@ public class NormalizedNodeSerializer { return builder.build(); } - private NormalizedNode buildNormalizedNode(NormalizedNodeAttrBuilder builder, NormalizedNodeMessages.Node node){ + private NormalizedNode buildNormalizedNode(NormalizedNodeAttrBuilder builder, NormalizedNodeMessages.Node node){ builder.withValue(ValueSerializer.deSerialize(this, node)); @@ -515,7 +516,7 @@ public class NormalizedNodeSerializer { } private static interface DeSerializationFunction { - NormalizedNode apply(DeSerializer deserializer, NormalizedNodeMessages.Node node); + NormalizedNode apply(DeSerializer deserializer, NormalizedNodeMessages.Node node); } } }