import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
import org.opendaylight.restconf.api.MediaTypes;
-import org.opendaylight.restconf.nb.rfc8040.jersey.providers.api.RestconfNormalizedNodeWriter;
-import org.opendaylight.restconf.nb.rfc8040.legacy.QueryParameters;
-import org.opendaylight.restconf.server.api.FormattableBody;
+import org.opendaylight.restconf.api.query.PrettyPrintParam;
+import org.opendaylight.restconf.nb.rfc8040.legacy.WriterParameters;
+import org.opendaylight.restconf.server.spi.FormattableBodySupport;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
@Produces({ MediaTypes.APPLICATION_YANG_DATA_XML, MediaType.APPLICATION_XML, MediaType.TEXT_XML })
public final class XmlNormalizedNodeBodyWriter extends AbstractNormalizedNodeBodyWriter {
@Override
- void writeData(final SchemaInferenceStack stack, final QueryParameters writerParameters, final NormalizedNode data,
- final OutputStream entityStream) throws IOException {
+ void writeData(final SchemaInferenceStack stack, final NormalizedNode data, final WriterParameters writerParameters,
+ final PrettyPrintParam prettyPrint, final OutputStream out) throws IOException {
final boolean isRoot;
if (!stack.isEmpty()) {
stack.exit();
isRoot = true;
}
- final var xmlWriter = FormattableBody.createXmlWriter(entityStream, writerParameters);
+ final var xmlWriter = FormattableBodySupport.createXmlWriter(out, prettyPrint);
final var nnWriter = createNormalizedNodeWriter(xmlWriter, stack.toInference(), writerParameters);
if (data instanceof MapEntryNode mapEntry) {
// Restconf allows returning one list item. We need to wrap it
}
private static RestconfNormalizedNodeWriter createNormalizedNodeWriter(final XMLStreamWriter xmlWriter,
- final Inference inference, final QueryParameters writerParameters) {
- return ParameterAwareNormalizedNodeWriter.forStreamWriter(
+ final Inference inference, final WriterParameters writerParameters) {
+ return RestconfNormalizedNodeWriter.forStreamWriter(
XMLStreamNormalizedNodeStreamWriter.create(xmlWriter, inference),
writerParameters.depth(), writerParameters.fields());
}