Refactor StreamWriterWithDisabledValidation
[netconf.git] / restconf / restconf-nb / src / main / java / org / opendaylight / restconf / nb / rfc8040 / jersey / providers / errors / JsonStreamWriterWithDisabledValidation.java
index d84415d11b1e2f47599cc3b75726923a58c36f51..982ff3abc9d052eea5b1296f866bef2200041ca8 100644 (file)
@@ -11,10 +11,9 @@ import com.google.gson.stream.JsonWriter;
 import java.io.IOException;
 import java.io.OutputStreamWriter;
 import org.opendaylight.restconf.nb.rfc8040.handlers.SchemaContextHandler;
-import org.opendaylight.yangtools.yang.common.QName;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.restconf.rev170126.Errors;
 import org.opendaylight.yangtools.yang.common.XMLNamespace;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
-import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter;
 import org.opendaylight.yangtools.yang.data.codec.gson.JSONCodecFactorySupplier;
 import org.opendaylight.yangtools.yang.data.codec.gson.JSONNormalizedNodeStreamWriter;
@@ -24,8 +23,8 @@ import org.opendaylight.yangtools.yang.data.codec.gson.JsonWriterFactory;
  * JSON stream-writer with disabled leaf-type validation for specified QName.
  */
 final class JsonStreamWriterWithDisabledValidation extends StreamWriterWithDisabledValidation {
-
     private static final int DEFAULT_INDENT_SPACES_NUM = 2;
+    private static final XMLNamespace IETF_RESTCONF_URI = Errors.QNAME.getModule().getNamespace();
 
     private final JsonWriter jsonWriter;
     private final NormalizedNodeStreamWriter jsonNodeStreamWriter;
@@ -33,21 +32,16 @@ final class JsonStreamWriterWithDisabledValidation extends StreamWriterWithDisab
     /**
      * Creation of the custom JSON stream-writer.
      *
-     * @param excludedQName        QName of the element that is excluded from type-check.
-     * @param outputWriter         Output stream that is used for creation of JSON writers.
-     * @param schemaPath           Schema-path of the {@link NormalizedNode} to be written.
-     * @param initialNs            Initial namespace derived from schema node of the data that are serialized.
      * @param schemaContextHandler Handler that holds actual schema context.
+     * @param outputWriter         Output stream that is used for creation of JSON writers.
      */
-    JsonStreamWriterWithDisabledValidation(final QName excludedQName, final OutputStreamWriter outputWriter,
-            final XMLNamespace initialNs, final SchemaContextHandler schemaContextHandler) {
-        super(excludedQName);
+    JsonStreamWriterWithDisabledValidation(final SchemaContextHandler schemaContextHandler,
+            final OutputStreamWriter outputWriter) {
         jsonWriter = JsonWriterFactory.createJsonWriter(outputWriter, DEFAULT_INDENT_SPACES_NUM);
-
         final var inference = errorsContainerInference(schemaContextHandler);
         jsonNodeStreamWriter = JSONNormalizedNodeStreamWriter.createExclusiveWriter(
             JSONCodecFactorySupplier.RFC7951.getShared(inference.getEffectiveModelContext()),
-            inference, initialNs, jsonWriter);
+            inference, IETF_RESTCONF_URI, jsonWriter);
     }
 
     @Override