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
