You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by al...@apache.org on 2016/11/07 15:17:08 UTC

[2/6] brooklyn-server git commit: more conveniences for Strings

more conveniences for Strings


Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/dc52db3f
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/dc52db3f
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/dc52db3f

Branch: refs/heads/master
Commit: dc52db3fc6030dc8e863d6c71794ac7d0bcf732b
Parents: 4d1e3f3
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Mon Nov 7 11:16:56 2016 +0000
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Mon Nov 7 11:22:59 2016 +0000

----------------------------------------------------------------------
 .../org/apache/brooklyn/util/text/Strings.java     | 17 ++++++++++++++++-
 .../org/apache/brooklyn/util/text/StringsTest.java |  8 ++++++++
 2 files changed, 24 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/dc52db3f/utils/common/src/main/java/org/apache/brooklyn/util/text/Strings.java
----------------------------------------------------------------------
diff --git a/utils/common/src/main/java/org/apache/brooklyn/util/text/Strings.java b/utils/common/src/main/java/org/apache/brooklyn/util/text/Strings.java
index b9168cc..22a4f7c 100644
--- a/utils/common/src/main/java/org/apache/brooklyn/util/text/Strings.java
+++ b/utils/common/src/main/java/org/apache/brooklyn/util/text/Strings.java
@@ -41,8 +41,10 @@ import com.google.common.base.Functions;
 import com.google.common.base.Joiner;
 import com.google.common.base.Preconditions;
 import com.google.common.base.Predicate;
+import com.google.common.base.Predicates;
 import com.google.common.base.Supplier;
 import com.google.common.base.Suppliers;
+import com.google.common.collect.Iterables;
 import com.google.common.collect.Ordering;
 
 public class Strings {
@@ -217,7 +219,19 @@ public class Strings {
 
     /** convenience for joining lines together */
     public static String lines(String ...lines) {
-        return Joiner.on("\n").join(Arrays.asList(lines));
+        if (lines==null) return null;
+        return lines(Arrays.asList(lines));
+    }
+    
+    /** convenience for joining lines together */
+    public static String lines(Iterable<String> lines) {
+        if (lines==null) return null;
+        return Joiner.on("\n").join(lines);
+    }
+
+    public static String removeLines(String multiline, Predicate<CharSequence> patternToRemove) {
+        if (multiline==null) return null;
+        return lines(Iterables.filter(Arrays.asList(multiline.split("\n")), Predicates.not(patternToRemove)));
     }
 
     /** NON-REGEX - replaces all key->value entries from the replacement map in source (non-regex) */
@@ -948,4 +962,5 @@ public class Strings {
         }
         return result;
     }
+
 }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/dc52db3f/utils/common/src/test/java/org/apache/brooklyn/util/text/StringsTest.java
----------------------------------------------------------------------
diff --git a/utils/common/src/test/java/org/apache/brooklyn/util/text/StringsTest.java b/utils/common/src/test/java/org/apache/brooklyn/util/text/StringsTest.java
index c3f6d92..3ca7663 100644
--- a/utils/common/src/test/java/org/apache/brooklyn/util/text/StringsTest.java
+++ b/utils/common/src/test/java/org/apache/brooklyn/util/text/StringsTest.java
@@ -343,6 +343,14 @@ public class StringsTest extends FixedLocaleTest {
         Assert.assertEquals(Strings.maxlenWithEllipsis("hello world", 9), "hello ...");
         Assert.assertEquals(Strings.maxlenWithEllipsis("hello world", 7, "--"), "hello--");
     }
+    
+    public void testLines() {
+        Assert.assertEquals(Strings.lines("a", "b"), "a\nb");
+    }
+    
+    public void testRemoveLines() {
+        Assert.assertEquals(Strings.removeLines(Strings.lines("a", "b"), StringPredicates.containsLiteralIgnoreCase("A")), "b");
+    }
 
     @Test
     public void testGetRemainderOfLineAfter() {