Rename Any{Data,Xml}SchemaNode to Any{data,xml}SchemaNode
[yangtools.git] / yang / yang-data-codec-xml / src / test / java / org / opendaylight / yangtools / yang / data / codec / xml / AnydataSerializeTest.java
index cd20873fa4d87e8fd130d516188ade6a939c9ad9..b3acfb8605d5c117fe13d32e72c908acb4425f54 100644 (file)
@@ -33,6 +33,7 @@ import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
 import org.opendaylight.yangtools.util.xml.UntrustedXML;
 import org.opendaylight.yangtools.yang.data.api.schema.AnydataNode;
+import org.opendaylight.yangtools.yang.data.api.schema.NormalizedAnydata;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter;
 import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter;
@@ -40,8 +41,8 @@ import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNormalizedNodeS
 import org.opendaylight.yangtools.yang.data.impl.schema.NormalizedNodeResult;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableAnydataNodeBuilder;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableContainerNodeBuilder;
-import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableLeafNodeBuilder;
-import org.opendaylight.yangtools.yang.model.api.AnyDataSchemaNode;
+import org.opendaylight.yangtools.yang.data.util.ImmutableNormalizedAnydata;
+import org.opendaylight.yangtools.yang.model.api.AnydataSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.SchemaNode;
 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
 import org.opendaylight.yangtools.yang.model.util.SchemaContextUtil;
@@ -63,7 +64,7 @@ public class AnydataSerializeTest extends AbstractAnydataTest {
     }
 
     @Test
-    public void testDOMAnydata() throws XMLStreamException, IOException, SAXException {
+    public void testDOMAnydata() throws XMLStreamException, IOException {
         final StringWriter writer = new StringWriter();
         final XMLStreamWriter xmlStreamWriter = factory.createXMLStreamWriter(writer);
 
@@ -86,8 +87,8 @@ public class AnydataSerializeTest extends AbstractAnydataTest {
         //Create Data Scheme from yang file
         SchemaPath anydataPath = SchemaPath.create(true, FOO_QNAME);
         final SchemaNode dataSchemaNode = SchemaContextUtil.findDataSchemaNode(SCHEMA_CONTEXT, anydataPath);
-        assertTrue(dataSchemaNode instanceof AnyDataSchemaNode);
-        final AnyDataSchemaNode anyDataSchemaNode = (AnyDataSchemaNode) dataSchemaNode;
+        assertTrue(dataSchemaNode instanceof AnydataSchemaNode);
+        final AnydataSchemaNode anyDataSchemaNode = (AnydataSchemaNode) dataSchemaNode;
 
         // deserialization
         final XMLStreamReader reader
@@ -136,7 +137,7 @@ public class AnydataSerializeTest extends AbstractAnydataTest {
         //Load XML from file and write it with xmlParseStream
         final DOMResult domResult = new DOMResult(UntrustedXML.newDocumentBuilder().newDocument());
         final XMLStreamWriter xmlStreamWriter = factory.createXMLStreamWriter(domResult);
-        final AnyDataSchemaNode anyDataSchemaNode = (AnyDataSchemaNode) SchemaContextUtil.findDataSchemaNode(
+        final AnydataSchemaNode anyDataSchemaNode = (AnydataSchemaNode) SchemaContextUtil.findDataSchemaNode(
                 SCHEMA_CONTEXT, SchemaPath.create(true, FOO_QNAME));
         final NormalizedNodeStreamWriter streamWriter = XMLStreamNormalizedNodeStreamWriter.create(
                 xmlStreamWriter, SCHEMA_CONTEXT);
@@ -168,7 +169,7 @@ public class AnydataSerializeTest extends AbstractAnydataTest {
         final DOMSource domSource = new DOMSource(doc.getDocumentElement());
 
         //Get specific attribute from Yang file.
-        final AnyDataSchemaNode contWithAttr = (AnyDataSchemaNode) SchemaContextUtil.findDataSchemaNode(
+        final AnydataSchemaNode contWithAttr = (AnydataSchemaNode) SchemaContextUtil.findDataSchemaNode(
                 SCHEMA_CONTEXT, SchemaPath.create(true, FOO_QNAME));
 
         //Create NormalizedNodeResult
@@ -200,7 +201,7 @@ public class AnydataSerializeTest extends AbstractAnydataTest {
     }
 
     @Test
-    public void testSiblingSerialize() throws IOException, SAXException, XMLStreamException {
+    public void testSiblingSerialize() throws IOException, XMLStreamException {
         final StringWriter writer = new StringWriter();
         final XMLStreamWriter xmlStreamWriter = factory.createXMLStreamWriter(writer);
 
@@ -211,7 +212,7 @@ public class AnydataSerializeTest extends AbstractAnydataTest {
         normalizedNodeWriter.write(ImmutableContainerNodeBuilder.create().withNodeIdentifier(CONT_NODEID)
             .withChild(ImmutableAnydataNodeBuilder.create(DOMSourceAnydata.class).withNodeIdentifier(CONT_ANY_NODEID)
                 .withValue(toDOMSource("<bar xmlns=\"test-anydata\"/>")).build())
-            .withChild(ImmutableLeafNodeBuilder.create().withNodeIdentifier(CONT_LEAF_NODEID).withValue("abc").build())
+            .withChild(CONT_LEAF)
             .build());
         normalizedNodeWriter.flush();
 
@@ -219,4 +220,25 @@ public class AnydataSerializeTest extends AbstractAnydataTest {
         assertEquals("<cont xmlns=\"test-anydata\"><cont-any><bar xmlns=\"test-anydata\"></bar></cont-any>"
                 + "<cont-leaf>abc</cont-leaf></cont>", serializedXml);
     }
+
+    @Test
+    public void testNormalizedSerialize() throws IOException, XMLStreamException {
+        final StringWriter writer = new StringWriter();
+        final XMLStreamWriter xmlStreamWriter = factory.createXMLStreamWriter(writer);
+
+        final NormalizedNodeStreamWriter xmlNormalizedNodeStreamWriter = XMLStreamNormalizedNodeStreamWriter.create(
+            xmlStreamWriter, SCHEMA_CONTEXT);
+        final NormalizedNodeWriter normalizedNodeWriter = NormalizedNodeWriter.forStreamWriter(
+            xmlNormalizedNodeStreamWriter);
+        normalizedNodeWriter.write(ImmutableContainerNodeBuilder.create().withNodeIdentifier(CONT_NODEID)
+            .withChild(ImmutableAnydataNodeBuilder.create(NormalizedAnydata.class).withNodeIdentifier(CONT_ANY_NODEID)
+                .withValue(new ImmutableNormalizedAnydata(SCHEMA_CONTEXT,
+                    SCHEMA_CONTEXT.findDataChildByName(CONT_QNAME).get(), ImmutableContainerNodeBuilder.create()
+                    .withNodeIdentifier(CONT_NODEID).build())).build())
+            .build());
+        normalizedNodeWriter.flush();
+
+        final String serializedXml = writer.toString();
+        assertEquals("<cont xmlns=\"test-anydata\"><cont-any><cont/></cont-any></cont>", serializedXml);
+    }
 }