You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by br...@apache.org on 2011/05/20 18:56:34 UTC

svn commit: r1125466 - in /commons/proper/collections/trunk/src: java/org/apache/commons/collections/CollectionUtils.java test/org/apache/commons/collections/TestCollectionUtils.java

Author: brentworden
Date: Fri May 20 16:56:34 2011
New Revision: 1125466

URL: http://svn.apache.org/viewvc?rev=1125466&view=rev
Log:
[COLLECTIONS-362] changed filter return value to boolean.

Modified:
    commons/proper/collections/trunk/src/java/org/apache/commons/collections/CollectionUtils.java
    commons/proper/collections/trunk/src/test/org/apache/commons/collections/TestCollectionUtils.java

Modified: commons/proper/collections/trunk/src/java/org/apache/commons/collections/CollectionUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/java/org/apache/commons/collections/CollectionUtils.java?rev=1125466&r1=1125465&r2=1125466&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/java/org/apache/commons/collections/CollectionUtils.java (original)
+++ commons/proper/collections/trunk/src/java/org/apache/commons/collections/CollectionUtils.java Fri May 20 16:56:34 2011
@@ -454,20 +454,24 @@ public class CollectionUtils {
      * predicate returns false, remove the element.
      * <p>
      * If the input collection or predicate is null, there is no change made.
-     *
+     * 
      * @param collection
      *            the collection to get the input from, may be null
      * @param predicate
      *            the predicate to use as a filter, may be null
+     * @return true if the collection is modified by this call, false otherwise.
      */
-    public static <T> void filter(Iterable<T> collection, Predicate<? super T> predicate) {
+    public static <T> boolean filter(Iterable<T> collection, Predicate<? super T> predicate) {
+        boolean result = false;
         if (collection != null && predicate != null) {
             for (Iterator<T> it = collection.iterator(); it.hasNext();) {
                 if (!predicate.evaluate(it.next())) {
                     it.remove();
+                    result = true;
                 }
             }
         }
+        return result;
     }
 
     /**

Modified: commons/proper/collections/trunk/src/test/org/apache/commons/collections/TestCollectionUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/test/org/apache/commons/collections/TestCollectionUtils.java?rev=1125466&r1=1125465&r2=1125466&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/test/org/apache/commons/collections/TestCollectionUtils.java (original)
+++ commons/proper/collections/trunk/src/test/org/apache/commons/collections/TestCollectionUtils.java Fri May 20 16:56:34 2011
@@ -20,8 +20,8 @@ import static junit.framework.Assert.ass
 import static org.apache.commons.collections.functors.EqualPredicate.equalPredicate;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
 import java.util.*;
@@ -873,7 +873,7 @@ public class TestCollectionUtils extends
         ints.add(3);
         ints.add(3);
         Iterable<Integer> iterable = ints;
-        CollectionUtils.filter(iterable, EQUALS_TWO);
+        assertTrue(CollectionUtils.filter(iterable, EQUALS_TWO));
         assertEquals(1, (int) ints.size());
         assertEquals(2, (int) ints.get(0));
     }
@@ -881,11 +881,11 @@ public class TestCollectionUtils extends
     @Test
     public void filterNullParameters() throws Exception {
         List<Long> longs = Collections.nCopies(4, 10L);
-        CollectionUtils.filter(longs, null);
+        assertFalse(CollectionUtils.filter(longs, null));
         assertEquals(4, longs.size());
-        CollectionUtils.filter(null, EQUALS_TWO);
+        assertFalse(CollectionUtils.filter(null, EQUALS_TWO));
         assertEquals(4, longs.size());
-        CollectionUtils.filter(null, null);
+        assertFalse(CollectionUtils.filter(null, null));
         assertEquals(4, longs.size());
     }