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">

Reply via email to