From c03b8a506f20e65892ed6892fb43de1aeec02f69 Mon Sep 17 00:00:00 2001 From: Stefan Bodewig Date: Mon, 16 May 2016 12:02:03 +0200 Subject: [PATCH] make StingUtils#join do what its tests expect --- src/main/org/apache/tools/ant/util/StringUtils.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/org/apache/tools/ant/util/StringUtils.java b/src/main/org/apache/tools/ant/util/StringUtils.java index fc2fb46e9..be2fe0b0d 100644 --- a/src/main/org/apache/tools/ant/util/StringUtils.java +++ b/src/main/org/apache/tools/ant/util/StringUtils.java @@ -22,6 +22,7 @@ import java.io.StringWriter; import java.util.Arrays; import java.util.Collection; import java.util.Vector; +import java.util.stream.Collector; import java.util.stream.Collectors; import org.apache.tools.ant.BuildException; @@ -282,7 +283,10 @@ public final class StringUtils { * @return the joined string */ public static String join(Collection collection, CharSequence separator) { - return collection.stream().map( o -> String.valueOf(o) ).collect(Collectors.joining(separator)); + if (collection == null) { + return ""; + } + return collection.stream().map( o -> String.valueOf(o) ).collect(joining(separator)); } /** @@ -295,4 +299,8 @@ public final class StringUtils { public static String join(Object[] array, CharSequence separator) { return join(Arrays.asList(array), separator); } + + private static Collector joining(CharSequence separator) { + return separator == null ? Collectors.joining() : Collectors.joining(separator); + } }