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 2013/03/17 11:01:10 UTC
svn commit: r1457410 - in /commons/proper/collections/trunk/src:
main/java/org/apache/commons/collections/collection/
main/java/org/apache/commons/collections/set/
test/java/org/apache/commons/collections/collection/
test/java/org/apache/commons/collec...
Author: tn
Date: Sun Mar 17 10:01:09 2013
New Revision: 1457410
URL: http://svn.apache.org/r1457410
Log:
[COLLECTIONS-424] CompositeSet: remove inheritance from CompositeCollection, update mutator class and unit tests.
Modified:
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/collection/CompositeCollection.java
commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/set/CompositeSet.java
commons/proper/collections/trunk/src/test/java/org/apache/commons/collections/collection/CompositeCollectionTest.java
commons/proper/collections/trunk/src/test/java/org/apache/commons/collections/set/CompositeSetTest.java
commons/proper/collections/trunk/src/test/java/org/apache/commons/collections/set/EmptySetMutator.java
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/collection/CompositeCollection.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/collection/CompositeCollection.java?rev=1457410&r1=1457409&r2=1457410&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/collection/CompositeCollection.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/collection/CompositeCollection.java Sun Mar 17 10:01:09 2013
@@ -73,7 +73,8 @@ public class CompositeCollection<E> impl
* @param compositeCollection1 the Collection to be appended to the composite
* @param compositeCollection2 the Collection to be appended to the composite
*/
- public CompositeCollection(final Collection<E> compositeCollection1, final Collection<E> compositeCollection2) {
+ public CompositeCollection(final Collection<E> compositeCollection1,
+ final Collection<E> compositeCollection2) {
super();
addComposited(compositeCollection1, compositeCollection2);
}
@@ -88,16 +89,6 @@ public class CompositeCollection<E> impl
addComposited(compositeCollections);
}
-// /**
-// * Create a Composite Collection extracting the collections from an iterable.
-// *
-// * @param compositeCollections the collections to composite
-// */
-// public CompositeCollection(Iterable<Collection<E>> compositeCollections) {
-// super();
-// addComposited(compositeCollections);
-// }
-
//-----------------------------------------------------------------------
/**
* Gets the size of this composite collection.
@@ -122,7 +113,7 @@ public class CompositeCollection<E> impl
* @return true if all of the contained collections are empty
*/
public boolean isEmpty() {
- for (final Collection<? extends E> item : all) {
+ for (final Collection<E> item : all) {
if (item.isEmpty() == false) {
return false;
}
@@ -139,7 +130,7 @@ public class CompositeCollection<E> impl
* @return true if obj is contained in any of the contained collections
*/
public boolean contains(final Object obj) {
- for (final Collection<? extends E> item : all) {
+ for (final Collection<E> item : all) {
if (item.contains(obj)) {
return true;
}
@@ -162,7 +153,7 @@ public class CompositeCollection<E> impl
return EmptyIterator.<E>emptyIterator();
}
final IteratorChain<E> chain = new IteratorChain<E>();
- for (final Collection<? extends E> item : all) {
+ for (final Collection<E> item : all) {
chain.addIterator(item.iterator());
}
return chain;
@@ -201,7 +192,7 @@ public class CompositeCollection<E> impl
}
int offset = 0;
- for (final Collection<? extends E> item : all) {
+ for (final Collection<E> item : all) {
for (final E e : item) {
result[offset++] = e;
}
@@ -303,7 +294,7 @@ public class CompositeCollection<E> impl
return false;
}
boolean changed = false;
- for (final Collection<? extends E> item : all) {
+ for (final Collection<E> item : all) {
changed |= item.removeAll(coll);
}
return changed;
@@ -321,7 +312,7 @@ public class CompositeCollection<E> impl
*/
public boolean retainAll(final Collection<?> coll) {
boolean changed = false;
- for (final Collection<? extends E> item : all) {
+ for (final Collection<E> item : all) {
changed |= item.retainAll(coll);
}
return changed;
@@ -335,7 +326,7 @@ public class CompositeCollection<E> impl
* @throws UnsupportedOperationException if clear is unsupported
*/
public void clear() {
- for (final Collection<? extends E> coll : all) {
+ for (final Collection<E> coll : all) {
coll.clear();
}
}
@@ -365,7 +356,8 @@ public class CompositeCollection<E> impl
* @param compositeCollection1 the Collection to be appended to the composite
* @param compositeCollection2 the Collection to be appended to the composite
*/
- public void addComposited(final Collection<E> compositeCollection1, final Collection<E> compositeCollection2) {
+ public void addComposited(final Collection<E> compositeCollection1,
+ final Collection<E> compositeCollection2) {
all.add(compositeCollection1);
all.add(compositeCollection2);
}
@@ -379,17 +371,6 @@ public class CompositeCollection<E> impl
all.addAll(Arrays.asList(compositeCollections));
}
-// /**
-// * Add these Collections to the list of collections in this composite
-// *
-// * @param compositeCollections the Collections to be appended to the composite
-// */
-// public void addComposited(Iterable<Collection<E>> compositeCollections) {
-// for (Collection<E> item : compositeCollections) {
-// all.add(item);
-// }
-// }
-
/**
* Removes a collection from the those being decorated in this composite.
*
@@ -415,7 +396,7 @@ public class CompositeCollection<E> impl
*
* @return Unmodifiable list of all collections in this composite.
*/
- public List<? extends Collection<E>> getCollections() {
+ public List<Collection<E>> getCollections() {
return UnmodifiableList.unmodifiableList(all);
}
@@ -477,7 +458,9 @@ public class CompositeCollection<E> impl
* @throws NullPointerException if the object cannot be removed because its null
* @throws IllegalArgumentException if the object cannot be removed
*/
- public boolean remove(CompositeCollection<E> composite, List<Collection<E>> collections, Object obj);
+ public boolean remove(CompositeCollection<E> composite,
+ List<Collection<E>> collections,
+ Object obj);
}
Modified: commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/set/CompositeSet.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/set/CompositeSet.java?rev=1457410&r1=1457409&r2=1457410&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/set/CompositeSet.java (original)
+++ commons/proper/collections/trunk/src/main/java/org/apache/commons/collections/set/CompositeSet.java Sun Mar 17 10:01:09 2013
@@ -16,12 +16,20 @@
*/
package org.apache.commons.collections.set;
+import java.io.Serializable;
+import java.lang.reflect.Array;
+import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collection;
+import java.util.HashSet;
+import java.util.Iterator;
import java.util.List;
import java.util.Set;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.collections.collection.CompositeCollection;
+import org.apache.commons.collections.iterators.EmptyIterator;
+import org.apache.commons.collections.iterators.IteratorChain;
+import org.apache.commons.collections.list.UnmodifiableList;
/**
* Decorates a set of other sets to provide a single unified view.
@@ -29,17 +37,28 @@ import org.apache.commons.collections.co
* Changes made to this set will actually be made on the decorated set.
* Add operations require the use of a pluggable strategy.
* If no strategy is provided then add is unsupported.
- *
+ * <p>
+ * From version 4.0, this class does not extend {@link CompositeCollection}
+ * anymore due to its input restrictions (only accepts Sets).
+ * See <a href="https://issues.apache.org/jira/browse/COLLECTIONS-424">COLLECTIONS-424</a>
+ * for more details.
+ *
* @since 3.0
* @version $Id$
*/
-public class CompositeSet<E> extends CompositeCollection<E> implements Set<E> {
+public class CompositeSet<E> implements Set<E>, Serializable {
/** Serialization version */
private static final long serialVersionUID = 5185069727540378940L;
+ /** SetMutator to handle changes to the collection */
+ protected SetMutator<E> mutator;
+
+ /** Sets in the composite */
+ protected List<Set<E>> all = new ArrayList<Set<E>>();
+
/**
- * Create an empty CompositeSet
+ * Create an empty CompositeSet.
*/
public CompositeSet() {
super();
@@ -51,7 +70,8 @@ public class CompositeSet<E> extends Com
* @param set the initial set in the composite
*/
public CompositeSet(final Set<E> set) {
- super(set);
+ super();
+ addComposited(set);
}
/**
@@ -60,102 +80,142 @@ public class CompositeSet<E> extends Com
* @param sets the initial sets in the composite
*/
public CompositeSet(final Set<E>... sets) {
- super(sets);
+ super();
+ addComposited(sets);
}
+ //-----------------------------------------------------------------------
/**
- * Add a Set to this composite
+ * Gets the size of this composite set.
+ * <p>
+ * This implementation calls <code>size()</code> on each set.
*
- * @param c Must implement Set
- * @throws IllegalArgumentException if c does not implement java.util.Set
- * or if a SetMutator is set, but fails to resolve a collision
- * @throws UnsupportedOperationException if there is no SetMutator set, or
- * a CollectionMutator is set instead of a SetMutator
- * @see org.apache.commons.collections.collection.CompositeCollection.CollectionMutator
- * @see SetMutator
+ * @return total number of elements in all contained containers
*/
- @Override
- public synchronized void addComposited(final Collection<E> c) {
- if (!(c instanceof Set)) {
- throw new IllegalArgumentException("Collections added must implement java.util.Set");
+ public int size() {
+ int size = 0;
+ for (final Set<E> item : all) {
+ size += item.size();
}
+ return size;
+ }
- for (final Set<E> set : getCollections()) {
- final Collection<E> intersects = CollectionUtils.intersection(set, c);
- if (intersects.size() > 0) {
- if (this.mutator == null) {
- throw new UnsupportedOperationException(
- "Collision adding composited collection with no SetMutator set");
- }
- else if (!(this.mutator instanceof SetMutator)) {
- throw new UnsupportedOperationException(
- "Collision adding composited collection to a CompositeSet with a CollectionMutator " +
- "instead of a SetMutator");
- }
- getMutator().resolveCollision(this, set, (Set<E>) c, intersects);
- if (CollectionUtils.intersection(set, c).size() > 0) {
- throw new IllegalArgumentException(
- "Attempt to add illegal entry unresolved by SetMutator.resolveCollision()");
- }
+ /**
+ * Checks whether this composite set is empty.
+ * <p>
+ * This implementation calls <code>isEmpty()</code> on each set.
+ *
+ * @return true if all of the contained sets are empty
+ */
+ public boolean isEmpty() {
+ for (final Set<E> item : all) {
+ if (item.isEmpty() == false) {
+ return false;
}
}
- super.addComposited(c);
+ return true;
}
- @SuppressWarnings("unchecked")
- @Override
- public List<? extends Set<E>> getCollections() {
- return (List<Set<E>>) super.getCollections();
+ /**
+ * Checks whether this composite set contains the object.
+ * <p>
+ * This implementation calls <code>contains()</code> on each set.
+ *
+ * @param obj the object to search for
+ * @return true if obj is contained in any of the contained sets
+ */
+ public boolean contains(final Object obj) {
+ for (final Set<E> item : all) {
+ if (item.contains(obj)) {
+ return true;
+ }
+ }
+ return false;
}
/**
- * Add two sets to this composite.
+ * Gets an iterator over all the sets in this composite.
+ * <p>
+ * This implementation uses an <code>IteratorChain</code>.
*
- * @param c the first {@link java.util.Set} to add to this composite
- * @param d the second {@link java.util.Set} to add to this composite
- * @throws IllegalArgumentException if c or d does not implement {@link java.util.Set}
- */
- @Override
- @SuppressWarnings("unchecked")
- public synchronized void addComposited(final Collection<E> c, final Collection<E> d) {
- if (!(c instanceof Set)) {
- throw new IllegalArgumentException("Argument must implement java.util.Set");
+ * @return an <code>IteratorChain</code> instance which supports
+ * <code>remove()</code>. Iteration occurs over contained collections in
+ * the order they were added, but this behavior should not be relied upon.
+ * @see IteratorChain
+ */
+ public Iterator<E> iterator() {
+ if (all.isEmpty()) {
+ return EmptyIterator.<E>emptyIterator();
}
- if (!(d instanceof Set)) {
- throw new IllegalArgumentException("Argument must implement java.util.Set");
+ final IteratorChain<E> chain = new IteratorChain<E>();
+ for (final Set<E> item : all) {
+ chain.addIterator(item.iterator());
}
- this.addComposited(new Set[] { (Set<? extends E>) c, (Set<? extends E>) d });
+ return chain;
}
/**
- * Add an array of sets to this composite
- * @param comps the {@link Collection} of {@link java.util.Set}s to add to this composite
- * @throws IllegalArgumentException if any of the collections in comps does not implement {@link java.util.Set}
+ * Returns an array containing all of the elements in this composite.
+ *
+ * @return an object array of all the elements in the collection
*/
- @Override
- public synchronized void addComposited(final Collection<E>[] comps) {
- for (int i = comps.length - 1; i >= 0; --i) {
- this.addComposited(comps[i]);
+ public Object[] toArray() {
+ final Object[] result = new Object[size()];
+ int i = 0;
+ for (final Iterator<E> it = iterator(); it.hasNext(); i++) {
+ result[i] = it.next();
}
+ return result;
}
/**
- * This can receive either a
- * {@link org.apache.commons.collections.collection.CompositeCollection.CollectionMutator CollectionMutator}
- * or a {@link CompositeSet.SetMutator}.
- * If a {@link org.apache.commons.collections.collection.CompositeCollection.CollectionMutator CollectionMutator}
- * is used than conflicts when adding composited sets will throw IllegalArgumentException.
- *
- * @param mutator
- * the {@link org.apache.commons.collections.collection.CompositeCollection.CollectionMutator CollectionMutator}
- * to use for this composite
+ * Returns an object array, populating the supplied array if possible.
+ * See <code>Collection</code> interface for full details.
+ *
+ * @param <T> the type of the elements in the collection
+ * @param array the array to use, populating if possible
+ * @return an array of all the elements in the collection
*/
- @Override
- public void setMutator(final CollectionMutator<E> mutator) {
- super.setMutator(mutator);
+ @SuppressWarnings("unchecked")
+ public <T> T[] toArray(final T[] array) {
+ final int size = size();
+ Object[] result = null;
+ if (array.length >= size) {
+ result = array;
+ } else {
+ result = (Object[]) Array.newInstance(array.getClass().getComponentType(), size);
+ }
+
+ int offset = 0;
+ for (final Collection<E> item : all) {
+ for (final E e : item) {
+ result[offset++] = e;
+ }
+ }
+ if (result.length > size) {
+ result[size] = null;
+ }
+ return (T[]) result;
}
- /* Set operations */
+ /**
+ * Adds an object to the collection, throwing UnsupportedOperationException
+ * unless a SetMutator strategy is specified.
+ *
+ * @param obj the object to add
+ * @return {@code true} if the collection was modified
+ * @throws UnsupportedOperationException if SetMutator hasn't been set or add is unsupported
+ * @throws ClassCastException if the object cannot be added due to its type
+ * @throws NullPointerException if the object cannot be added because its null
+ * @throws IllegalArgumentException if the object cannot be added
+ */
+ public boolean add(final E obj) {
+ if (mutator == null) {
+ throw new UnsupportedOperationException(
+ "add() is not supported on CompositeSet without a SetMutator strategy");
+ }
+ return mutator.add(this, all, obj);
+ }
/**
* If a <code>CollectionMutator</code> is defined for this CompositeSet then this
@@ -164,9 +224,8 @@ public class CompositeSet<E> extends Com
* @param obj object to be removed
* @return true if the object is removed, false otherwise
*/
- @Override
public boolean remove(final Object obj) {
- for (final Set<? extends E> set : getCollections()) {
+ for (final Set<E> set : getSets()) {
if (set.contains(obj)) {
return set.remove(obj);
}
@@ -175,6 +234,187 @@ public class CompositeSet<E> extends Com
}
/**
+ * Checks whether this composite contains all the elements in the specified collection.
+ * <p>
+ * This implementation calls <code>contains()</code> for each element in the
+ * specified collection.
+ *
+ * @param coll the collection to check for
+ * @return true if all elements contained
+ */
+ public boolean containsAll(final Collection<?> coll) {
+ for (final Object item : coll) {
+ if (contains(item) == false) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ /**
+ * Adds a collection of elements to this composite, throwing
+ * UnsupportedOperationException unless a SetMutator strategy is specified.
+ *
+ * @param coll the collection to add
+ * @return true if the composite was modified
+ * @throws UnsupportedOperationException if SetMutator hasn't been set or add is unsupported
+ * @throws ClassCastException if the object cannot be added due to its type
+ * @throws NullPointerException if the object cannot be added because its null
+ * @throws IllegalArgumentException if the object cannot be added
+ */
+ public boolean addAll(final Collection<? extends E> coll) {
+ if (mutator == null) {
+ throw new UnsupportedOperationException(
+ "addAll() is not supported on CompositeSet without a SetMutator strategy");
+ }
+ return mutator.addAll(this, all, coll);
+ }
+
+ /**
+ * Removes the elements in the specified collection from this composite set.
+ * <p>
+ * This implementation calls <code>removeAll</code> on each collection.
+ *
+ * @param coll the collection to remove
+ * @return true if the composite was modified
+ * @throws UnsupportedOperationException if removeAll is unsupported
+ */
+ public boolean removeAll(final Collection<?> coll) {
+ if (coll.size() == 0) {
+ return false;
+ }
+ boolean changed = false;
+ for (final Collection<E> item : all) {
+ changed |= item.removeAll(coll);
+ }
+ return changed;
+ }
+
+ /**
+ * Retains all the elements in the specified collection in this composite set,
+ * removing all others.
+ * <p>
+ * This implementation calls <code>retainAll()</code> on each collection.
+ *
+ * @param coll the collection to remove
+ * @return true if the composite was modified
+ * @throws UnsupportedOperationException if retainAll is unsupported
+ */
+ public boolean retainAll(final Collection<?> coll) {
+ boolean changed = false;
+ for (final Collection<E> item : all) {
+ changed |= item.retainAll(coll);
+ }
+ return changed;
+ }
+
+ /**
+ * Removes all of the elements from this composite set.
+ * <p>
+ * This implementation calls <code>clear()</code> on each set.
+ *
+ * @throws UnsupportedOperationException if clear is unsupported
+ */
+ public void clear() {
+ for (final Collection<E> coll : all) {
+ coll.clear();
+ }
+ }
+
+ //-----------------------------------------------------------------------
+ /**
+ * Specify a SetMutator strategy instance to handle changes.
+ *
+ * @param mutator the mutator to use
+ */
+ public void setMutator(final SetMutator<E> mutator) {
+ this.mutator = mutator;
+ }
+
+ /**
+ * Add a Set to this composite.
+ *
+ * @param set the set to add
+ * @throws IllegalArgumentException if a SetMutator is set, but fails to resolve a collision
+ * @throws UnsupportedOperationException if there is no SetMutator set
+ * @see SetMutator
+ */
+ public synchronized void addComposited(final Set<E> set) {
+ for (final Set<E> existingSet : getSets()) {
+ final Collection<E> intersects = CollectionUtils.intersection(existingSet, set);
+ if (intersects.size() > 0) {
+ if (this.mutator == null) {
+ throw new UnsupportedOperationException(
+ "Collision adding composited set with no SetMutator set");
+ }
+ getMutator().resolveCollision(this, existingSet, set, intersects);
+ if (CollectionUtils.intersection(existingSet, set).size() > 0) {
+ throw new IllegalArgumentException(
+ "Attempt to add illegal entry unresolved by SetMutator.resolveCollision()");
+ }
+ }
+ }
+ all.add(set);
+ }
+
+ /**
+ * Add these Sets to the list of sets in this composite.
+ *
+ * @param set1 the first Set to be appended to the composite
+ * @param set2 the second Set to be appended to the composite
+ */
+ public void addComposited(final Set<E> set1, final Set<E> set2) {
+ all.add(set1);
+ all.add(set2);
+ }
+
+ /**
+ * Add these Sets to the list of sets in this composite
+ *
+ * @param sets the Sets to be appended to the composite
+ */
+ public void addComposited(final Set<E>[] sets) {
+ all.addAll(Arrays.asList(sets));
+ }
+
+ /**
+ * Removes a set from those being decorated in this composite.
+ *
+ * @param set set to be removed
+ */
+ public void removeComposited(final Set<E> set) {
+ all.remove(set);
+ }
+
+ //-----------------------------------------------------------------------
+ /**
+ * Returns a new Set containing all of the elements.
+ *
+ * @return A new HashSet containing all of the elements in this composite.
+ * The new collection is <i>not</i> backed by this composite.
+ */
+ public Set<E> toSet() {
+ return new HashSet<E>(this);
+ }
+
+ /**
+ * Gets the sets being decorated.
+ *
+ * @return Unmodifiable list of all sets in this composite.
+ */
+ public List<Set<E>> getSets() {
+ return UnmodifiableList.unmodifiableList(all);
+ }
+
+ /**
+ * Get the set mutator to be used for this CompositeSet.
+ * @return the set mutator
+ */
+ protected SetMutator<E> getMutator() {
+ return mutator;
+ }
+
+ /**
* {@inheritDoc}
* @see java.util.Set#equals
*/
@@ -182,7 +422,7 @@ public class CompositeSet<E> extends Com
public boolean equals(final Object obj) {
if (obj instanceof Set) {
final Set<?> set = (Set<?>) obj;
- return set.containsAll(this) && set.size() == this.size();
+ return set.size() == this.size() && set.containsAll(this);
}
return false;
}
@@ -200,18 +440,40 @@ public class CompositeSet<E> extends Com
return code;
}
- @Override
- protected SetMutator<E> getMutator() {
- return (SetMutator<E>) super.getMutator();
- }
-
/**
* Define callbacks for mutation operations.
- * <p>
- * Defining remove() on implementations of SetMutator is pointless
- * as they are never called by CompositeSet.
*/
- public static interface SetMutator<E> extends CompositeCollection.CollectionMutator<E> {
+ public static interface SetMutator<E> extends Serializable {
+
+ /**
+ * Called when an object is to be added to the composite.
+ *
+ * @param composite the CompositeSet being changed
+ * @param sets all of the Set instances in this CompositeSet
+ * @param obj the object being added
+ * @return true if the collection is changed
+ * @throws UnsupportedOperationException if add is unsupported
+ * @throws ClassCastException if the object cannot be added due to its type
+ * @throws NullPointerException if the object cannot be added because its null
+ * @throws IllegalArgumentException if the object cannot be added
+ */
+ public boolean add(CompositeSet<E> composite, List<Set<E>> sets, E obj);
+
+ /**
+ * Called when a collection is to be added to the composite.
+ *
+ * @param composite the CompositeSet being changed
+ * @param sets all of the Set instances in this CompositeSet
+ * @param coll the collection being added
+ * @return true if the collection is changed
+ * @throws UnsupportedOperationException if add is unsupported
+ * @throws ClassCastException if the object cannot be added due to its type
+ * @throws NullPointerException if the object cannot be added because its null
+ * @throws IllegalArgumentException if the object cannot be added
+ */
+ public boolean addAll(CompositeSet<E> composite,
+ List<Set<E>> sets,
+ Collection<? extends E> coll);
/**
* Called when a Set is added to the CompositeSet and there is a
@@ -225,6 +487,9 @@ public class CompositeSet<E> extends Com
* @param added the Set being added to the composite
* @param intersects the intersection of the existing and added sets
*/
- public void resolveCollision(CompositeSet<E> comp, Set<E> existing, Set<E> added, Collection<E> intersects);
+ public void resolveCollision(CompositeSet<E> comp,
+ Set<E> existing,
+ Set<E> added,
+ Collection<E> intersects);
}
}
Modified: commons/proper/collections/trunk/src/test/java/org/apache/commons/collections/collection/CompositeCollectionTest.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/test/java/org/apache/commons/collections/collection/CompositeCollectionTest.java?rev=1457410&r1=1457409&r2=1457410&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/test/java/org/apache/commons/collections/collection/CompositeCollectionTest.java (original)
+++ commons/proper/collections/trunk/src/test/java/org/apache/commons/collections/collection/CompositeCollectionTest.java Sun Mar 17 10:01:09 2013
@@ -126,10 +126,10 @@ public class CompositeCollectionTest<E>
protected void setUpMutatorTest() {
setUpTest();
c.setMutator(new CompositeCollection.CollectionMutator<E>() {
- public boolean add(final CompositeCollection<E> composite,
- final List<Collection<E>> collections, final E obj) {
- for (final Collection<E> collection : collections) {
- collection.add(obj);
+
+ public boolean add(CompositeCollection<E> composite, List<Collection<E>> collections, E obj) {
+ for (final Collection<E> coll : collections) {
+ coll.add(obj);
}
return true;
}
Modified: commons/proper/collections/trunk/src/test/java/org/apache/commons/collections/set/CompositeSetTest.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/test/java/org/apache/commons/collections/set/CompositeSetTest.java?rev=1457410&r1=1457409&r2=1457410&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/test/java/org/apache/commons/collections/set/CompositeSetTest.java (original)
+++ commons/proper/collections/trunk/src/test/java/org/apache/commons/collections/set/CompositeSetTest.java Sun Mar 17 10:01:09 2013
@@ -21,7 +21,7 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
-import org.apache.commons.collections.collection.CompositeCollection;
+import org.apache.commons.collections.set.CompositeSet.SetMutator;
/**
* Extension of {@link AbstractSetTest} for exercising the
@@ -94,7 +94,7 @@ public class CompositeSetTest<E> extends
final Set<E> one = buildOne();
final Set<E> two = buildTwo();
final CompositeSet<E> set = new CompositeSet<E>(new Set[] { one, two });
- set.setMutator(new CompositeSet.SetMutator<E>() {
+ set.setMutator(new SetMutator<E>() {
private static final long serialVersionUID = 1L;
public void resolveCollision(final CompositeSet<E> comp, final Set<E> existing,
@@ -102,18 +102,13 @@ public class CompositeSetTest<E> extends
//noop
}
- public boolean add(final CompositeCollection<E> composite,
- final List<Collection<E>> collections, final E obj) {
+ public boolean add(final CompositeSet<E> composite,
+ final List<Set<E>> collections, final E obj) {
throw new UnsupportedOperationException();
}
- public boolean addAll(final CompositeCollection<E> composite,
- final List<Collection<E>> collections, final Collection<? extends E> coll) {
- throw new UnsupportedOperationException();
- }
-
- public boolean remove(final CompositeCollection<E> composite,
- final List<Collection<E>> collections, final Object obj) {
+ public boolean addAll(final CompositeSet<E> composite,
+ final List<Set<E>> collections, final Collection<? extends E> coll) {
throw new UnsupportedOperationException();
}
});
Modified: commons/proper/collections/trunk/src/test/java/org/apache/commons/collections/set/EmptySetMutator.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/test/java/org/apache/commons/collections/set/EmptySetMutator.java?rev=1457410&r1=1457409&r2=1457410&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/test/java/org/apache/commons/collections/set/EmptySetMutator.java (original)
+++ commons/proper/collections/trunk/src/test/java/org/apache/commons/collections/set/EmptySetMutator.java Sun Mar 17 10:01:09 2013
@@ -20,8 +20,6 @@ import java.util.Collection;
import java.util.List;
import java.util.Set;
-import org.apache.commons.collections.collection.CompositeCollection;
-
/**
* This class is used in CompositeSetTest. When testing serialization,
* the class has to be separate of CompositeSetTest, else the test
@@ -42,15 +40,11 @@ class EmptySetMutator<E> implements Comp
throw new IllegalArgumentException();
}
- public boolean add(final CompositeCollection<E> composite, final List<Collection<E>> collections, final E obj) {
+ public boolean add(final CompositeSet<E> composite, final List<Set<E>> collections, final E obj) {
return contained.add(obj);
}
- public boolean addAll(final CompositeCollection<E> composite, final List<Collection<E>> collections, final Collection<? extends E> coll) {
+ public boolean addAll(final CompositeSet<E> composite, final List<Set<E>> collections, final Collection<? extends E> coll) {
return contained.addAll(coll);
- }
-
- public boolean remove(final CompositeCollection<E> composite, final List<Collection<E>> collections, final Object obj) {
- return contained.remove(obj);
- }
+ }
}