You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by sj...@apache.org on 2016/02/16 18:40:54 UTC

[04/11] brooklyn-server git commit: Adds MutableList.builder.retainAll(...)

Adds MutableList.builder.retainAll(...)

And same in MutableSet.builder

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

Branch: refs/heads/master
Commit: 3cb3b8f1ea16bbeef581fe4bbf6cb7455ecbb257
Parents: a799cf8
Author: Aled Sage <al...@gmail.com>
Authored: Mon Feb 15 11:52:41 2016 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Mon Feb 15 11:52:41 2016 +0000

----------------------------------------------------------------------
 .../apache/brooklyn/util/collections/MutableList.java    | 11 +++++++++++
 .../org/apache/brooklyn/util/collections/MutableSet.java | 10 ++++++++++
 .../brooklyn/util/collections/MutableListTest.java       |  8 ++++++++
 .../apache/brooklyn/util/collections/MutableSetTest.java | 10 ++++++++++
 4 files changed, 39 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/3cb3b8f1/utils/common/src/main/java/org/apache/brooklyn/util/collections/MutableList.java
----------------------------------------------------------------------
diff --git a/utils/common/src/main/java/org/apache/brooklyn/util/collections/MutableList.java b/utils/common/src/main/java/org/apache/brooklyn/util/collections/MutableList.java
index 9aa3a99..6bdc3e0 100644
--- a/utils/common/src/main/java/org/apache/brooklyn/util/collections/MutableList.java
+++ b/utils/common/src/main/java/org/apache/brooklyn/util/collections/MutableList.java
@@ -31,6 +31,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Lists;
 
 public class MutableList<V> extends ArrayList<V> {
     private static final long serialVersionUID = -5533940507175152491L;
@@ -176,6 +177,16 @@ public class MutableList<V> extends ArrayList<V> {
             return this;
         }
 
+        public Builder<V> retainAll(Iterable<? extends V> iterable) {
+            if (iterable instanceof Collection) {
+                result.retainAll((Collection<? extends V>) iterable);
+            } else {
+                List<V> toretain = Lists.newArrayList(iterable);
+                result.retainAll(toretain);
+            }
+            return this;
+        }
+
         public MutableList<V> build() {
           return new MutableList<V>(result);
         }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/3cb3b8f1/utils/common/src/main/java/org/apache/brooklyn/util/collections/MutableSet.java
----------------------------------------------------------------------
diff --git a/utils/common/src/main/java/org/apache/brooklyn/util/collections/MutableSet.java b/utils/common/src/main/java/org/apache/brooklyn/util/collections/MutableSet.java
index af7f0fb..70d8a9d 100644
--- a/utils/common/src/main/java/org/apache/brooklyn/util/collections/MutableSet.java
+++ b/utils/common/src/main/java/org/apache/brooklyn/util/collections/MutableSet.java
@@ -175,6 +175,16 @@ public class MutableSet<V> extends LinkedHashSet<V> {
             return this;
         }
         
+        public Builder<V> retainAll(Iterable<? extends V> iterable) {
+            if (iterable instanceof Collection) {
+                result.retainAll((Collection<? extends V>) iterable);
+            } else {
+                Set<V> toretain = Sets.newHashSet(iterable);
+                result.retainAll(toretain);
+            }
+            return this;
+        }
+        
         public MutableSet<V> build() {
           return new MutableSet<V>(result);
         }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/3cb3b8f1/utils/common/src/test/java/org/apache/brooklyn/util/collections/MutableListTest.java
----------------------------------------------------------------------
diff --git a/utils/common/src/test/java/org/apache/brooklyn/util/collections/MutableListTest.java b/utils/common/src/test/java/org/apache/brooklyn/util/collections/MutableListTest.java
index 046d434..995f068 100644
--- a/utils/common/src/test/java/org/apache/brooklyn/util/collections/MutableListTest.java
+++ b/utils/common/src/test/java/org/apache/brooklyn/util/collections/MutableListTest.java
@@ -72,6 +72,14 @@ public class MutableListTest {
         Assert.assertEquals(vals, ImmutableList.of(1,4));
     }
     
+    public void testBuilderRetainAll() throws Exception {
+        List<Object> vals = MutableList.builder()
+                .add(1,2,3)
+                .retainAll(ImmutableList.of(1,2))
+                .build();
+        Assert.assertEquals(vals, ImmutableList.of(1,2));
+    }
+    
     public void testEqualsExact() {
         List<Object> a = MutableList.<Object>of("a", 1, "b", false);
         List<Object> b = MutableList.<Object>of("a", 1, "b", false);

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/3cb3b8f1/utils/common/src/test/java/org/apache/brooklyn/util/collections/MutableSetTest.java
----------------------------------------------------------------------
diff --git a/utils/common/src/test/java/org/apache/brooklyn/util/collections/MutableSetTest.java b/utils/common/src/test/java/org/apache/brooklyn/util/collections/MutableSetTest.java
index 0e14464..fb776d3 100644
--- a/utils/common/src/test/java/org/apache/brooklyn/util/collections/MutableSetTest.java
+++ b/utils/common/src/test/java/org/apache/brooklyn/util/collections/MutableSetTest.java
@@ -18,11 +18,13 @@
  */
 package org.apache.brooklyn.util.collections;
 
+import java.util.List;
 import java.util.Set;
 
 import org.testng.Assert;
 import org.testng.annotations.Test;
 
+import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
 
 @Test
@@ -71,6 +73,14 @@ public class MutableSetTest {
         Assert.assertEquals(vals, ImmutableSet.of(1,4));
     }
     
+    public void testBuilderRetainAll() throws Exception {
+        Set<Object> vals = MutableSet.builder()
+                .add(1,2,3)
+                .retainAll(ImmutableList.of(1,2))
+                .build();
+        Assert.assertEquals(vals, ImmutableSet.of(1,2));
+    }
+    
     public void testEqualsExact() {
         Set<Object> a = MutableSet.<Object>of("a", 1, "b", false);
         Set<Object> b = MutableSet.<Object>of("a", 1, "b", false);