You are viewing a plain text version of this content. The canonical link for it is here.
Posted to taglibs-dev@jakarta.apache.org by ba...@apache.org on 2009/05/25 11:06:27 UTC

svn commit: r778359 - /jakarta/taglibs/sandbox/unstandard/trunk/src/main/java/org/apache/taglibs/unstandard/SizeTag.java

Author: bayard
Date: Mon May 25 09:06:26 2009
New Revision: 778359

URL: http://svn.apache.org/viewvc?rev=778359&view=rev
Log:
Fixing bugzilla entry 45433. SizeTag doesn't accept arrays

Modified:
    jakarta/taglibs/sandbox/unstandard/trunk/src/main/java/org/apache/taglibs/unstandard/SizeTag.java

Modified: jakarta/taglibs/sandbox/unstandard/trunk/src/main/java/org/apache/taglibs/unstandard/SizeTag.java
URL: http://svn.apache.org/viewvc/jakarta/taglibs/sandbox/unstandard/trunk/src/main/java/org/apache/taglibs/unstandard/SizeTag.java?rev=778359&r1=778358&r2=778359&view=diff
==============================================================================
--- jakarta/taglibs/sandbox/unstandard/trunk/src/main/java/org/apache/taglibs/unstandard/SizeTag.java (original)
+++ jakarta/taglibs/sandbox/unstandard/trunk/src/main/java/org/apache/taglibs/unstandard/SizeTag.java Mon May 25 09:06:26 2009
@@ -75,8 +75,15 @@
             if(target instanceof String) {
                 result = ( (String)target ).length();
             } else
-            if(target instanceof Collection) {
-                result = ( (Object[])target ).length;
+            if(target.getClass().isArray()) {
+                try {
+                    Field lengthField = target.getClass().getField("length");
+                    result = lengthField.getInt(target);
+                } catch(NoSuchFieldException nsfe) {
+                    throw new JspException("Array found without a length field", nsfe);
+                } catch(IllegalAccessException iae) {
+                    throw new JspException("Array found with a non-accessible length field", iae);
+                }
             }
         }
         if(var == null && result != -1) {



---------------------------------------------------------------------
To unsubscribe, e-mail: taglibs-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: taglibs-dev-help@jakarta.apache.org