From 30fe9a09353c1834b82a3b146c608e154b04de37 Mon Sep 17 00:00:00 2001 From: Luke Taylor Date: Thu, 23 Apr 2009 05:39:50 +0000 Subject: [PATCH] Remove dependency on commons collections (ArrayIterator). --- .../acls/afterinvocation/ArrayFilterer.java | 33 ++++++++++++++----- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/acl/src/main/java/org/springframework/security/acls/afterinvocation/ArrayFilterer.java b/acl/src/main/java/org/springframework/security/acls/afterinvocation/ArrayFilterer.java index e14b679033..156592df39 100644 --- a/acl/src/main/java/org/springframework/security/acls/afterinvocation/ArrayFilterer.java +++ b/acl/src/main/java/org/springframework/security/acls/afterinvocation/ArrayFilterer.java @@ -15,16 +15,15 @@ package org.springframework.security.acls.afterinvocation; -import org.apache.commons.collections.iterators.ArrayIterator; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - import java.lang.reflect.Array; - import java.util.HashSet; import java.util.Iterator; +import java.util.NoSuchElementException; import java.util.Set; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + /** * A filter used to filter arrays. @@ -40,8 +39,8 @@ class ArrayFilterer implements Filterer { //~ Instance fields ================================================================================================ - private Set removeList; - private T[] list; + private final Set removeList; + private final T[] list; //~ Constructors =================================================================================================== @@ -88,9 +87,25 @@ class ArrayFilterer implements Filterer { * * @see org.springframework.security.acls.afterinvocation.Filterer#iterator() */ - @SuppressWarnings("unchecked") public Iterator iterator() { - return new ArrayIterator(list); + return new Iterator() { + private int index = 0; + + public boolean hasNext() { + return index < list.length; + } + + public T next() { + if (hasNext() == false) { + throw new NoSuchElementException(); + } + return list[index++]; + } + + public void remove() { + throw new UnsupportedOperationException(); + } + }; } /**