Been doing some research since my last post.  Here's the setup, same
application code, same struts jars, same app server switching between JDK
1.3.1 and 1.4.1:

When processing a submit, in the PropertyUtils the following check is made
in the getIndexedProperty method on or around line 468:

 if (descriptor instanceof IndexedPropertyDescriptor) {

With JDK 1.3.1 running descriptor is indeed an IndexedPropertyDescriptor,
but with JDK 1.4.1 I get a java.beans.PropertyDescriptor, so the code passes
by the block that should handle the property I've passed an onto a block of
code that results in the IndexOutOfBoundsException.

This seems like a 1.4.1 induced bug.  Should I log it in Bugzilla?  Has
anyone else seen this bug?



> -----Original Message-----
> From: Jim Krygowski [mailto:james.krygowski@;shaws.com]
> Sent: Thursday, November 14, 2002 11:32 AM
> To: Struts Users Mailing List
> Subject: IndexOutOfBounds error, Struts 1.1b2, J2SDK 1.4.1
>
>
> Hi all-
>
> we have an application originally written to struts 1.1b2 and
> J2SDK 1.3.1_03
> that was working fine.  Recently, we've been given the signal to
> upgrade to
> J2SDK 1.4.1.  Fine, but now we're finding that our form posts are failing
> with IndexOutOfBoundsException.  I've traced through the Struts
> source with
> a debugger and found the problem in this block of PropertyUtils code:
>
>         // Call the property getter and return the value
>         Object value = readMethod.invoke(bean, new Object[0]);
>         if (!value.getClass().isArray()) {
>             if (!(value instanceof java.util.List)) {
>                 throw new IllegalArgumentException("Property '" + name
>                         + "' is not indexed");
>             } else {
>                 //get the List's value
>                 return ((java.util.List) value).get(index);
>             }
>         } else {
>             //get the array's value
>             return (Array.get(value, index));
>         }
>
> It seems to me that the line:
>
> return ((java.util.List) value).get(index)
>
> fails because the form bean just got created by Struts and hasn't been
> populated yet.  However, it works just fine when I switch back to
> JDK 1.3.1.
>
> Anyone got any suggestions as to what might be happening?
>
>
> --
> To unsubscribe, e-mail:
<mailto:struts-user-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail:
<mailto:struts-user-help@;jakarta.apache.org>



--
To unsubscribe, e-mail:   <mailto:struts-user-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:struts-user-help@;jakarta.apache.org>

Reply via email to