webwork/src/main/webwork/util SortIteratorFilter.java,1.8,1.9

[email protected] Sat, 01 Nov 2003 12:46:05 -0800
Newsgroups gmane.comp.java.open-symphony.cvs
Message-ID <[email protected]>
Update of /cvsroot/opensymphony/webwork/src/main/webwork/util
In directory sc8-pr-cvs1:/tmp/cvs-serv22157/src/main/webwork/util

Modified Files:
	SortIteratorFilter.java 
Log Message:
Switched to use MakeIterator, so we handle arrays too. Fixes WW-192

Index: SortIteratorFilter.java
===================================================================
RCS file: /cvsroot/opensymphony/webwork/src/main/webwork/util/SortIteratorFilter.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- SortIteratorFilter.java	9 Sep 2002 21:21:19 -0000	1.8
+++ SortIteratorFilter.java	1 Nov 2003 20:46:03 -0000	1.9
@@ -13,9 +13,6 @@
 import java.util.Comparator;
 import java.util.List;
 import java.util.Collections;
-import java.util.Collection;
-import java.util.Map;
-import java.util.Enumeration;
 
 /**
  *	A bean that takes an iterator and outputs a subset of it.
@@ -57,36 +54,17 @@
       } else {
          try
          {
-            // Check variants of input
-            if (source instanceof Enumeration)
-            {
-               list = new ArrayList();
-               Enumeration sourceEnum = (Enumeration)source;
-               while (sourceEnum.hasMoreElements())
-               {
-                  Object o = (Object) sourceEnum.nextElement();
-                  list.add(o);
-               }
-            } if (source instanceof Iterator)
-            {
-               list = new ArrayList();
-               Iterator sourceIterator = (Iterator)source;
-               while (sourceIterator.hasNext())
-               {
-                  Object o = (Object) sourceIterator.next();
-                  list.add(o);
-               }
-            } else if (source instanceof Collection)
-            {
-               list = new ArrayList((Collection)source);
-            } else if (source instanceof Map)
-            {
-               list = new ArrayList(((Map)source).entrySet());
+            if(!MakeIterator.isIterable(source)) {
+              LogFactory.getLog(SortIteratorFilter.class.getName()).warn("Cannot create SortIterator for source " + source);
+              return ERROR;
+            }
+            list = new ArrayList();
+            Iterator i = MakeIterator.convert(source);
+            while(i.hasNext()) {
+               list.add(i.next());
             }
-
             // Sort it
             Collections.sort(list, comparator);
-
             iterator = list.iterator();
 
             return SUCCESS;




-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?   SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/