[ 
https://issues.jboss.org/browse/RF-11875?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jan Papousek updated RF-11875:
------------------------------

    Steps to Reproduce: 
I have used "/richfaces/component-sample.jsf?demo=extendedDataTable" page in RF 
Showcase to reproduce the problem. 

1. Add the following code in "simpleTable-sample.xhtml" in h:form tag:
{code:xml}
<a4j:commandButton action="#{carsBean.remove}" value="removeFirst" >
        <a4j:param assignTo="#{carsBean.currentCarIndex}" value="1"/>
</a4j:commandButton>
{code}
2.Open this page "/richfaces/component-sample.jsf?demo=extendedDataTable" in 
browser.
3.Check "Turn ajax loading on/off" checkbox.
4.Click "removeFirst" button.
5.Scroll table content to the end.
6.Scroll table content to begin.

Table is not refreshed and following exception is logged: 
{noformat}
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
        at java.util.LinkedList.entry(LinkedList.java:365)
        at java.util.LinkedList.remove(LinkedList.java:357)
        at 
org.richfaces.renderkit.ExtendedDataTableRenderer$2.process(ExtendedDataTableRenderer.java:520)
        at org.ajax4jsf.model.SequenceDataModel.walk(SequenceDataModel.java:65)
        at 
org.richfaces.component.UIDataTableBase.walk(UIDataTableBase.java:261)
        at 
org.richfaces.renderkit.ExtendedDataTableRenderer.encodeMetaComponent(ExtendedDataTableRenderer.java:512)
        at 
org.richfaces.component.UIDataTableBase.encodeMetaComponent(UIDataTableBase.java:295)
        at 
org.richfaces.component.AbstractExtendedDataTable.encodeMetaComponent(AbstractExtendedDataTable.java:109)
        at 
org.richfaces.context.ExtendedPartialViewContextImpl$RenderVisitCallback.visit(ExtendedPartialViewContextImpl.java:493)
        at 
org.richfaces.context.BaseExtendedVisitContext.invokeVisitCallback(BaseExtendedVisitContext.java:321)
        at 
org.richfaces.context.ExtendedVisitContext.invokeMetaComponentVisitCallback(ExtendedVisitContext.java:68)
        at 
org.richfaces.component.AbstractExtendedDataTable.visitDataChildren(AbstractExtendedDataTable.java:122)
        at 
org.richfaces.component.UIDataAdaptor.visitTree(UIDataAdaptor.java:1357)
        at javax.faces.component.UIForm.visitTree(UIForm.java:266)
        at javax.faces.component.UIComponent.visitTree(UIComponent.java:797)
        at 
javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:992)
        at javax.faces.component.UIComponent.visitTree(UIComponent.java:797)
        at 
javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:992)
        at 
org.richfaces.context.ExtendedPartialViewContextImpl.processPartialRenderPhase(ExtendedPartialViewContextImpl.java:272)
        at 
org.richfaces.context.ExtendedPartialViewContextImpl.processPartial(ExtendedPartialViewContextImpl.java:194)
        at 
javax.faces.context.PartialViewContextWrapper.processPartial(PartialViewContextWrapper.java:88)
        at javax.faces.component.UIViewRoot.encodeChildren(UIViewRoot.java:389)
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:617)
...
{noformat}

----

*You can download and deploy already updated richfaces-showcase-jbas7.war from 
attachments on JBoss AS 7 (source codes are available on GitHub:* 
https://github.com/papousek/showcase/tree/RF-11875 *) instead of updating 
showcase on your own*.

  was:
I have used "/richfaces/component-sample.jsf?demo=extendedDataTable" page in RF 
Showcase to reproduce the problem. 

1. Add the following code in "simpleTable-sample.xhtml" in h:form tag:
{code:xml}
<a4j:commandButton action="#{carsBean.remove}" value="removeFirst" >
        <a4j:param assignTo="#{carsBean.currentCarIndex}" value="1"/>
</a4j:commandButton>
{code}
2.Open this page "/richfaces/component-sample.jsf?demo=extendedDataTable" in 
browser.
3.Check "Turn ajax loading on/off" checkbox.
4.Click "removeFirst" button.
5.Scroll table content to the end.
6.Scroll table content to begin.

Table is not refreshed and following exception is logged: 
{noformat}
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
        at java.util.LinkedList.entry(LinkedList.java:365)
        at java.util.LinkedList.remove(LinkedList.java:357)
        at 
org.richfaces.renderkit.ExtendedDataTableRenderer$2.process(ExtendedDataTableRenderer.java:520)
        at org.ajax4jsf.model.SequenceDataModel.walk(SequenceDataModel.java:65)
        at 
org.richfaces.component.UIDataTableBase.walk(UIDataTableBase.java:261)
        at 
org.richfaces.renderkit.ExtendedDataTableRenderer.encodeMetaComponent(ExtendedDataTableRenderer.java:512)
        at 
org.richfaces.component.UIDataTableBase.encodeMetaComponent(UIDataTableBase.java:295)
        at 
org.richfaces.component.AbstractExtendedDataTable.encodeMetaComponent(AbstractExtendedDataTable.java:109)
        at 
org.richfaces.context.ExtendedPartialViewContextImpl$RenderVisitCallback.visit(ExtendedPartialViewContextImpl.java:493)
        at 
org.richfaces.context.BaseExtendedVisitContext.invokeVisitCallback(BaseExtendedVisitContext.java:321)
        at 
org.richfaces.context.ExtendedVisitContext.invokeMetaComponentVisitCallback(ExtendedVisitContext.java:68)
        at 
org.richfaces.component.AbstractExtendedDataTable.visitDataChildren(AbstractExtendedDataTable.java:122)
        at 
org.richfaces.component.UIDataAdaptor.visitTree(UIDataAdaptor.java:1357)
        at javax.faces.component.UIForm.visitTree(UIForm.java:266)
        at javax.faces.component.UIComponent.visitTree(UIComponent.java:797)
        at 
javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:992)
        at javax.faces.component.UIComponent.visitTree(UIComponent.java:797)
        at 
javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:992)
        at 
org.richfaces.context.ExtendedPartialViewContextImpl.processPartialRenderPhase(ExtendedPartialViewContextImpl.java:272)
        at 
org.richfaces.context.ExtendedPartialViewContextImpl.processPartial(ExtendedPartialViewContextImpl.java:194)
        at 
javax.faces.context.PartialViewContextWrapper.processPartial(PartialViewContextWrapper.java:88)
        at javax.faces.component.UIViewRoot.encodeChildren(UIViewRoot.java:389)
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:617)
...
{noformat}



    
> rich:extendedDataTable in ajax loading mode, crashes when dataset length 
> changes between requests
> -------------------------------------------------------------------------------------------------
>
>                 Key: RF-11875
>                 URL: https://issues.jboss.org/browse/RF-11875
>             Project: RichFaces
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: component-ScrollableDataTable
>    Affects Versions: 4.1.0.Final
>         Environment: JSF-RI 2.0, Tomcat 6.0.29
>            Reporter: Dmitry Volkov
>            Assignee: Jan Papousek
>         Attachments: richfaces-showcase-jbas7.war
>
>
> rich:extendedDataTable in ajax loading mode(clientRows=".."), crashes when 
> dataset length changes between requests.
> It makes ajax loading mode unusable for database paging. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.jboss.org/secure/ContactAdministrators!default.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

Reply via email to