ArrayIndexOutOfBoundsException for scrollableDataTable in 3.2.2 GA and 3.3.3
snapshot
-------------------------------------------------------------------------------------
Key: RF-4517
URL: https://jira.jboss.org/jira/browse/RF-4517
Project: RichFaces
Issue Type: Bug
Affects Versions: 3.2.2
Environment: Browser independent
Reporter: andreas_back
Subversion shows that konstantin.mishin introduced the code
String[] si = options.split(",");
grid.setFirst(Integer.parseInt(si[1]));
component.getAttributes().put(ScrollableDataTableUtils.CLIENT_ROW_KEY,
Integer.parseInt(si[3]));
into the class ScrollableDataTableBaseRenderer at 02 September 2008 for the
bugfix of RF-4367.
After changing to 3.2.2 GA we see the following exception for
scrollableDataTables.
The exception occurs if the table contains less rows than the rows parameter in
the
definition of the rich:scrollableDataTable:
java.lang.ArrayIndexOutOfBoundsException: 3
org.richfaces.renderkit.html.ScrollableDataTableBaseRenderer.doDecode(ScrollableDataTableBaseRenderer.java:651)
org.ajax4jsf.renderkit.RendererBase.decode(RendererBase.java:76)
javax.faces.component.UIComponentBase.decode(UIComponentBase.java:789)
org.ajax4jsf.component.UIDataAdaptor.processDecodes(UIDataAdaptor.java:1159)
org.ajax4jsf.component.UIDataAdaptor.processDecodes(UIDataAdaptor.java:1168)
org.richfaces.component.UIScrollableDataTable.processDecodes(UIScrollableDataTable.java:140)
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1026)
javax.faces.component.UIForm.processDecodes(UIForm.java:209)
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1026)
org.richfaces.component.UISwitchablePanel.processDecodes(UISwitchablePanel.java:169)
org.richfaces.component.UITabPanel.processDecodes(UITabPanel.java:154)
org.ajax4jsf.component.AjaxViewRoot$1.invokeContextCallback(AjaxViewRoot.java:392)
org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:238)
org.ajax4jsf.component.AjaxViewRoot.processDecodes(AjaxViewRoot.java:409)
com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:78)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:177)
org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:267)
org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:380)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:507)
Within the class ScrollableDataTableBaseRenderer the string options contains
for example a string
"0,0,19"
if rows="19" is set in the specification of the
scrollableDataTable. Therefore the array si has a length of 3, which results
into the execption.
Changing ScrollableDataTableBaseRenderer.java from
component.getAttributes().put(ScrollableDataTableUtils.CLIENT_ROW_KEY,
Integer.parseInt(si[3]));
into
component.getAttributes().put(ScrollableDataTableUtils.CLIENT_ROW_KEY,
Integer.parseInt(si[2]));
seems to resolve this error in the test that have been done locally.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
richfaces-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/richfaces-issues