Repository: logging-log4j2 Updated Branches: refs/heads/release-2.x 7a3c47740 -> 8201adf93
[LOG4J2-2270] Strings::join, when called with [null] returns "null" instead of EMPTY. I implemented a different fix than the one proposed in the PR. Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/8201adf9 Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/8201adf9 Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/8201adf9 Branch: refs/heads/release-2.x Commit: 8201adf9336e8b677356b27a9e748c74f4fcd8fd Parents: 7a3c477 Author: Gary Gregory <[email protected]> Authored: Sun Feb 25 11:07:52 2018 -0700 Committer: Gary Gregory <[email protected]> Committed: Sun Feb 25 11:07:52 2018 -0700 ---------------------------------------------------------------------- .../org/apache/logging/log4j/util/Strings.java | 2 +- .../apache/logging/log4j/util/StringsTest.java | 19 +++++++++++++++++++ src/changes/changes.xml | 3 +++ 3 files changed, 23 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/8201adf9/log4j-api/src/main/java/org/apache/logging/log4j/util/Strings.java ---------------------------------------------------------------------- diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/util/Strings.java b/log4j-api/src/main/java/org/apache/logging/log4j/util/Strings.java index f6608d6..c369a4e 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/util/Strings.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/util/Strings.java @@ -216,7 +216,7 @@ public final class Strings { } final Object first = iterator.next(); if (!iterator.hasNext()) { - return Objects.toString(first); + return Objects.toString(first, EMPTY); } // two or more elements http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/8201adf9/log4j-api/src/test/java/org/apache/logging/log4j/util/StringsTest.java ---------------------------------------------------------------------- diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/util/StringsTest.java b/log4j-api/src/test/java/org/apache/logging/log4j/util/StringsTest.java index d516739..fc928bc 100644 --- a/log4j-api/src/test/java/org/apache/logging/log4j/util/StringsTest.java +++ b/log4j-api/src/test/java/org/apache/logging/log4j/util/StringsTest.java @@ -17,6 +17,9 @@ package org.apache.logging.log4j.util; +import java.util.Arrays; +import java.util.Iterator; + import org.junit.Assert; import org.junit.Test; @@ -32,6 +35,22 @@ public class StringsTest { } @Test + public void testJoin() { + Assert.assertEquals(null, Strings.join((Iterable<?>) null, '.')); + Assert.assertEquals(null, Strings.join((Iterator<?>) null, '.')); + Assert.assertEquals("", Strings.join((Arrays.asList()), '.')); + + Assert.assertEquals("a", Strings.join(Arrays.asList("a"), '.')); + Assert.assertEquals("a.b", Strings.join(Arrays.asList("a", "b"), '.')); + Assert.assertEquals("a.b.c", Strings.join(Arrays.asList("a", "b", "c"), '.')); + + Assert.assertEquals("", Strings.join(Arrays.asList((String) null), ':')); + Assert.assertEquals(":", Strings.join(Arrays.asList(null, null), ':')); + Assert.assertEquals("a:", Strings.join(Arrays.asList("a", null), ':')); + Assert.assertEquals(":b", Strings.join(Arrays.asList(null, "b"), ':')); + } + + @Test public void testQuote() { Assert.assertEquals("'Q'", Strings.quote("Q")); } http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/8201adf9/src/changes/changes.xml ---------------------------------------------------------------------- diff --git a/src/changes/changes.xml b/src/changes/changes.xml index 6241d26..fbefbe5 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -192,6 +192,9 @@ <action issue="LOG4J2-2264" dev="ggregory" type="update"> Update JAnsi from 1.16 to 1.17. </action> + <action issue="LOG4J2-2270" dev="ggregory" type="fix" due-to="Cyril Martin"> + Strings::join, when called with [null] returns "null" instead of EMPTY. + </action> </release> <release version="2.10.0" date="2017-11-18" description="GA Release 2.10.0"> <action issue="LOG4J2-2120" dev="mikes" type="add" due-to="Carter Douglas Kozak">
