import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter;
import org.opendaylight.yangtools.yang.data.util.NormalizedAnydata;
-import org.opendaylight.yangtools.yang.model.api.DataNodeContainer;
-import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.data.util.SingleChildDataNodeContainer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
}
void emitNormalizedAnydata(final NormalizedAnydata anydata) throws XMLStreamException {
- // TODO: this is rather ugly
- final DataSchemaNode root = anydata.getContextTree().getRoot().getDataSchemaNode();
- if (!(root instanceof SchemaContext)) {
- throw new XMLStreamException("Unexpected root context " + root);
- }
-
- final DataSchemaNode node = anydata.getContextNode().getDataSchemaNode();
- if (!(node instanceof DataNodeContainer)) {
- throw new XMLStreamException("Unexpected node context " + node);
- }
-
try {
- NormalizedNodeWriter.forStreamWriter(XMLStreamNormalizedNodeStreamWriter.create(writer,
- (SchemaContext) root, (DataNodeContainer) node), false).write(anydata.getData()).flush();
+ anydata.writeTo(XMLStreamNormalizedNodeStreamWriter.create(writer, anydata.getSchemaContext(),
+ new SingleChildDataNodeContainer(anydata.getContextNode())));
} catch (IOException e) {
throw new XMLStreamException("Failed to emit anydata " + anydata, e);
}