You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by tn...@apache.org on 2015/11/07 20:44:04 UTC
svn commit: r1713167 - in
/commons/proper/collections/branches/COLLECTIONS_3_2_X/src:
changes/changes.xml java/org/apache/commons/collections/CollectionUtils.java
test/org/apache/commons/collections/TestCollectionUtils.java
Author: tn
Date: Sat Nov 7 19:44:03 2015
New Revision: 1713167
URL: http://svn.apache.org/viewvc?rev=1713167&view=rev
Log:
Backport COLLECTIONS-219 to 3.2.2
Modified:
commons/proper/collections/branches/COLLECTIONS_3_2_X/src/changes/changes.xml
commons/proper/collections/branches/COLLECTIONS_3_2_X/src/java/org/apache/commons/collections/CollectionUtils.java
commons/proper/collections/branches/COLLECTIONS_3_2_X/src/test/org/apache/commons/collections/TestCollectionUtils.java
Modified: commons/proper/collections/branches/COLLECTIONS_3_2_X/src/changes/changes.xml
URL: http://svn.apache.org/viewvc/commons/proper/collections/branches/COLLECTIONS_3_2_X/src/changes/changes.xml?rev=1713167&r1=1713166&r2=1713167&view=diff
==============================================================================
--- commons/proper/collections/branches/COLLECTIONS_3_2_X/src/changes/changes.xml (original)
+++ commons/proper/collections/branches/COLLECTIONS_3_2_X/src/changes/changes.xml Sat Nov 7 19:44:03 2015
@@ -22,6 +22,10 @@
<body>
<release version="3.2.2" date="20XX-XX-XX" description="This is a bugfix release.">
+
+ <action issue="COLLECTIONS-219" dev="scolebourne" type="fix" due-to="Tom Leccese">
+ "CollectionUtils#removeAll" wrongly called "ListUtils#retainAll".
+ </action>
<!-- Bugfixes planned to backport from 4.0
@@ -94,9 +98,6 @@
"MultiValueMap#put(Object, Object)" and "MultiValueMap#putAll(Object, Collection)"
now correctly return if the map has changed by this operation.
</action>
- <action issue="COLLECTIONS-219" dev="scolebourne" type="fix" due-to="Tom Leccese">
- "CollectionUtils#removeAll" wrongly called "ListUtils#retainAll".
- </action>
<action issue="COLLECTIONS-217" dev="scolebourne" type="fix" due-to="Matt Bishop">
Calling "setValue(Object)" on any Entry returned by a "Flat3Map" will now
correctly set the value for the current entry.
Modified: commons/proper/collections/branches/COLLECTIONS_3_2_X/src/java/org/apache/commons/collections/CollectionUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/branches/COLLECTIONS_3_2_X/src/java/org/apache/commons/collections/CollectionUtils.java?rev=1713167&r1=1713166&r2=1713167&view=diff
==============================================================================
--- commons/proper/collections/branches/COLLECTIONS_3_2_X/src/java/org/apache/commons/collections/CollectionUtils.java (original)
+++ commons/proper/collections/branches/COLLECTIONS_3_2_X/src/java/org/apache/commons/collections/CollectionUtils.java Sat Nov 7 19:44:03 2015
@@ -1119,7 +1119,7 @@ public class CollectionUtils {
* @since Commons Collections 3.2
*/
public static Collection removeAll(Collection collection, Collection remove) {
- return ListUtils.retainAll(collection, remove);
+ return ListUtils.removeAll(collection, remove);
}
//-----------------------------------------------------------------------
Modified: commons/proper/collections/branches/COLLECTIONS_3_2_X/src/test/org/apache/commons/collections/TestCollectionUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/branches/COLLECTIONS_3_2_X/src/test/org/apache/commons/collections/TestCollectionUtils.java?rev=1713167&r1=1713166&r2=1713167&view=diff
==============================================================================
--- commons/proper/collections/branches/COLLECTIONS_3_2_X/src/test/org/apache/commons/collections/TestCollectionUtils.java (original)
+++ commons/proper/collections/branches/COLLECTIONS_3_2_X/src/test/org/apache/commons/collections/TestCollectionUtils.java Sat Nov 7 19:44:03 2015
@@ -1239,7 +1239,73 @@ public class TestCollectionUtils extends
assertEquals(eltc,eltb);
}
- public void testTransformedCollection() {
+ // -----------------------------------------------------------------------
+
+ public void testRetainAll() {
+ final List base = new ArrayList();
+ base.add("A");
+ base.add("B");
+ base.add("C");
+ final List sub = new ArrayList();
+ sub.add("A");
+ sub.add("C");
+ sub.add("X");
+
+ final Collection result = CollectionUtils.retainAll(base, sub);
+ assertEquals(2, result.size());
+ assertEquals(true, result.contains("A"));
+ assertFalse(result.contains("B"));
+ assertEquals(true, result.contains("C"));
+ assertEquals(3, base.size());
+ assertEquals(true, base.contains("A"));
+ assertEquals(true, base.contains("B"));
+ assertEquals(true, base.contains("C"));
+ assertEquals(3, sub.size());
+ assertEquals(true, sub.contains("A"));
+ assertEquals(true, sub.contains("C"));
+ assertEquals(true, sub.contains("X"));
+
+ try {
+ CollectionUtils.retainAll(null, null);
+ fail("expecting NullPointerException");
+ } catch (final NullPointerException npe) {
+ } // this is what we want
+ }
+
+ public void testRemoveAll() {
+ final List base = new ArrayList();
+ base.add("A");
+ base.add("B");
+ base.add("C");
+ final List sub = new ArrayList();
+ sub.add("A");
+ sub.add("C");
+ sub.add("X");
+
+ final Collection result = CollectionUtils.removeAll(base, sub);
+ assertEquals(1, result.size());
+ assertFalse(result.contains("A"));
+ assertEquals(true, result.contains("B"));
+ assertFalse(result.contains("C"));
+ assertEquals(3, base.size());
+ assertEquals(true, base.contains("A"));
+ assertEquals(true, base.contains("B"));
+ assertEquals(true, base.contains("C"));
+ assertEquals(3, sub.size());
+ assertEquals(true, sub.contains("A"));
+ assertEquals(true, sub.contains("C"));
+ assertEquals(true, sub.contains("X"));
+
+ try {
+ CollectionUtils.removeAll(null, null);
+ fail("expecting NullPointerException");
+ } catch (final NullPointerException npe) {
+ } // this is what we want
+ }
+
+ // -----------------------------------------------------------------------
+
+ public void testTransformedCollection() {
Transformer transformer = TransformerUtils.nopTransformer();
Collection collection =
CollectionUtils.transformedCollection(new ArrayList(), transformer);