IndexOutOfBoundsException when PropertyResolver is using an invalid list index
------------------------------------------------------------------------------
Key: WICKET-2337
URL: https://issues.apache.org/jira/browse/WICKET-2337
Project: Wicket
Issue Type: Bug
Components: wicket
Affects Versions: 1.3.6
Reporter: Matthias Keller
When using PropertyResolver.getValue("myList[1]", myBean), the
PropertyResolver$ListGetSet.getValue() (line 762) unconditionally does:
return ((List)object).get(index);
which throws an java.lang.IndexOutOfBoundsException: Index: 1, Size: 1 if
the backing list contains only one element (at index 0).
Shouldn't the implementation rather return null like with every other property
not found? Like when using "bla.bli.blo" as a lookup string and there is no bla
field and no getBla() method?
So this method should rather be:
org.apache.wicket.util.lang.PropertyResolver$ListGetSet.getValue():
/**
* @see
org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#getValue(java.lang.Object)
*/
public Object getValue(Object object)
{
List list = (List) object;
if (index >= list.size()) {
return null;
}
return list.get(index);
}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.