Allow path to be null 96/103196/2
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 10 Nov 2022 16:27:52 +0000 (17:27 +0100)
committerRobert Varga <nite@hq.sk>
Fri, 11 Nov 2022 16:58:21 +0000 (16:58 +0000)
Downstreams need to perform dispatch to use either create() without
the path -- which is a bit hostile for utilities. Allow path to be
optional, improving usability a bit.

Change-Id: I46e4c4b5d2aa9218df6cb729f7a68cbd503cc4c5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
codec/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XMLStreamNormalizedNodeStreamWriter.java

index 5ea4dd9bc15a380b0930a4b258efe47c96a1c0e8..79f28cf0a4e2fa30a4e08e43950dbd426ce9e0db 100644 (file)
@@ -20,6 +20,7 @@ import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamWriter;
 import javax.xml.transform.dom.DOMSource;
 import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.yangtools.rfc7952.data.api.StreamWriterMetadataExtension;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.YangConstants;
@@ -98,9 +99,10 @@ public abstract sealed class XMLStreamNormalizedNodeStreamWriter<T>
      * @return A new {@link NormalizedNodeStreamWriter}
      */
     public static @NonNull NormalizedNodeStreamWriter create(final XMLStreamWriter writer,
-            final EffectiveModelContext context, final Absolute path) {
-        return new SchemaAwareXMLStreamNormalizedNodeStreamWriter(writer, context,
-            NormalizedNodeStreamWriterStack.of(context, path));
+            final EffectiveModelContext context, final @Nullable Absolute path) {
+        return path == null ? create(writer, context)
+            : new SchemaAwareXMLStreamNormalizedNodeStreamWriter(writer, context,
+                NormalizedNodeStreamWriterStack.of(context));
     }
 
     /**