Eliminate NormalizedNodePayload
[netconf.git] / restconf / restconf-nb / src / main / java / org / opendaylight / restconf / nb / rfc8040 / rests / transactions / MdsalRestconfStrategy.java
index 9c65daff0877c27ed9b91bf9e6de7917b7676c8a..01c34331724b871aac37a0a709e866095630d1bf 100644 (file)
@@ -38,14 +38,14 @@ import org.opendaylight.restconf.api.query.FieldsParam.NodeSelector;
 import org.opendaylight.restconf.common.errors.RestconfDocumentedException;
 import org.opendaylight.restconf.common.errors.RestconfFuture;
 import org.opendaylight.restconf.common.errors.SettableRestconfFuture;
-import org.opendaylight.restconf.nb.rfc8040.jersey.providers.ParameterAwareNormalizedNodeWriter;
-import org.opendaylight.restconf.nb.rfc8040.legacy.WriterParameters;
+import org.opendaylight.restconf.nb.rfc8040.jersey.providers.RestconfNormalizedNodeWriter;
 import org.opendaylight.restconf.server.api.DataGetParams;
 import org.opendaylight.restconf.server.api.DataGetResult;
 import org.opendaylight.restconf.server.api.DatabindContext;
 import org.opendaylight.restconf.server.api.DatabindPath.Data;
 import org.opendaylight.restconf.server.api.ServerRequest;
 import org.opendaylight.restconf.server.spi.HttpGetResource;
+import org.opendaylight.restconf.server.spi.NormalizedNodeWriterFactory;
 import org.opendaylight.restconf.server.spi.RpcImplementation;
 import org.opendaylight.restconf.server.spi.YangLibraryVersionResource;
 import org.opendaylight.yangtools.yang.common.Empty;
@@ -130,13 +130,14 @@ public final class MdsalRestconfStrategy extends RestconfStrategy {
 
     @Override
     RestconfFuture<DataGetResult> dataGET(final ServerRequest request, final Data path, final DataGetParams params) {
-        final var inference = path.inference();
+        final var depth = params.depth();
         final var fields = params.fields();
-        return completeDataGET(request.format(), inference,
-            fields == null ? WriterParameters.of(params.depth())
-                : new WriterParameters(params.depth(),
-                    translateFieldsParam(inference.modelContext(), path.schema(), fields)),
-            readData(params.content(), path.instance(), params.withDefaults()), null);
+        final var writerFactory = fields == null ? NormalizedNodeWriterFactory.of(depth)
+            : new MdsalNormalizedNodeWriterFactory(
+                translateFieldsParam(path.inference().modelContext(), path.schema(), fields), depth);
+
+        return completeDataGET(readData(params.content(), path.instance(), params.withDefaults()), path, writerFactory,
+            null);
     }
 
     @Override
@@ -156,7 +157,7 @@ public final class MdsalRestconfStrategy extends RestconfStrategy {
 
     /**
      * Translate a {@link FieldsParam} to a complete list of child nodes organized into levels, suitable for use with
-     * {@link ParameterAwareNormalizedNodeWriter}.
+     * {@link RestconfNormalizedNodeWriter}.
      *
      * <p>
      * Fields parser that stores set of {@link QName}s in each level. Because of this fact, from the output it is only