Revert "Composite node <-> normalized node serializer and deserializer" 35/9535/1
authorTony Tkacik <ttkacik@cisco.com>
Thu, 31 Jul 2014 13:48:15 +0000 (13:48 +0000)
committerTony Tkacik <ttkacik@cisco.com>
Thu, 31 Jul 2014 13:48:15 +0000 (13:48 +0000)
This commit renamed artefact, which was missed on code
review done by me, so reverting it for now, to be properly
documented.

Change-Id: Iffaa2f6e1c0e245adbc10ae59cdbc3eb2f365346
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
39 files changed:
common/features/pom.xml
common/parent/pom.xml
yang/pom.xml
yang/yang-data-composite-node/src/main/java/org/opendaylight/yangtools/yang/data/composite/node/schema/cnsn/parser/AnyXmlNodeCnSnParser.java [deleted file]
yang/yang-data-composite-node/src/main/java/org/opendaylight/yangtools/yang/data/composite/node/schema/cnsn/serializer/AnyXmlNodeCnSnSerializer.java [deleted file]
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/transform/FromNormalizedNodeSerializerFactory.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/transform/ToNormalizedNodeParserFactory.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/transform/base/parser/AnyXmlNodeBaseParser.java [deleted file]
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/transform/base/parser/NodeParserDispatcher.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/transform/base/serializer/AnyXmlNodeBaseSerializer.java [deleted file]
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/transform/base/serializer/NodeSerializerDispatcher.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/transform/dom/parser/DomToNormalizedNodeParserFactory.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/transform/dom/serializer/DomFromNormalizedNodeSerializerFactory.java
yang/yang-data-json/pom.xml [moved from yang/yang-data-composite-node/pom.xml with 76% similarity]
yang/yang-data-json/src/main/java/org/opendaylight/yangtools/yang/data/json/schema/cnsn/parser/AugmentationNodeCnSnParser.java [moved from yang/yang-data-composite-node/src/main/java/org/opendaylight/yangtools/yang/data/composite/node/schema/cnsn/parser/AugmentationNodeCnSnParser.java with 88% similarity]
yang/yang-data-json/src/main/java/org/opendaylight/yangtools/yang/data/json/schema/cnsn/parser/ChoiceNodeCnSnParser.java [moved from yang/yang-data-composite-node/src/main/java/org/opendaylight/yangtools/yang/data/composite/node/schema/cnsn/parser/ChoiceNodeCnSnParser.java with 87% similarity]
yang/yang-data-json/src/main/java/org/opendaylight/yangtools/yang/data/json/schema/cnsn/parser/CnSnToNormalizedNodeParserFactory.java [moved from yang/yang-data-composite-node/src/main/java/org/opendaylight/yangtools/yang/data/composite/node/schema/cnsn/parser/CnSnToNormalizedNodeParserFactory.java with 90% similarity]
yang/yang-data-json/src/main/java/org/opendaylight/yangtools/yang/data/json/schema/cnsn/parser/ContainerNodeCnSnParser.java [moved from yang/yang-data-composite-node/src/main/java/org/opendaylight/yangtools/yang/data/composite/node/schema/cnsn/parser/ContainerNodeCnSnParser.java with 89% similarity]
yang/yang-data-json/src/main/java/org/opendaylight/yangtools/yang/data/json/schema/cnsn/parser/LeafNodeCnSnParser.java [moved from yang/yang-data-composite-node/src/main/java/org/opendaylight/yangtools/yang/data/composite/node/schema/cnsn/parser/LeafNodeCnSnParser.java with 92% similarity]
yang/yang-data-json/src/main/java/org/opendaylight/yangtools/yang/data/json/schema/cnsn/parser/LeafSetEntryNodeCnSnParser.java [moved from yang/yang-data-composite-node/src/main/java/org/opendaylight/yangtools/yang/data/composite/node/schema/cnsn/parser/LeafSetEntryNodeCnSnParser.java with 93% similarity]
yang/yang-data-json/src/main/java/org/opendaylight/yangtools/yang/data/json/schema/cnsn/parser/LeafSetNodeCnSnParser.java [moved from yang/yang-data-composite-node/src/main/java/org/opendaylight/yangtools/yang/data/composite/node/schema/cnsn/parser/LeafSetNodeCnSnParser.java with 93% similarity]
yang/yang-data-json/src/main/java/org/opendaylight/yangtools/yang/data/json/schema/cnsn/parser/MapEntryNodeCnSnParser.java [moved from yang/yang-data-composite-node/src/main/java/org/opendaylight/yangtools/yang/data/composite/node/schema/cnsn/parser/MapEntryNodeCnSnParser.java with 89% similarity]
yang/yang-data-json/src/main/java/org/opendaylight/yangtools/yang/data/json/schema/cnsn/parser/MapNodeCnSnParser.java [moved from yang/yang-data-composite-node/src/main/java/org/opendaylight/yangtools/yang/data/composite/node/schema/cnsn/parser/MapNodeCnSnParser.java with 93% similarity]
yang/yang-data-json/src/main/java/org/opendaylight/yangtools/yang/data/json/schema/cnsn/serializer/AugmentationNodeCnSnSerializer.java [moved from yang/yang-data-composite-node/src/main/java/org/opendaylight/yangtools/yang/data/composite/node/schema/cnsn/serializer/AugmentationNodeCnSnSerializer.java with 92% similarity]
yang/yang-data-json/src/main/java/org/opendaylight/yangtools/yang/data/json/schema/cnsn/serializer/ChoiceNodeCnSnSerializer.java [moved from yang/yang-data-composite-node/src/main/java/org/opendaylight/yangtools/yang/data/composite/node/schema/cnsn/serializer/ChoiceNodeCnSnSerializer.java with 92% similarity]
yang/yang-data-json/src/main/java/org/opendaylight/yangtools/yang/data/json/schema/cnsn/serializer/CnSnFromNormalizedNodeSerializerFactory.java [moved from yang/yang-data-composite-node/src/main/java/org/opendaylight/yangtools/yang/data/composite/node/schema/cnsn/serializer/CnSnFromNormalizedNodeSerializerFactory.java with 89% similarity]
yang/yang-data-json/src/main/java/org/opendaylight/yangtools/yang/data/json/schema/cnsn/serializer/ContainerNodeCnSnSerializer.java [moved from yang/yang-data-composite-node/src/main/java/org/opendaylight/yangtools/yang/data/composite/node/schema/cnsn/serializer/ContainerNodeCnSnSerializer.java with 62% similarity]
yang/yang-data-json/src/main/java/org/opendaylight/yangtools/yang/data/json/schema/cnsn/serializer/LeafNodeCnSnSerializer.java [moved from yang/yang-data-composite-node/src/main/java/org/opendaylight/yangtools/yang/data/composite/node/schema/cnsn/serializer/LeafNodeCnSnSerializer.java with 91% similarity]
yang/yang-data-json/src/main/java/org/opendaylight/yangtools/yang/data/json/schema/cnsn/serializer/LeafSetEntryNodeCnSnSerializer.java [moved from yang/yang-data-composite-node/src/main/java/org/opendaylight/yangtools/yang/data/composite/node/schema/cnsn/serializer/LeafSetEntryNodeCnSnSerializer.java with 92% similarity]
yang/yang-data-json/src/main/java/org/opendaylight/yangtools/yang/data/json/schema/cnsn/serializer/LeafSetNodeCnSnSerializer.java [moved from yang/yang-data-composite-node/src/main/java/org/opendaylight/yangtools/yang/data/composite/node/schema/cnsn/serializer/LeafSetNodeCnSnSerializer.java with 93% similarity]
yang/yang-data-json/src/main/java/org/opendaylight/yangtools/yang/data/json/schema/cnsn/serializer/MapEntryNodeCnSnSerializer.java [moved from yang/yang-data-composite-node/src/main/java/org/opendaylight/yangtools/yang/data/composite/node/schema/cnsn/serializer/MapEntryNodeCnSnSerializer.java with 60% similarity]
yang/yang-data-json/src/main/java/org/opendaylight/yangtools/yang/data/json/schema/cnsn/serializer/MapNodeCnSnSerializer.java [moved from yang/yang-data-composite-node/src/main/java/org/opendaylight/yangtools/yang/data/composite/node/schema/cnsn/serializer/MapNodeCnSnSerializer.java with 93% similarity]
yang/yang-data-json/src/main/java/org/opendaylight/yangtools/yang/data/json/schema/json/CnSnToNormalizedNodesUtils.java [moved from yang/yang-data-composite-node/src/main/java/org/opendaylight/yangtools/yang/data/composite/node/schema/json/CnSnToNormalizedNodesUtils.java with 93% similarity]
yang/yang-data-json/src/test/java/org/opendaylight/yangtools/yang/data/json/schema/TestUtils.java [moved from yang/yang-data-composite-node/src/test/java/org/opendaylight/yangtools/yang/data/composite/node/schema/TestUtils.java with 69% similarity]
yang/yang-data-json/src/test/java/org/opendaylight/yangtools/yang/data/json/schema/cnsn/parser/ParseCnSnStructToNormalizedStructTest.java [moved from yang/yang-data-composite-node/src/test/java/org/opendaylight/yangtools/yang/data/composite/node/schema/parser/ParseCnSnStructToNormalizedStructTest.java with 87% similarity]
yang/yang-data-json/src/test/java/org/opendaylight/yangtools/yang/data/json/schema/cnsn/serializer/SerializeNormalizedStructToCnSnStructTest.java [moved from yang/yang-data-composite-node/src/test/java/org/opendaylight/yangtools/yang/data/composite/node/schema/serializer/SerializeNormalizedStructToCnSnStructTest.java with 88% similarity]
yang/yang-data-json/src/test/resources/cnsn-to-normalized-node/json/simple-container.json [moved from yang/yang-data-composite-node/src/test/resources/cnsn-to-normalized-node/json/simple-container.json with 82% similarity]
yang/yang-data-json/src/test/resources/cnsn-to-normalized-node/yang/augment-simple-container.yang [moved from yang/yang-data-composite-node/src/test/resources/cnsn-to-normalized-node/yang/augment-simple-container.yang with 100% similarity]
yang/yang-data-json/src/test/resources/cnsn-to-normalized-node/yang/simple-container.yang [moved from yang/yang-data-composite-node/src/test/resources/cnsn-to-normalized-node/yang/simple-container.yang with 92% similarity]

index 00c1cf4e880e8a7799bd549fd2a14cb317354ce9..684d959f39fd5d8f417cfb7ff8ae3747c2816893 100644 (file)
      </dependency>
      <dependency>
        <groupId>org.opendaylight.yangtools</groupId>
-       <artifactId>yang-data-composite-node</artifactId>
+       <artifactId>yang-data-json</artifactId>
      </dependency>
      <dependency>
        <groupId>org.opendaylight.yangtools</groupId>
index 7c62febf18c631084dfd0e0778a4e60e2442e800..84d4dfe9da7db6fc2d455dc6e66aeff0bdeb44d6 100644 (file)
             </dependency>
             <dependency>
                 <groupId>org.opendaylight.yangtools</groupId>
-                <artifactId>yang-data-composite-node</artifactId>
+                <artifactId>yang-data-json</artifactId>
                 <version>0.6.2-SNAPSHOT</version>
             </dependency>
             <dependency>
index a7e7cc77ada2232130cc69f2ce53e7cf9858615c..a8eef46d22944e10093fa2e4e60f970e79fd4714 100644 (file)
@@ -29,7 +29,7 @@
         <module>yang-model-util</module>
         <module>yang-parser-api</module>
         <module>yang-parser-impl</module>
-        <module>yang-data-composite-node</module>
+        <module>yang-data-json</module>
     </modules>
     <build>
         <plugins>
diff --git a/yang/yang-data-composite-node/src/main/java/org/opendaylight/yangtools/yang/data/composite/node/schema/cnsn/parser/AnyXmlNodeCnSnParser.java b/yang/yang-data-composite-node/src/main/java/org/opendaylight/yangtools/yang/data/composite/node/schema/cnsn/parser/AnyXmlNodeCnSnParser.java
deleted file mode 100644 (file)
index a13dd4b..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.yangtools.yang.data.composite.node.schema.cnsn.parser;
-
-import org.opendaylight.yangtools.yang.data.api.Node;
-import org.opendaylight.yangtools.yang.data.impl.schema.transform.base.parser.AnyXmlNodeBaseParser;
-import org.opendaylight.yangtools.yang.model.api.AnyXmlSchemaNode;
-
-public class AnyXmlNodeCnSnParser extends AnyXmlNodeBaseParser<Node<?>> {
-
-    public AnyXmlNodeCnSnParser() {
-        super();
-    }
-
-    @Override
-    protected Node<?> parseAnyXml(Node<?> element, AnyXmlSchemaNode schema) {
-        return element;
-    }
-}
diff --git a/yang/yang-data-composite-node/src/main/java/org/opendaylight/yangtools/yang/data/composite/node/schema/cnsn/serializer/AnyXmlNodeCnSnSerializer.java b/yang/yang-data-composite-node/src/main/java/org/opendaylight/yangtools/yang/data/composite/node/schema/cnsn/serializer/AnyXmlNodeCnSnSerializer.java
deleted file mode 100644 (file)
index db941ed..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.yangtools.yang.data.composite.node.schema.cnsn.serializer;
-
-import org.opendaylight.yangtools.yang.data.api.Node;
-import org.opendaylight.yangtools.yang.data.api.schema.AnyXmlNode;
-import org.opendaylight.yangtools.yang.data.impl.schema.transform.base.serializer.AnyXmlNodeBaseSerializer;
-
-public class AnyXmlNodeCnSnSerializer extends AnyXmlNodeBaseSerializer<Node<?>> {
-
-    @Override
-    protected Node<?> serializeAnyXml(AnyXmlNode node) {
-        return node.getValue();
-    }
-}
index 319752d282bf61a3b8ae43ef6e42eb8701b7d37e..48fedda8606869730fdcf8ee339b13c41c9eb4ed 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.yangtools.yang.data.impl.schema.transform;
 
-import org.opendaylight.yangtools.yang.data.api.schema.AnyXmlNode;
 import org.opendaylight.yangtools.yang.data.api.schema.AugmentationNode;
 import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode;
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
@@ -16,7 +15,6 @@ import org.opendaylight.yangtools.yang.data.api.schema.LeafSetEntryNode;
 import org.opendaylight.yangtools.yang.data.api.schema.LeafSetNode;
 import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode;
 import org.opendaylight.yangtools.yang.data.api.schema.MapNode;
-import org.opendaylight.yangtools.yang.model.api.AnyXmlSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.AugmentationSchema;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode;
@@ -38,5 +36,4 @@ public interface FromNormalizedNodeSerializerFactory<E> {
        FromNormalizedNodeSerializer<E, LeafSetNode<?>, LeafListSchemaNode> getLeafSetNodeSerializer();
        FromNormalizedNodeSerializer<E, MapEntryNode, ListSchemaNode> getMapEntryNodeSerializer();
        FromNormalizedNodeSerializer<E, MapNode, ListSchemaNode> getMapNodeSerializer();
-       FromNormalizedNodeSerializer<E, AnyXmlNode, AnyXmlSchemaNode> getAnyXmlNodeSerializer();
 }
index 7c2700f7c4139f83208845e570c194b1d445a5aa..f99cbcff281d8b708d2a232d6a083fde21bb2b6a 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.yangtools.yang.data.impl.schema.transform;
 
-import org.opendaylight.yangtools.yang.data.api.schema.AnyXmlNode;
 import org.opendaylight.yangtools.yang.data.api.schema.AugmentationNode;
 import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode;
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
@@ -16,7 +15,6 @@ import org.opendaylight.yangtools.yang.data.api.schema.LeafSetEntryNode;
 import org.opendaylight.yangtools.yang.data.api.schema.LeafSetNode;
 import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode;
 import org.opendaylight.yangtools.yang.data.api.schema.MapNode;
-import org.opendaylight.yangtools.yang.model.api.AnyXmlSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.AugmentationSchema;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode;
@@ -38,5 +36,4 @@ public interface ToNormalizedNodeParserFactory<E> {
        ToNormalizedNodeParser<E, LeafSetNode<?>, LeafListSchemaNode> getLeafSetNodeParser();
        ToNormalizedNodeParser<E, MapEntryNode, ListSchemaNode> getMapEntryNodeParser();
        ToNormalizedNodeParser<E, MapNode, ListSchemaNode> getMapNodeParser();
-        ToNormalizedNodeParser<E, AnyXmlNode, AnyXmlSchemaNode> getAnyXmlNodeParser();
 }
diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/transform/base/parser/AnyXmlNodeBaseParser.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/transform/base/parser/AnyXmlNodeBaseParser.java
deleted file mode 100644 (file)
index 2730367..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.yangtools.yang.data.impl.schema.transform.base.parser;
-
-import com.google.common.base.Preconditions;
-import com.google.common.collect.Iterables;
-import org.opendaylight.yangtools.yang.data.api.Node;
-import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
-import org.opendaylight.yangtools.yang.data.api.schema.AnyXmlNode;
-import org.opendaylight.yangtools.yang.data.impl.schema.Builders;
-import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.NormalizedNodeAttrBuilder;
-import org.opendaylight.yangtools.yang.data.impl.schema.transform.ToNormalizedNodeParser;
-import org.opendaylight.yangtools.yang.model.api.AnyXmlSchemaNode;
-
-/**
- * Abstract(base) parser for LeafNodes, parses elements of type E.
- *
- * @param <E> type of elements to be parsed
- */
-public abstract class AnyXmlNodeBaseParser<E> implements
-        ToNormalizedNodeParser<E, AnyXmlNode, AnyXmlSchemaNode> {
-
-    @Override
-    public final AnyXmlNode parse(Iterable<E> elements, AnyXmlSchemaNode schema) {
-        final int size = Iterables.size(elements);
-        Preconditions.checkArgument(size == 1, "Elements mapped to any-xml node illegal count: %s", size);
-
-        final E e = elements.iterator().next();
-        Node<?> value = parseAnyXml(e, schema);
-
-        NormalizedNodeAttrBuilder<NodeIdentifier, Node<?>, AnyXmlNode> anyXmlBuilder = Builders.anyXmlBuilder(schema);
-
-        return anyXmlBuilder.withValue(value).build();
-    }
-
-    /**
-     *
-     * Parse the inner value of a AnyXmlNode from element of type E.
-     *
-     * @param element to be parsed
-     * @param schema schema for leaf
-     * @return parsed element as an Object
-     */
-    protected abstract Node<?> parseAnyXml(E element, AnyXmlSchemaNode schema);
-
-}
index c316e72b02a59e3fe2a1aaf4441efca4c43cf80a..40722b3aee8a15c05f37c9974e475f7fc67d5478 100644 (file)
@@ -7,11 +7,10 @@
  */
 package org.opendaylight.yangtools.yang.data.impl.schema.transform.base.parser;
 
-import com.google.common.base.Preconditions;
 import java.util.List;
+
 import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild;
 import org.opendaylight.yangtools.yang.data.impl.schema.transform.ToNormalizedNodeParserFactory;
-import org.opendaylight.yangtools.yang.model.api.AnyXmlSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.AugmentationSchema;
 import org.opendaylight.yangtools.yang.model.api.ChoiceNode;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
@@ -19,6 +18,8 @@ import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ListSchemaNode;
 
+import com.google.common.base.Preconditions;
+
 /**
  *
  * Dispatches the parsing process of elements according to schema and returns the parsed Node.
@@ -56,8 +57,6 @@ public interface NodeParserDispatcher<E> {
                 return factory.getChoiceNodeParser().parse(childNodes, (ChoiceNode) schema);
             } else if (schema instanceof AugmentationSchema) {
                 return factory.getAugmentationNodeParser().parse(childNodes, (AugmentationSchema) schema);
-            } else if (schema instanceof AnyXmlSchemaNode) {
-                return factory.getAnyXmlNodeParser().parse(childNodes,(AnyXmlSchemaNode)schema);
             }
 
             throw new IllegalArgumentException("Unable to parse node, unknown schema type: " + schema.getClass());
diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/transform/base/serializer/AnyXmlNodeBaseSerializer.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/transform/base/serializer/AnyXmlNodeBaseSerializer.java
deleted file mode 100644 (file)
index e2fd60b..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.yangtools.yang.data.impl.schema.transform.base.serializer;
-
-import java.util.Collections;
-import org.opendaylight.yangtools.yang.data.api.schema.AnyXmlNode;
-import org.opendaylight.yangtools.yang.data.impl.schema.transform.FromNormalizedNodeSerializer;
-import org.opendaylight.yangtools.yang.model.api.AnyXmlSchemaNode;
-
-/**
- * Abstract(base) serializer for AnyXmlNodes, serializes elements of type E.
- *
- * @param <E> type of serialized elements
- */
-public abstract class AnyXmlNodeBaseSerializer<E> implements
-        FromNormalizedNodeSerializer<E, AnyXmlNode, AnyXmlSchemaNode> {
-
-    @Override
-    public final Iterable<E> serialize(AnyXmlSchemaNode schema, AnyXmlNode node) {
-        return Collections.singletonList(serializeAnyXml(node));
-    }
-
-    /**
-     *
-     * Serialize the inner value of a AnyXmlNode into element of type E.
-     *
-     * @param node to be serialized
-     * @param schema schema for leaf
-     * @return serialized inner value as an Element
-     */
-    protected abstract E serializeAnyXml(AnyXmlNode node);
-}
index c686c31cba4871577c415937262c62b00c5046fd..d08a9fbf8d713ad31fd4a83aea1e69639992943a 100644 (file)
@@ -7,10 +7,7 @@
  */
 package org.opendaylight.yangtools.yang.data.impl.schema.transform.base.serializer;
 
-import com.google.common.base.Preconditions;
-import com.google.common.collect.Iterables;
 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;
 import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode;
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
@@ -20,20 +17,20 @@ import org.opendaylight.yangtools.yang.data.api.schema.LeafSetNode;
 import org.opendaylight.yangtools.yang.data.api.schema.MapNode;
 import org.opendaylight.yangtools.yang.data.api.schema.MixinNode;
 import org.opendaylight.yangtools.yang.data.impl.schema.transform.FromNormalizedNodeSerializerFactory;
-import org.opendaylight.yangtools.yang.model.api.AnyXmlSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.AugmentationSchema;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ListSchemaNode;
 
+import com.google.common.base.Preconditions;
+import com.google.common.collect.Iterables;
+
 /**
  *
- * Dispatches the serialization process of nodes according to schema and returns
- * the serialized elements.
+ * Dispatches the serialization process of nodes according to schema and returns the serialized elements.
  *
- * @param <E>
- *            type of serialized elements
+ * @param <E> type of serialized elements
  */
 public interface NodeSerializerDispatcher<E> {
 
@@ -41,9 +38,8 @@ public interface NodeSerializerDispatcher<E> {
             DataContainerChild<? extends YangInstanceIdentifier.PathArgument, ?> dataContainerChild);
 
     /**
-     * Abstract implementation that implements the dispatch conditions. Only
-     * requires serializers to be provided. The same instance of serializer can
-     * be provided in case it is immutable.
+     * Abstract implementation that implements the dispatch conditions. Only requires serializers to be provided.
+     * The same instance of serializer can be provided in case it is immutable.
      */
     public static abstract class BaseNodeSerializerDispatcher<E> implements NodeSerializerDispatcher<E> {
         private final FromNormalizedNodeSerializerFactory<E> factory;
@@ -59,8 +55,6 @@ public interface NodeSerializerDispatcher<E> {
                 return onContainerNode(childSchema, dataContainerChild);
             } else if (dataContainerChild instanceof LeafNode<?>) {
                 return onLeafNode(childSchema, dataContainerChild);
-            } else if (dataContainerChild instanceof AnyXmlNode) {
-                return onAnyXmlNode(childSchema, dataContainerChild);
             } else if (dataContainerChild instanceof MixinNode) {
                 if (dataContainerChild instanceof LeafSetNode<?>) {
                     return onLeafListNode(childSchema, dataContainerChild);
@@ -113,15 +107,6 @@ public interface NodeSerializerDispatcher<E> {
             return elements;
         }
 
-        private Iterable<E> onAnyXmlNode(Object childSchema,
-                DataContainerChild<? extends YangInstanceIdentifier.PathArgument, ?> dataContainerChild) {
-            checkSchemaCompatibility(childSchema, AnyXmlSchemaNode.class, dataContainerChild);
-            Iterable<E> elements = factory.getAnyXmlNodeSerializer().serialize((AnyXmlSchemaNode) childSchema,
-                    (AnyXmlNode) dataContainerChild);
-            checkOnlyOneSerializedElement(elements, dataContainerChild);
-            return elements;
-        }
-
         private static void checkOnlyOneSerializedElement(Iterable<?> elements,
                 DataContainerChild<? extends YangInstanceIdentifier.PathArgument, ?> dataContainerChild) {
             final int size = Iterables.size(elements);
index a02b60b2fd24b6443596e3dd4fe4e508433b0518..53d68f887267719865f9be0b50bb8e907c479533 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.yangtools.yang.data.impl.schema.transform.dom.parser;
 
-import org.opendaylight.yangtools.yang.data.api.schema.AnyXmlNode;
 import org.opendaylight.yangtools.yang.data.api.schema.AugmentationNode;
 import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode;
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
@@ -20,7 +19,6 @@ import org.opendaylight.yangtools.yang.data.impl.codec.xml.XmlCodecProvider;
 import org.opendaylight.yangtools.yang.data.impl.schema.transform.ToNormalizedNodeParser;
 import org.opendaylight.yangtools.yang.data.impl.schema.transform.ToNormalizedNodeParserFactory;
 import org.opendaylight.yangtools.yang.data.impl.schema.transform.base.parser.NodeParserDispatcher;
-import org.opendaylight.yangtools.yang.model.api.AnyXmlSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.AugmentationSchema;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode;
@@ -97,9 +95,4 @@ public final class DomToNormalizedNodeParserFactory implements ToNormalizedNodeP
     public ToNormalizedNodeParser<Element, MapNode, ListSchemaNode> getMapNodeParser() {
         return mapNodeParser;
     }
-
-    @Override
-    public ToNormalizedNodeParser<Element, AnyXmlNode, AnyXmlSchemaNode> getAnyXmlNodeParser() {
-        throw new UnsupportedOperationException();
-    }
 }
index b9d8ef2a757a3dec9cd0f3faf00d2194fe02a24a..0a5aba7c4a67789935bd98770d85e07e2cb1d8c6 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.yangtools.yang.data.impl.schema.transform.dom.serializer;
 
-import org.opendaylight.yangtools.yang.data.api.schema.AnyXmlNode;
 import org.opendaylight.yangtools.yang.data.api.schema.AugmentationNode;
 import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode;
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
@@ -20,7 +19,6 @@ import org.opendaylight.yangtools.yang.data.impl.codec.xml.XmlCodecProvider;
 import org.opendaylight.yangtools.yang.data.impl.schema.transform.FromNormalizedNodeSerializer;
 import org.opendaylight.yangtools.yang.data.impl.schema.transform.FromNormalizedNodeSerializerFactory;
 import org.opendaylight.yangtools.yang.data.impl.schema.transform.base.serializer.NodeSerializerDispatcher;
-import org.opendaylight.yangtools.yang.model.api.AnyXmlSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.AugmentationSchema;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode;
@@ -100,9 +98,4 @@ public final class DomFromNormalizedNodeSerializerFactory implements FromNormali
                return mapNodeSerializer;
        }
 
-        @Override
-        public FromNormalizedNodeSerializer<Element, AnyXmlNode, AnyXmlSchemaNode> getAnyXmlNodeSerializer() {
-            throw new UnsupportedOperationException();
-        }
-
 }
similarity index 76%
rename from yang/yang-data-composite-node/pom.xml
rename to yang/yang-data-json/pom.xml
index d4b1533cd2f055ac98759266f30e834061e6a401..228b9d82d2892afcfd18ea547795548dcfc7d751 100644 (file)
        </parent>
 
        <modelVersion>4.0.0</modelVersion>
-       <artifactId>yang-data-composite-node</artifactId>
+       <artifactId>yang-data-json</artifactId>
        <name>${project.artifactId}</name>
        <description>${project.artifactId}</description>
-    <packaging>bundle</packaging>
 
     <dependencies>
         <dependency>
         </dependency>
     </dependencies>
 
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-        <extensions>true</extensions>
-        <configuration>
-          <instructions>
-            <Bundle-Name>Composite node Normalized node transformator</Bundle-Name>
-            <Import-Package>*</Import-Package>
-          </instructions>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-
 </project>
@@ -5,14 +5,13 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.composite.node.schema.cnsn.parser;
-
-import org.opendaylight.yangtools.yang.data.composite.node.schema.json.CnSnToNormalizedNodesUtils;
+package org.opendaylight.yangtools.yang.data.json.schema.cnsn.parser;
 
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.data.api.Node;
 import org.opendaylight.yangtools.yang.data.impl.schema.transform.base.parser.AugmentationNodeBaseParser;
 import org.opendaylight.yangtools.yang.data.impl.schema.transform.base.parser.NodeParserDispatcher;
+import org.opendaylight.yangtools.yang.data.json.schema.json.CnSnToNormalizedNodesUtils;
 
 import com.google.common.base.Preconditions;
 import com.google.common.collect.LinkedListMultimap;
@@ -5,14 +5,13 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.composite.node.schema.cnsn.parser;
-
-import org.opendaylight.yangtools.yang.data.composite.node.schema.json.CnSnToNormalizedNodesUtils;
+package org.opendaylight.yangtools.yang.data.json.schema.cnsn.parser;
 
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.data.api.Node;
 import org.opendaylight.yangtools.yang.data.impl.schema.transform.base.parser.ChoiceNodeBaseParser;
 import org.opendaylight.yangtools.yang.data.impl.schema.transform.base.parser.NodeParserDispatcher;
+import org.opendaylight.yangtools.yang.data.json.schema.json.CnSnToNormalizedNodesUtils;
 
 import com.google.common.base.Preconditions;
 import com.google.common.collect.LinkedListMultimap;
@@ -5,10 +5,9 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.composite.node.schema.cnsn.parser;
+package org.opendaylight.yangtools.yang.data.json.schema.cnsn.parser;
 
 import org.opendaylight.yangtools.yang.data.api.Node;
-import org.opendaylight.yangtools.yang.data.api.schema.AnyXmlNode;
 import org.opendaylight.yangtools.yang.data.api.schema.AugmentationNode;
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
 import org.opendaylight.yangtools.yang.data.api.schema.LeafNode;
@@ -19,7 +18,6 @@ import org.opendaylight.yangtools.yang.data.api.schema.MapNode;
 import org.opendaylight.yangtools.yang.data.impl.schema.transform.ToNormalizedNodeParser;
 import org.opendaylight.yangtools.yang.data.impl.schema.transform.ToNormalizedNodeParserFactory;
 import org.opendaylight.yangtools.yang.data.impl.schema.transform.base.parser.NodeParserDispatcher;
-import org.opendaylight.yangtools.yang.model.api.AnyXmlSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.AugmentationSchema;
 import org.opendaylight.yangtools.yang.model.api.ChoiceNode;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
@@ -37,13 +35,11 @@ public class CnSnToNormalizedNodeParserFactory implements ToNormalizedNodeParser
     private final MapEntryNodeCnSnParser mapEntryNodeCnSnParser;
     private final ChoiceNodeCnSnParser choiceNodeCnSnParser;
     private final AugmentationNodeCnSnParser augmentationNodeCnSnParser;
-    private final AnyXmlNodeCnSnParser anyXmlNodeCnSnParser;
 
     private CnSnToNormalizedNodeParserFactory() {
         leafNodeCnSnParser = new LeafNodeCnSnParser();
         leafSetEntryNodeCnSnParser = new LeafSetEntryNodeCnSnParser();
         leafSetNodeCnSnParser = new LeafSetNodeCnSnParser(leafSetEntryNodeCnSnParser);
-        anyXmlNodeCnSnParser = new AnyXmlNodeCnSnParser();
 
         final NodeParserDispatcher<Node<?>> dispatcher = new NodeParserDispatcher.BaseNodeParserDispatcher<Node<?>>(
                 this) {
@@ -55,7 +51,6 @@ public class CnSnToNormalizedNodeParserFactory implements ToNormalizedNodeParser
         mapNodeCnSnParser = new MapNodeCnSnParser(mapEntryNodeCnSnParser);
         choiceNodeCnSnParser = new ChoiceNodeCnSnParser(dispatcher);
         augmentationNodeCnSnParser = new AugmentationNodeCnSnParser(dispatcher);
-
     }
 
     public static CnSnToNormalizedNodeParserFactory getInstance() {
@@ -101,9 +96,4 @@ public class CnSnToNormalizedNodeParserFactory implements ToNormalizedNodeParser
     public ToNormalizedNodeParser<Node<?>, MapEntryNode, ListSchemaNode> getMapEntryNodeParser() {
         return mapEntryNodeCnSnParser;
     }
-
-    @Override
-    public ToNormalizedNodeParser<Node<?>, AnyXmlNode, AnyXmlSchemaNode> getAnyXmlNodeParser() {
-        return anyXmlNodeCnSnParser;
-    }
 }
@@ -5,9 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.composite.node.schema.cnsn.parser;
-
-import org.opendaylight.yangtools.yang.data.composite.node.schema.json.CnSnToNormalizedNodesUtils;
+package org.opendaylight.yangtools.yang.data.json.schema.cnsn.parser;
 
 import java.util.Collections;
 import java.util.Map;
@@ -16,6 +14,7 @@ import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.data.api.Node;
 import org.opendaylight.yangtools.yang.data.impl.schema.transform.base.parser.ContainerNodeBaseParser;
 import org.opendaylight.yangtools.yang.data.impl.schema.transform.base.parser.NodeParserDispatcher;
+import org.opendaylight.yangtools.yang.data.json.schema.json.CnSnToNormalizedNodesUtils;
 
 import com.google.common.base.Preconditions;
 import com.google.common.collect.LinkedListMultimap;
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.composite.node.schema.cnsn.parser;
+package org.opendaylight.yangtools.yang.data.json.schema.cnsn.parser;
 
 import java.util.Collections;
 import java.util.Map;
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.composite.node.schema.cnsn.parser;
+package org.opendaylight.yangtools.yang.data.json.schema.cnsn.parser;
 
 import java.util.Collections;
 import java.util.Map;
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.composite.node.schema.cnsn.parser;
+package org.opendaylight.yangtools.yang.data.json.schema.cnsn.parser;
 
 import org.opendaylight.yangtools.yang.data.api.Node;
 import org.opendaylight.yangtools.yang.data.api.schema.LeafSetEntryNode;
@@ -5,9 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.composite.node.schema.cnsn.parser;
-
-import org.opendaylight.yangtools.yang.data.composite.node.schema.json.CnSnToNormalizedNodesUtils;
+package org.opendaylight.yangtools.yang.data.json.schema.cnsn.parser;
 
 import java.util.Collections;
 import java.util.Map;
@@ -16,6 +14,7 @@ import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.data.api.Node;
 import org.opendaylight.yangtools.yang.data.impl.schema.transform.base.parser.MapEntryNodeBaseParser;
 import org.opendaylight.yangtools.yang.data.impl.schema.transform.base.parser.NodeParserDispatcher;
+import org.opendaylight.yangtools.yang.data.json.schema.json.CnSnToNormalizedNodesUtils;
 
 import com.google.common.base.Preconditions;
 import com.google.common.collect.LinkedListMultimap;
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.composite.node.schema.cnsn.parser;
+package org.opendaylight.yangtools.yang.data.json.schema.cnsn.parser;
 
 import org.opendaylight.yangtools.yang.data.api.Node;
 import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode;
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.composite.node.schema.cnsn.serializer;
+package org.opendaylight.yangtools.yang.data.json.schema.cnsn.serializer;
 
 import org.opendaylight.yangtools.yang.data.api.Node;
 import org.opendaylight.yangtools.yang.data.impl.schema.transform.base.serializer.AugmentationNodeBaseSerializer;
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.composite.node.schema.cnsn.serializer;
+package org.opendaylight.yangtools.yang.data.json.schema.cnsn.serializer;
 
 import org.opendaylight.yangtools.yang.data.api.Node;
 import org.opendaylight.yangtools.yang.data.impl.schema.transform.base.serializer.ChoiceNodeBaseSerializer;
@@ -5,10 +5,9 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.composite.node.schema.cnsn.serializer;
+package org.opendaylight.yangtools.yang.data.json.schema.cnsn.serializer;
 
 import org.opendaylight.yangtools.yang.data.api.Node;
-import org.opendaylight.yangtools.yang.data.api.schema.AnyXmlNode;
 import org.opendaylight.yangtools.yang.data.api.schema.AugmentationNode;
 import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode;
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
@@ -20,7 +19,6 @@ import org.opendaylight.yangtools.yang.data.api.schema.MapNode;
 import org.opendaylight.yangtools.yang.data.impl.schema.transform.FromNormalizedNodeSerializer;
 import org.opendaylight.yangtools.yang.data.impl.schema.transform.FromNormalizedNodeSerializerFactory;
 import org.opendaylight.yangtools.yang.data.impl.schema.transform.base.serializer.NodeSerializerDispatcher;
-import org.opendaylight.yangtools.yang.model.api.AnyXmlSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.AugmentationSchema;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode;
@@ -36,7 +34,6 @@ public final class CnSnFromNormalizedNodeSerializerFactory implements FromNormal
     private final MapNodeCnSnSerializer mapNodeSerializer;
     private final LeafSetEntryNodeCnSnSerializer leafSetEntryNodeSerializer;
     private final MapEntryNodeCnSnSerializer mapEntryNodeSerializer;
-    private final AnyXmlNodeCnSnSerializer anyXmlNodeSerializer;
 
     private CnSnFromNormalizedNodeSerializerFactory() {
         final NodeSerializerDispatcher.BaseNodeSerializerDispatcher<Node<?>> dispatcher = new NodeSerializerDispatcher.BaseNodeSerializerDispatcher<Node<?>>(
@@ -48,7 +45,6 @@ public final class CnSnFromNormalizedNodeSerializerFactory implements FromNormal
         choiceSerializer = new ChoiceNodeCnSnSerializer(dispatcher);
         augmentSerializer = new AugmentationNodeCnSnSerializer(dispatcher);
         leafNodeSerializer = new LeafNodeCnSnSerializer();
-        anyXmlNodeSerializer = new AnyXmlNodeCnSnSerializer();
 
         leafSetEntryNodeSerializer = new LeafSetEntryNodeCnSnSerializer();
         leafSetSerializer = new LeafSetNodeCnSnSerializer(leafSetEntryNodeSerializer);
@@ -103,9 +99,4 @@ public final class CnSnFromNormalizedNodeSerializerFactory implements FromNormal
     public FromNormalizedNodeSerializer<Node<?>, MapEntryNode, ListSchemaNode> getMapEntryNodeSerializer() {
         return mapEntryNodeSerializer;
     }
-
-    @Override
-    public FromNormalizedNodeSerializer<Node<?>, AnyXmlNode, AnyXmlSchemaNode> getAnyXmlNodeSerializer() {
-        return anyXmlNodeSerializer;
-    }
 }
@@ -5,17 +5,20 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.composite.node.schema.cnsn.serializer;
+package org.opendaylight.yangtools.yang.data.json.schema.cnsn.serializer;
 
 import com.google.common.base.Preconditions;
+
 import java.util.Collections;
 import java.util.List;
+
+import org.opendaylight.yangtools.yang.data.api.MutableCompositeNode;
+import org.opendaylight.yangtools.yang.data.api.MutableNode;
 import org.opendaylight.yangtools.yang.data.api.Node;
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
-import org.opendaylight.yangtools.yang.data.impl.ImmutableCompositeNode;
+import org.opendaylight.yangtools.yang.data.impl.NodeFactory;
 import org.opendaylight.yangtools.yang.data.impl.schema.transform.base.serializer.ContainerNodeBaseSerializer;
 import org.opendaylight.yangtools.yang.data.impl.schema.transform.base.serializer.NodeSerializerDispatcher;
-import org.opendaylight.yangtools.yang.data.impl.util.CompositeNodeBuilder;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
 
 public class ContainerNodeCnSnSerializer extends ContainerNodeBaseSerializer<Node<?>> {
@@ -27,11 +30,19 @@ public class ContainerNodeCnSnSerializer extends ContainerNodeBaseSerializer<Nod
     }
 
     @Override
-    public List<Node<?>> serialize(final ContainerSchemaNode schema, final ContainerNode node) {
-        CompositeNodeBuilder<ImmutableCompositeNode> compNodeBuilder = ImmutableCompositeNode.builder();
-        compNodeBuilder.setQName(node.getNodeType());
-        compNodeBuilder.addAll(super.serialize(schema, node));
-        return Collections.<Node<?>> singletonList(compNodeBuilder.toInstance());        
+    public List<Node<?>> serialize(final ContainerSchemaNode schema, final ContainerNode containerNode) {
+
+        MutableCompositeNode mutCompNode = NodeFactory.createMutableCompositeNode(containerNode.getNodeType(), null,
+                null, null, null);
+
+        for (Node<?> element : super.serialize(schema, containerNode)) {
+            if (element instanceof MutableNode<?>) {
+                ((MutableNode<?>) element).setParent(mutCompNode);
+            }
+            mutCompNode.getValue().add(element);
+        }
+
+        return Collections.<Node<?>>singletonList(mutCompNode);
     }
 
     @Override
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.composite.node.schema.cnsn.serializer;
+package org.opendaylight.yangtools.yang.data.json.schema.cnsn.serializer;
 
 import org.opendaylight.yangtools.yang.data.api.Node;
 import org.opendaylight.yangtools.yang.data.api.schema.LeafNode;
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.composite.node.schema.cnsn.serializer;
+package org.opendaylight.yangtools.yang.data.json.schema.cnsn.serializer;
 
 import org.opendaylight.yangtools.yang.data.api.Node;
 import org.opendaylight.yangtools.yang.data.api.schema.LeafSetEntryNode;
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.composite.node.schema.cnsn.serializer;
+package org.opendaylight.yangtools.yang.data.json.schema.cnsn.serializer;
 
 import org.opendaylight.yangtools.yang.data.api.Node;
 import org.opendaylight.yangtools.yang.data.api.schema.LeafSetEntryNode;
@@ -5,17 +5,20 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.composite.node.schema.cnsn.serializer;
+package org.opendaylight.yangtools.yang.data.json.schema.cnsn.serializer;
 
 import com.google.common.base.Preconditions;
+
 import java.util.Collections;
 import java.util.List;
+
+import org.opendaylight.yangtools.yang.data.api.MutableCompositeNode;
+import org.opendaylight.yangtools.yang.data.api.MutableNode;
 import org.opendaylight.yangtools.yang.data.api.Node;
 import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode;
-import org.opendaylight.yangtools.yang.data.impl.ImmutableCompositeNode;
+import org.opendaylight.yangtools.yang.data.impl.NodeFactory;
 import org.opendaylight.yangtools.yang.data.impl.schema.transform.base.serializer.MapEntryNodeBaseSerializer;
 import org.opendaylight.yangtools.yang.data.impl.schema.transform.base.serializer.NodeSerializerDispatcher;
-import org.opendaylight.yangtools.yang.data.impl.util.CompositeNodeBuilder;
 import org.opendaylight.yangtools.yang.model.api.ListSchemaNode;
 
 public class MapEntryNodeCnSnSerializer extends MapEntryNodeBaseSerializer<Node<?>> {
@@ -27,11 +30,19 @@ public class MapEntryNodeCnSnSerializer extends MapEntryNodeBaseSerializer<Node<
     }
 
     @Override
-    public List<Node<?>> serialize(ListSchemaNode schema, MapEntryNode node) {
-        CompositeNodeBuilder<ImmutableCompositeNode> compNodeBuilder = ImmutableCompositeNode.builder();
-        compNodeBuilder.setQName(node.getNodeType());
-        compNodeBuilder.addAll(super.serialize(schema, node));
-        return Collections.<Node<?>> singletonList(compNodeBuilder.toInstance());        
+    public List<Node<?>> serialize(final ListSchemaNode schema, final MapEntryNode node) {
+
+        MutableCompositeNode mutCompNode = NodeFactory.createMutableCompositeNode(node.getNodeType(), null, null, null,
+                null);
+
+        for (Node<?> element : super.serialize(schema, node)) {
+            if (element instanceof MutableNode<?>) {
+                ((MutableNode<?>) element).setParent(mutCompNode);
+            }
+            mutCompNode.getValue().add(element);
+        }
+
+        return Collections.<Node<?>>singletonList(mutCompNode);
     }
 
     @Override
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.composite.node.schema.cnsn.serializer;
+package org.opendaylight.yangtools.yang.data.json.schema.cnsn.serializer;
 
 import org.opendaylight.yangtools.yang.data.api.Node;
 import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode;
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.composite.node.schema.json;
+package org.opendaylight.yangtools.yang.data.json.schema.json;
 
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.data.api.CompositeNode;
similarity index 69%
rename from yang/yang-data-composite-node/src/test/java/org/opendaylight/yangtools/yang/data/composite/node/schema/TestUtils.java
rename to yang/yang-data-json/src/test/java/org/opendaylight/yangtools/yang/data/json/schema/TestUtils.java
index d2d2a3de3ac3bf5a926dd7edd27aeac45d97da97..f6eb9a3cc540a23c0a2ebeb34d2edebf0be9b3d4 100644 (file)
@@ -5,9 +5,10 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.composite.node.schema;
+package org.opendaylight.yangtools.yang.data.json.schema;
 
 import static org.junit.Assert.assertNotNull;
+import static org.opendaylight.yangtools.yang.data.impl.NodeFactory.createMutableCompositeNode;
 import static org.opendaylight.yangtools.yang.data.impl.NodeFactory.createMutableSimpleNode;
 
 import java.io.File;
@@ -24,24 +25,24 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.QNameModule;
 import org.opendaylight.yangtools.yang.data.api.CompositeNode;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
+import org.opendaylight.yangtools.yang.data.api.MutableCompositeNode;
+import org.opendaylight.yangtools.yang.data.api.Node;
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
 import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild;
 import org.opendaylight.yangtools.yang.data.api.schema.LeafSetEntryNode;
 import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode;
 import org.opendaylight.yangtools.yang.data.api.schema.MapNode;
-import org.opendaylight.yangtools.yang.data.impl.ImmutableCompositeNode;
-import org.opendaylight.yangtools.yang.data.impl.NodeFactory;
 import org.opendaylight.yangtools.yang.data.impl.schema.Builders;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.CollectionNodeBuilder;
 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.util.CompositeNodeBuilder;
 import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.parser.api.YangModelParser;
@@ -124,61 +125,69 @@ public class TestUtils {
      * /cnsn-to-normalized-node/simple-conainer.json
      */
     public static CompositeNode prepareCompositeNodeStruct() {
-        CompositeNodeBuilder<ImmutableCompositeNode> contBuilder = ImmutableCompositeNode.builder();
-        contBuilder.setQName(QName.create(MODULE_BASE, "cont"));
+        MutableCompositeNode cont = createMutableCompositeNode(QName.create(MODULE_BASE, "cont"), null, null, null,
+                null);
 
         // cont1
-        contBuilder.add(ImmutableCompositeNode.builder().setQName(QName.create(MODULE_BASE, "cont1")).toInstance());
+        List<Node<?>> contChilds = new ArrayList<>();
+        contChilds.add(createMutableCompositeNode(QName.create(MODULE_BASE, "cont1"),
+                cont,
+                Collections.<Node<?>> emptyList(), null, null));
 
         // cont2
-        CompositeNodeBuilder<ImmutableCompositeNode> cont2 = ImmutableCompositeNode.builder().setQName(
-                QName.create(MODULE_BASE, "cont2"));
-        cont2.add(createMutableSimpleNode(QName.create(MODULE_BASE, "lf21"), null, "value in cont2/lf21", null, null));
-        contBuilder.add(cont2.toInstance());
+        MutableCompositeNode cont2 = createMutableCompositeNode(QName.create(MODULE_BASE, "cont2"), cont, null, null,
+                null);
+        List<Node<?>> cont2Childs = new ArrayList<>();
+        cont2Childs.add(createMutableSimpleNode(QName.create(MODULE_BASE, "lf21"), cont2,
+                "value in cont2/lf21", null, null));
+        cont2.setValue(cont2Childs);
+        contChilds.add(cont2);
 
         // lst1
-        contBuilder.add(ImmutableCompositeNode.builder().setQName(QName.create(MODULE_BASE, "lst1")).toInstance());
+        contChilds.add(createMutableCompositeNode(QName.create(MODULE_BASE, "lst1"), cont,
+                Collections.<Node<?>> emptyList(), null, null));
 
         // lst2
-        CompositeNodeBuilder<ImmutableCompositeNode> lst2_1Builder = ImmutableCompositeNode.builder().setQName(
-                QName.create(MODULE_BASE, "lst2"));
-        lst2_1Builder.add(createMutableSimpleNode(QName.create(MODULE_BASE, "lf21"), null, "some value21", null, null));
-        contBuilder.add(lst2_1Builder.toInstance());
-
-        CompositeNodeBuilder<ImmutableCompositeNode> lst2_2Builder = ImmutableCompositeNode.builder().setQName(
-                QName.create(MODULE_BASE, "lst2"));
-        lst2_2Builder.add(createMutableSimpleNode(QName.create(MODULE_BASE, "lf22"), null, "some value22", null, null));
-        contBuilder.add(lst2_2Builder.toInstance());
+        MutableCompositeNode lst2_1 = createMutableCompositeNode(QName.create(MODULE_BASE, "lst2"), cont, null, null,
+                null);
+        List<Node<?>> lst2_1Childs = new ArrayList<>();
+        lst2_1Childs
+        .add(createMutableSimpleNode(QName.create(MODULE_BASE, "lf21"),
+                lst2_1,
+                "some value21", null, null));
+        lst2_1.setValue(lst2_1Childs);
+        contChilds.add(lst2_1);
+
+        MutableCompositeNode lst2_2 = createMutableCompositeNode(QName.create(MODULE_BASE, "lst2"), cont, null, null,
+                null);
+        List<Node<?>> lst2_2Childs = new ArrayList<>();
+        lst2_2Childs
+        .add(createMutableSimpleNode(QName.create(MODULE_BASE, "lf22"), lst2_2, "some value22", null, null));
+        lst2_2.setValue(lst2_2Childs);
+        contChilds.add(lst2_2);
 
         // lflst1
-        contBuilder.add(createMutableSimpleNode(QName.create(MODULE_BASE, "lflst1"), null, "lflst1_1", null, null));
-        contBuilder.add(createMutableSimpleNode(QName.create(MODULE_BASE, "lflst1"), null, "lflst1_2", null, null));
+        contChilds.add(createMutableSimpleNode(QName.create(MODULE_BASE, "lflst1"), cont, "lflst1_1", null, null));
+        contChilds.add(createMutableSimpleNode(QName.create(MODULE_BASE, "lflst1"), cont, "lflst1_2", null, null));
 
         // lf1
-        contBuilder.add(createMutableSimpleNode(QName.create(MODULE_BASE, "lf1"), null, "lf1", null, null));
+        contChilds.add(createMutableSimpleNode(QName.create(MODULE_BASE, "lf1"), cont, "lf1", null, null));
 
         // lf11
-        contBuilder.add(createMutableSimpleNode(QName.create(MODULE_BASE, "lf11"), null, "value from case (cs1)", null,
+        contChilds.add(createMutableSimpleNode(QName.create(MODULE_BASE, "lf11"), cont, "value from case (cs1)", null,
                 null));
 
         // cont3
-        CompositeNodeBuilder<ImmutableCompositeNode> cont3Builder = ImmutableCompositeNode.builder().setQName(
-                QName.create(MODULE_AUGMENT, "cont3"));
-        cont3Builder.add(createMutableSimpleNode(QName.create(MODULE_AUGMENT, "lf31"), null,
+        MutableCompositeNode cont3 = createMutableCompositeNode(QName.create(MODULE_AUGMENT, "cont3"), cont, null,
+                null, null);
+        List<Node<?>> cont3Childs = new ArrayList<>();
+        cont3Childs.add(createMutableSimpleNode(QName.create(MODULE_AUGMENT, "lf31"), cont3,
                 "value in leaf in augment", null, null));
-        contBuilder.add(cont3Builder.toInstance());
-
-        // anxml-composite
-        CompositeNodeBuilder<ImmutableCompositeNode> anxmlCompositeBuilder = ImmutableCompositeNode.builder().setQName(
-                QName.create(MODULE_BASE, "anxml-composite"));
-        anxmlCompositeBuilder.add(NodeFactory.createImmutableSimpleNode(QName.create(MODULE_BASE, "anxml-cont"), null,
-                null));
-        contBuilder.add(anxmlCompositeBuilder.toInstance());
+        cont3.setValue(cont3Childs);
+        contChilds.add(cont3);
 
-        // anxml-simple
-        contBuilder.add(NodeFactory.createImmutableSimpleNode(QName.create(MODULE_BASE, "anxml-simple"), null,43));
-
-        return contBuilder.toInstance();
+        cont.setValue(contChilds);
+        return cont;
     }
 
     /**
@@ -194,7 +203,7 @@ public class TestUtils {
                 .withNodeIdentifier(getNodeIdentifier("cont2"))
                 .withChild(
                         Builders.leafBuilder().withNodeIdentifier(getNodeIdentifier("lf21"))
-                                .withValue("value in cont2/lf21").build()).build());
+                        .withValue("value in cont2/lf21").build()).build());
 
         CollectionNodeBuilder<MapEntryNode, MapNode> lst1 = Builders.mapBuilder().withNodeIdentifier(
                 getNodeIdentifier("lst1"));
@@ -240,7 +249,7 @@ public class TestUtils {
                 .withNodeIdentifier(getNodeIdentifier("chc"))
                 .withChild(
                         Builders.leafBuilder().withNodeIdentifier(getNodeIdentifier("lf11"))
-                                .withValue("value from case (cs1)").build()).build());
+                        .withValue("value from case (cs1)").build()).build());
 
         Set<QName> children = new HashSet<>();
         children.add(QName.create(MODULE_AUGMENT, "cont3"));
@@ -250,31 +259,11 @@ public class TestUtils {
                 .withNodeIdentifier(getAugmentationIdentifier(null, null, null, children))
                 .withChild(
                         Builders.containerBuilder()
-                                .withNodeIdentifier(getNodeIdentifier(MODULE_AUGMENT, "cont3"))
-                                .withChild(
-                                        Builders.leafBuilder()
-                                                .withNodeIdentifier(getNodeIdentifier(MODULE_AUGMENT, "lf31"))
-                                                .withValue("value in leaf in augment").build()).build()).build());
-
-        containerBuilder.withChild(Builders
-                .anyXmlBuilder()
-                .withNodeIdentifier(getNodeIdentifier("anxml-composite"))
-                .withValue(
-                        ImmutableCompositeNode
-                                .builder()
-                                .setQName(QName.create("simple:container:yang", "2013-11-12", "anxml-composite"))
-                                .add(NodeFactory.createImmutableSimpleNode(
-                                        QName.create("simple:container:yang", "2013-11-12", "anxml-cont"), null, null))
-                                .toInstance()).build());
-
-        containerBuilder
-                .withChild(Builders
-                        .anyXmlBuilder()
-                        .withNodeIdentifier(getNodeIdentifier("anxml-simple"))
-                        .withValue(
-                                NodeFactory.createImmutableSimpleNode(
-                                        QName.create("simple:container:yang", "2013-11-12", "anxml-simple"), null, 43))
-                        .build());
+                        .withNodeIdentifier(getNodeIdentifier(MODULE_AUGMENT, "cont3"))
+                        .withChild(
+                                Builders.leafBuilder()
+                                .withNodeIdentifier(getNodeIdentifier(MODULE_AUGMENT, "lf31"))
+                                .withValue("value in leaf in augment").build()).build()).build());
 
         ContainerNode build = containerBuilder.build();
         return build;
@@ -5,15 +5,10 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.composite.node.schema.parser;
+package org.opendaylight.yangtools.yang.data.json.schema.cnsn.parser;
 
 import static org.junit.Assert.assertEquals;
 
-import org.opendaylight.yangtools.yang.data.composite.node.schema.cnsn.parser.CnSnToNormalizedNodeParserFactory;
-
-
-import org.opendaylight.yangtools.yang.data.composite.node.schema.TestUtils;
-
 import java.net.URISyntaxException;
 import java.util.ArrayList;
 import java.util.List;
@@ -24,6 +19,7 @@ import org.junit.Test;
 import org.opendaylight.yangtools.yang.data.api.CompositeNode;
 import org.opendaylight.yangtools.yang.data.api.Node;
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
+import org.opendaylight.yangtools.yang.data.json.schema.TestUtils;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.Module;
@@ -5,16 +5,11 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.composite.node.schema.serializer;
+package org.opendaylight.yangtools.yang.data.json.schema.cnsn.serializer;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
-import org.opendaylight.yangtools.yang.data.composite.node.schema.cnsn.serializer.CnSnFromNormalizedNodeSerializerFactory;
-
-
-import org.opendaylight.yangtools.yang.data.composite.node.schema.TestUtils;
-
 import java.net.URISyntaxException;
 import java.util.Set;
 
@@ -24,6 +19,7 @@ import org.junit.Test;
 import org.opendaylight.yangtools.yang.data.api.CompositeNode;
 import org.opendaylight.yangtools.yang.data.api.Node;
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
+import org.opendaylight.yangtools.yang.data.json.schema.TestUtils;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.Module;
similarity index 82%
rename from yang/yang-data-composite-node/src/test/resources/cnsn-to-normalized-node/json/simple-container.json
rename to yang/yang-data-json/src/test/resources/cnsn-to-normalized-node/json/simple-container.json
index 37dd7c0732177aa2001469715a2f046dcf996ad9..b840efbd8f30e7881e5c1c9557952632eb8b9425 100644 (file)
         "lf1":"lf1",
         
         "lf11":"value from case (cs1)"
-        "anxml-composite": {            
-            "anxml-cont" {
-            }
-        }
-        
-        "anxml-simple":43;
     }
 }
\ No newline at end of file