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);