Allow path to be null 77/103277/1
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 10 Nov 2022 16:27:52 +0000 (17:27 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 16 Nov 2022 18:59:47 +0000 (19:59 +0100)
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>
(cherry picked from commit 4ecf78a50f2e638ffd182aca0efb2dcfbf2140dd)

codec/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XMLStreamNormalizedNodeStreamWriter.java

index 26ac2fe655dde86b19f20d377d271759c47c49fa..0d59932571cf2b4cffb2e067445b55ea633a0f97 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;
@@ -114,9 +115,10 @@ public abstract class XMLStreamNormalizedNodeStreamWriter<T> implements Normaliz
      * @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));
     }
 
     /**