webwork/src/main/webwork/view/taglib IteratorTag.java,1.5,1.6

[email protected] Sun, 30 Jun 2002 22:22:52 -0700
Newsgroups gmane.comp.java.webwork.cvs
Message-ID <[email protected]>
Update of /cvsroot/webwork/webwork/src/main/webwork/view/taglib
In directory usw-pr-cvs1:/tmp/cvs-serv14958

Modified Files:
	IteratorTag.java 
Log Message:
modified to support primitive arrays

Index: IteratorTag.java
===================================================================
RCS file: /cvsroot/webwork/webwork/src/main/webwork/view/taglib/IteratorTag.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- IteratorTag.java	23 Jun 2002 23:54:02 -0000	1.5
+++ IteratorTag.java	1 Jul 2002 05:22:50 -0000	1.6
@@ -12,6 +12,7 @@
 import javax.servlet.jsp.JspTagException;
 import javax.servlet.jsp.PageContext;
 import java.util.*;
+import java.lang.reflect.Array;
 
 /**
  * Tag to iterate over an iterable value.
@@ -82,11 +83,13 @@
          }
          else if(value.getClass().isArray())
          {
-            //Category.getInstance(this.getClass()).debug("Array="+value+" "+value.getClass()+" "+((Object[])value)[0]);
-            ArrayList list = new ArrayList(((Object[])value).length);
-            Object[] objects = (Object[])value;
-            for(int j = 0; j < objects.length; j++)
-               list.add(objects[j]);
+            //need ability to support primitives; therefore, cannot
+            //use Object[] casting.
+            Object a = Array.newInstance(value.getClass().getComponentType(), (Array.getLength(value)));
+            ArrayList list = new ArrayList(Array.getLength(value));
+            for(int j = 0; j < Array.getLength(value); j++) {
+               list.add(Array.get(value, j));
+            }
             iterator = list.iterator();
          }
          else if(value instanceof Enumeration)




-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf