ant-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From j..@apache.org
Subject [1/2] ant git commit: StringUtils.join: new method
Date Fri, 29 Apr 2016 09:52:12 GMT
Repository: ant
Updated Branches:
  refs/heads/master d96c85ba4 -> a80c75af5


StringUtils.join: new method


Project: http://git-wip-us.apache.org/repos/asf/ant/repo
Commit: http://git-wip-us.apache.org/repos/asf/ant/commit/75f12374
Tree: http://git-wip-us.apache.org/repos/asf/ant/tree/75f12374
Diff: http://git-wip-us.apache.org/repos/asf/ant/diff/75f12374

Branch: refs/heads/master
Commit: 75f12374003b6e140fa7d15769a0dc8e211b57cd
Parents: d96c85b
Author: Jan Matèrne <jhm@apache.org>
Authored: Fri Apr 29 11:49:30 2016 +0200
Committer: Jan Matèrne <jhm@apache.org>
Committed: Fri Apr 29 11:49:30 2016 +0200

----------------------------------------------------------------------
 .../org/apache/tools/ant/util/StringUtils.java  | 25 ++++++++++++
 .../apache/tools/ant/util/StringUtilsTest.java  | 40 ++++++++++++++++----
 2 files changed, 57 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ant/blob/75f12374/src/main/org/apache/tools/ant/util/StringUtils.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/util/StringUtils.java b/src/main/org/apache/tools/ant/util/StringUtils.java
index 626fb22..fc2fb46 100644
--- a/src/main/org/apache/tools/ant/util/StringUtils.java
+++ b/src/main/org/apache/tools/ant/util/StringUtils.java
@@ -19,7 +19,10 @@ package org.apache.tools.ant.util;
 
 import java.io.PrintWriter;
 import java.io.StringWriter;
+import java.util.Arrays;
+import java.util.Collection;
 import java.util.Vector;
+import java.util.stream.Collectors;
 
 import org.apache.tools.ant.BuildException;
 
@@ -270,4 +273,26 @@ public final class StringUtils {
             return string;
         }
     }
+    
+    /**
+     * Joins the string representation of the elements of a collection to 
+     * a joined string with a given separator.
+     * @param collection Collection of the data to be joined (may be null)
+     * @param separator Separator between elements (may be null)
+     * @return the joined string
+     */
+    public static String join(Collection<?> collection, CharSequence separator) {
+    	return collection.stream().map( o -> String.valueOf(o) ).collect(Collectors.joining(separator));
+    }
+
+    /**
+     * Joins the string representation of the elements of an array to 
+     * a joined string with a given separator.
+     * @param array Array of the data to be joined (may be null)
+     * @param separator Separator between elements (may be null)
+     * @return the joined string
+     */
+    public static String join(Object[] array, CharSequence separator) {
+    	return join(Arrays.asList(array), separator);
+    }
 }

http://git-wip-us.apache.org/repos/asf/ant/blob/75f12374/src/tests/junit/org/apache/tools/ant/util/StringUtilsTest.java
----------------------------------------------------------------------
diff --git a/src/tests/junit/org/apache/tools/ant/util/StringUtilsTest.java b/src/tests/junit/org/apache/tools/ant/util/StringUtilsTest.java
index 4dc43ee..81ea3c6 100644
--- a/src/tests/junit/org/apache/tools/ant/util/StringUtilsTest.java
+++ b/src/tests/junit/org/apache/tools/ant/util/StringUtilsTest.java
@@ -17,14 +17,16 @@
  */
 package org.apache.tools.ant.util;
 
-import java.util.Vector;
-
-import org.junit.Test;
-
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Vector;
+
+import org.junit.Test;
+
 /**
  * Test for StringUtils
  */
@@ -33,7 +35,7 @@ public class StringUtilsTest {
     @Test
     public void testSplit(){
         final String data = "a,b,,";
-        Vector res = StringUtils.split(data, ',');
+        Vector<String> res = StringUtils.split(data, ',');
         assertEquals(4, res.size());
         assertEquals("a", res.elementAt(0));
         assertEquals("b", res.elementAt(1));
@@ -44,7 +46,7 @@ public class StringUtilsTest {
     @Test
     public void testSplitLines(){
         final String data = "a\r\nb\nc\nd\ne";
-        Vector res = StringUtils.lineSplit(data);
+        Vector<String> res = StringUtils.lineSplit(data);
         assertEquals(5, res.size());
         assertEquals("a\r", res.elementAt(0));
         assertEquals("b", res.elementAt(1));
@@ -53,7 +55,8 @@ public class StringUtilsTest {
         assertEquals("e", res.elementAt(4));
     }
 
-    @Test
+    @SuppressWarnings("deprecation")
+	@Test
     public void testReplace() {
         final String data = "abcabcabca";
         String res = StringUtils.replace(data, "a", "");
@@ -166,5 +169,26 @@ public class StringUtilsTest {
             prefix + name + suffix, 
             StringUtils.removePrefix(input, "bla")
         );
-    }    
+    }
+    
+    @Test
+    public void testJoin() {
+    	assertEquals("a, b, c", StringUtils.join(Arrays.asList("a", "b", "c"), ", "));
+    }
+    
+    @Test
+    public void testJoinEmptyArray() {
+    	assertEquals("", StringUtils.join(new String[]{}, ", "));
+    }
+    
+    @Test
+    public void testJoinNullArray() {
+    	assertEquals("", StringUtils.join((Collection<String>)null, ", "));
+    }
+
+    @Test
+    public void testJoinNullSeparator() {
+    	assertEquals("abc", StringUtils.join(Arrays.asList("a", "b", "c"), null));
+    }
+    
 }


Mime
View raw message