import org.opendaylight.netconf.sal.rest.api.RestconfService;
import org.opendaylight.netconf.util.NetconfUtil;
import org.opendaylight.restconf.common.context.InstanceIdentifierContext;
-import org.opendaylight.restconf.common.context.NormalizedNodeContext;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
import org.opendaylight.yangtools.yang.data.api.schema.DOMSourceAnyxmlNode;
*/
@Deprecated
@Provider
-@Produces({ Draft02.MediaTypes.API + RestconfService.XML, Draft02.MediaTypes.DATA + RestconfService.XML,
- Draft02.MediaTypes.OPERATION + RestconfService.XML, MediaType.APPLICATION_XML, MediaType.TEXT_XML })
+@Produces({
+ Draft02.MediaTypes.API + RestconfService.XML,
+ Draft02.MediaTypes.DATA + RestconfService.XML,
+ Draft02.MediaTypes.OPERATION + RestconfService.XML,
+ MediaType.APPLICATION_XML,
+ MediaType.TEXT_XML
+})
public class NormalizedNodeXmlBodyWriter implements MessageBodyWriter<NormalizedNodeContext> {
private static final XMLOutputFactory XML_FACTORY;
for (final Entry<String, Object> entry : context.getNewHeaders().entrySet()) {
httpHeaders.add(entry.getKey(), entry.getValue());
}
- final InstanceIdentifierContext<?> pathContext = context.getInstanceIdentifierContext();
+ final InstanceIdentifierContext pathContext = context.getInstanceIdentifierContext();
if (context.getData() == null) {
return;
}
} catch (final XMLStreamException | FactoryConfigurationError e) {
throw new IllegalStateException(e);
}
- final NormalizedNode<?, ?> data = context.getData();
+ final NormalizedNode data = context.getData();
final SchemaPath schemaPath = pathContext.getSchemaNode().getPath();
writeNormalizedNode(xmlWriter, schemaPath, pathContext, data, context.getWriterParameters().getDepth());
}
private static void writeNormalizedNode(final XMLStreamWriter xmlWriter, final SchemaPath schemaPath,
- final InstanceIdentifierContext<?> pathContext, NormalizedNode<?, ?> data, final @Nullable Integer depth)
+ final InstanceIdentifierContext pathContext, NormalizedNode data, final @Nullable Integer depth)
throws IOException {
final RestconfNormalizedNodeWriter nnWriter;
final EffectiveModelContext schemaCtx = pathContext.getSchemaContext();
try {
writeElements(xmlWriter, nnWriter,
(ContainerNode) NetconfUtil.transformDOMSourceToNormalizedNode(schemaCtx,
- ((DOMSourceAnyxmlNode)data).getValue()).getResult());
+ ((DOMSourceAnyxmlNode)data).body()).getResult());
} catch (XMLStreamException | URISyntaxException | SAXException e) {
throw new IOException("Cannot write anyxml", e);
}
if (data instanceof MapEntryNode) {
// Restconf allows returning one list item. We need to wrap it
// in map node in order to serialize it properly
- data = ImmutableNodes.mapNodeBuilder(data.getNodeType()).addChild((MapEntryNode) data).build();
+ data = ImmutableNodes.mapNodeBuilder(data.getIdentifier().getNodeType())
+ .addChild((MapEntryNode) data)
+ .build();
}
nnWriter.write(data);
}
private static void writeElements(final XMLStreamWriter xmlWriter, final RestconfNormalizedNodeWriter nnWriter,
final ContainerNode data) throws IOException {
- final QName name = data.getNodeType();
+ final QName name = data.getIdentifier().getNodeType();
try {
xmlWriter.writeStartElement(XMLConstants.DEFAULT_NS_PREFIX, name.getLocalName(),
name.getNamespace().toString());
xmlWriter.writeDefaultNamespace(name.getNamespace().toString());
- for (final NormalizedNode<?,?> child : data.getValue()) {
+ for (final NormalizedNode child : data.body()) {
nnWriter.write(child);
}
nnWriter.flush();