public abstract class AbstractAnydataTest {
static final QName FOO_QNAME = QName.create("test-anydata", "foo");
+ static final QName CONT_QNAME = QName.create(FOO_QNAME, "cont");
+ static final QName CONT_ANY_QNAME = QName.create(FOO_QNAME, "cont-any");
+ static final QName CONT_LEAF_QNAME = QName.create(FOO_QNAME, "cont-leaf");
+
static final NodeIdentifier FOO_NODEID = NodeIdentifier.create(FOO_QNAME);
+ static final NodeIdentifier CONT_NODEID = NodeIdentifier.create(CONT_QNAME);
+ static final NodeIdentifier CONT_ANY_NODEID = NodeIdentifier.create(CONT_ANY_QNAME);
+ static final NodeIdentifier CONT_LEAF_NODEID = NodeIdentifier.create(CONT_LEAF_QNAME);
static SchemaContext SCHEMA_CONTEXT;
return new ByteArrayInputStream(str.getBytes(StandardCharsets.UTF_8));
}
- private static Document readXmlToDocument(final InputStream xmlContent) throws IOException, SAXException {
+ static Document readXmlToDocument(final InputStream xmlContent) throws IOException, SAXException {
final Document doc = UntrustedXML.newDocumentBuilder().parse(xmlContent);
doc.getDocumentElement().normalize();
return doc;
import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNormalizedNodeStreamWriter;
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.model.api.SchemaNode;
import org.opendaylight.yangtools.yang.model.api.SchemaPath;
XMLAssert.assertXMLEqual(diff, true);
}
+
+ @Test
+ public void testSiblingSerialize() throws IOException, SAXException, 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(DOMSourceAnydata.class).withNodeIdentifier(CONT_ANY_NODEID)
+ .withValue(toDOMSource("<bar xmlns=\"test-anydata\"/>")).build())
+ .withChild(ImmutableLeafNodeBuilder.create().withNodeIdentifier(CONT_LEAF_NODEID).withValue("abc").build())
+ .build());
+ normalizedNodeWriter.flush();
+
+ final String serializedXml = writer.toString();
+ assertEquals("<cont xmlns=\"test-anydata\"><cont-any><bar xmlns=\"test-anydata\"></bar></cont-any>"
+ + "<cont-leaf>abc</cont-leaf></cont>", serializedXml);
+ }
}