This is an automated email from the ASF dual-hosted git repository.

elharo pushed a commit to branch fix/xpp3dom-value-null
in repository https://gitbox.apache.org/repos/asf/maven-shared-utils.git

commit 85a7b558e19815c0ecfd561064c3b349be25a62d
Author: Elliotte Rusty Harold <[email protected]>
AuthorDate: Wed Jul 1 08:47:14 2026 -0400

    Xpp3Dom.getValue(): honor @NonNull contract, Xpp3DomWriter: use isValueSet()
---
 src/main/java/org/apache/maven/shared/utils/xml/Xpp3Dom.java        | 6 +++++-
 src/main/java/org/apache/maven/shared/utils/xml/Xpp3DomWriter.java  | 4 ++--
 .../java/org/apache/maven/shared/utils/xml/pull/Xpp3DomTest.java    | 2 +-
 3 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/main/java/org/apache/maven/shared/utils/xml/Xpp3Dom.java 
b/src/main/java/org/apache/maven/shared/utils/xml/Xpp3Dom.java
index e76c6b9..e534aa2 100644
--- a/src/main/java/org/apache/maven/shared/utils/xml/Xpp3Dom.java
+++ b/src/main/java/org/apache/maven/shared/utils/xml/Xpp3Dom.java
@@ -95,6 +95,10 @@ public class Xpp3Dom implements Iterable<Xpp3Dom> {
         childMap = new HashMap<>();
     }
 
+    boolean isValueSet() {
+        return value != null;
+    }
+
     /**
      * Create instance.
      *
@@ -140,7 +144,7 @@ public class Xpp3Dom implements Iterable<Xpp3Dom> {
      */
     @NonNull
     public String getValue() {
-        return value;
+        return value != null ? value : "";
     }
 
     /**
diff --git a/src/main/java/org/apache/maven/shared/utils/xml/Xpp3DomWriter.java 
b/src/main/java/org/apache/maven/shared/utils/xml/Xpp3DomWriter.java
index 900f03f..f80d5bb 100644
--- a/src/main/java/org/apache/maven/shared/utils/xml/Xpp3DomWriter.java
+++ b/src/main/java/org/apache/maven/shared/utils/xml/Xpp3DomWriter.java
@@ -72,8 +72,8 @@ public class Xpp3DomWriter {
             write(xmlWriter, aChildren, escape);
         }
 
-        String value = dom.getValue();
-        if (value != null) {
+        if (dom.isValueSet()) {
+            String value = dom.getValue();
             if (escape) {
                 xmlWriter.writeText(value);
             } else {
diff --git 
a/src/test/java/org/apache/maven/shared/utils/xml/pull/Xpp3DomTest.java 
b/src/test/java/org/apache/maven/shared/utils/xml/pull/Xpp3DomTest.java
index a0a6b56..6e34326 100644
--- a/src/test/java/org/apache/maven/shared/utils/xml/pull/Xpp3DomTest.java
+++ b/src/test/java/org/apache/maven/shared/utils/xml/pull/Xpp3DomTest.java
@@ -90,7 +90,7 @@ public class Xpp3DomTest {
         Xpp3Dom result = mergeXpp3Dom(t1, t2);
 
         assertEquals(2, result.getAttributeNames().length);
-        assertNull(result.getValue());
+        assertEquals("", result.getValue());
     }
 
     @Test

Reply via email to