You are viewing a plain text version of this content. The canonical link for it is here.
Posted to adffaces-issues@incubator.apache.org by "Felix Gonschorek (JIRA)" <ad...@incubator.apache.org> on 2007/02/18 06:13:05 UTC

[jira] Created: (ADFFACES-385) Strange Exception with UIXCollection using and own CollectionModel implementation

Strange Exception with UIXCollection using <t:table /> and own CollectionModel implementation
---------------------------------------------------------------------------------------------

                 Key: ADFFACES-385
                 URL: https://issues.apache.org/jira/browse/ADFFACES-385
             Project: MyFaces ADF-Faces
          Issue Type: Bug
         Environment: Windows XP SP2
Tomcat 5.5.12
MyFaces Snapshots
Trinidad Snapshots
facelets-1.1.12
            Reporter: Felix Gonschorek


I implemented my own CollectionModel to support paging and sorting with Hibernate Criterias.
The first view of my <t:table /> works well, but with subsequent requests, i get an strange exception.
i fixed this, with the attached patch. i don't know, if this is an bug with my CollectionModel implementation or if this is an trinidad issue. I have seen in the SVN logs, that there has been issues with the UIXCollection.restoreStamps() method, maybe one should have a look at this.

Thank you all for your great work!


PATCH: (i have never contributed a patch to a project before, please excuse me if this is not perfectly prepared)
===================================================================
Index: C:/workspace/Trinidad/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXCollection.java
===================================================================
--- C:/workspace/Trinidad/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXCollection.java	(revision 508869)
+++ C:/workspace/Trinidad/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXCollection.java	(working copy)
@@ -863,6 +863,9 @@
     List<UIComponent> children = stamp.getChildren();
     Object[] childStateArray = (Object[]) state[2];
     int childIndex = 0;
+    if (children.isEmpty()) {
+        return;
+    }
     for(int i=0; i<childStateArray.length; i++)
     {
       Object childState = childStateArray[i];

===================================================================
EXCEPTION:
===================================================================
java.lang.IndexOutOfBoundsException: Index: 0
	at java.util.Collections$EmptyList.get(Unknown Source)
	at org.apache.myfaces.trinidad.component.UIXCollection.restoreStampState(UIXCollection.java:873)
	at org.apache.myfaces.trinidad.component.UIXTable.restoreStampState(UIXTable.java:338)
	at org.apache.myfaces.trinidad.component.StampState.restoreChildStampState(StampState.java:172)
	at org.apache.myfaces.trinidad.component.UIXTable.restoreStampState(UIXTable.java:335)
	at org.apache.myfaces.trinidad.component.StampState.restoreChildStampState(StampState.java:172)
	at org.apache.myfaces.trinidad.component.UIXTable.restoreStampState(UIXTable.java:335)
	at org.apache.myfaces.trinidad.component.UIXCollection._restoreStampState(UIXCollection.java:1188)
	at org.apache.myfaces.trinidad.component.UIXCollection.postRowDataChange(UIXCollection.java:741)
	at org.apache.myfaces.trinidad.component.UIXCollection.setRowIndex(UIXCollection.java:439)
	at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.table.TableUtils$RowLoop.loop(TableUtils.java:103)
	at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.table.TableUtils$RowLoop.run(TableUtils.java:76)
	at org.apache.myfaces.trinidadinternal.renderkit.core.desktop.DesktopTableRenderer._renderTableRows(DesktopTableRenderer.java:903)
	at org.apache.myfaces.trinidadinternal.renderkit.core.desktop.DesktopTableRenderer.renderTableRows(DesktopTableRenderer.java:637)
	at org.apache.myfaces.trinidadinternal.renderkit.core.desktop.DesktopTableRenderer.renderTableContent(DesktopTableRenderer.java:363)
	at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.TableRenderer.encodeAll(TableRenderer.java:282)
	at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:184)
	at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:701)
	at org.apache.myfaces.trinidad.component.UIXCollection.encodeEnd(UIXCollection.java:525)
	at org.apache.myfaces.trinidad.render.RenderUtils.encodeRecursive(RenderUtils.java:70)
	at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:258)
	at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:280)
	at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelPartialRootRenderer.renderContent(PanelPartialRootRenderer.java:73)
	at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.BodyRenderer.renderContent(BodyRenderer.java:137)
	at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelPartialRootRenderer.encodeAll(PanelPartialRootRenderer.java:153)
	at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.BodyRenderer.encodeAll(BodyRenderer.java:79)
	at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:184)
	at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:701)
	at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:252)
	at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:249)
	at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:249)
	at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:573)
	at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:182)
	at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
	at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:132)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:140)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:210)
	at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:167)
	at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:140)
	at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:93)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:190)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
	at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:833)
	at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:639)
	at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1285)
	at java.lang.Thread.run(Unknown Source)


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (ADFFACES-385) Strange Exception with UIXCollection using and own CollectionModel implementation

Posted by "Adam Winer (JIRA)" <ad...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/ADFFACES-385?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Adam Winer reassigned ADFFACES-385:
-----------------------------------

    Assignee: Adam Winer

> Strange Exception with UIXCollection using <t:table /> and own CollectionModel implementation
> ---------------------------------------------------------------------------------------------
>
>                 Key: ADFFACES-385
>                 URL: https://issues.apache.org/jira/browse/ADFFACES-385
>             Project: MyFaces ADF-Faces
>          Issue Type: Bug
>    Affects Versions: 1.0.1-incubating-core-SNAPSHOT
>         Environment: Windows XP SP2
> Tomcat 5.5.12
> MyFaces Snapshots
> Trinidad Snapshots
> facelets-1.1.12
>            Reporter: Felix Gonschorek
>         Assigned To: Adam Winer
>
> I implemented my own CollectionModel to support paging and sorting with Hibernate Criterias.
> The first view of my <t:table /> works well, but with subsequent requests, i get an strange exception.
> i fixed this, with the attached patch. i don't know, if this is an bug with my CollectionModel implementation or if this is an trinidad issue. I have seen in the SVN logs, that there has been issues with the UIXCollection.restoreStamps() method, maybe one should have a look at this.
> Thank you all for your great work!
> PATCH: (i have never contributed a patch to a project before, please excuse me if this is not perfectly prepared)
> ===================================================================
> Index: C:/workspace/Trinidad/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXCollection.java
> ===================================================================
> --- C:/workspace/Trinidad/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXCollection.java	(revision 508869)
> +++ C:/workspace/Trinidad/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXCollection.java	(working copy)
> @@ -863,6 +863,9 @@
>      List<UIComponent> children = stamp.getChildren();
>      Object[] childStateArray = (Object[]) state[2];
>      int childIndex = 0;
> +    if (children.isEmpty()) {
> +        return;
> +    }
>      for(int i=0; i<childStateArray.length; i++)
>      {
>        Object childState = childStateArray[i];
> ===================================================================
> EXCEPTION:
> ===================================================================
> java.lang.IndexOutOfBoundsException: Index: 0
> 	at java.util.Collections$EmptyList.get(Unknown Source)
> 	at org.apache.myfaces.trinidad.component.UIXCollection.restoreStampState(UIXCollection.java:873)
> 	at org.apache.myfaces.trinidad.component.UIXTable.restoreStampState(UIXTable.java:338)
> 	at org.apache.myfaces.trinidad.component.StampState.restoreChildStampState(StampState.java:172)
> 	at org.apache.myfaces.trinidad.component.UIXTable.restoreStampState(UIXTable.java:335)
> 	at org.apache.myfaces.trinidad.component.StampState.restoreChildStampState(StampState.java:172)
> 	at org.apache.myfaces.trinidad.component.UIXTable.restoreStampState(UIXTable.java:335)
> 	at org.apache.myfaces.trinidad.component.UIXCollection._restoreStampState(UIXCollection.java:1188)
> 	at org.apache.myfaces.trinidad.component.UIXCollection.postRowDataChange(UIXCollection.java:741)
> 	at org.apache.myfaces.trinidad.component.UIXCollection.setRowIndex(UIXCollection.java:439)
> 	at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.table.TableUtils$RowLoop.loop(TableUtils.java:103)
> 	at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.table.TableUtils$RowLoop.run(TableUtils.java:76)
> 	at org.apache.myfaces.trinidadinternal.renderkit.core.desktop.DesktopTableRenderer._renderTableRows(DesktopTableRenderer.java:903)
> 	at org.apache.myfaces.trinidadinternal.renderkit.core.desktop.DesktopTableRenderer.renderTableRows(DesktopTableRenderer.java:637)
> 	at org.apache.myfaces.trinidadinternal.renderkit.core.desktop.DesktopTableRenderer.renderTableContent(DesktopTableRenderer.java:363)
> 	at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.TableRenderer.encodeAll(TableRenderer.java:282)
> 	at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:184)
> 	at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:701)
> 	at org.apache.myfaces.trinidad.component.UIXCollection.encodeEnd(UIXCollection.java:525)
> 	at org.apache.myfaces.trinidad.render.RenderUtils.encodeRecursive(RenderUtils.java:70)
> 	at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:258)
> 	at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:280)
> 	at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelPartialRootRenderer.renderContent(PanelPartialRootRenderer.java:73)
> 	at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.BodyRenderer.renderContent(BodyRenderer.java:137)
> 	at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelPartialRootRenderer.encodeAll(PanelPartialRootRenderer.java:153)
> 	at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.BodyRenderer.encodeAll(BodyRenderer.java:79)
> 	at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:184)
> 	at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:701)
> 	at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:252)
> 	at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:249)
> 	at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:249)
> 	at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:573)
> 	at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:182)
> 	at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:132)
> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:140)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> 	at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:210)
> 	at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:167)
> 	at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:140)
> 	at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:93)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> 	at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:190)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
> 	at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:833)
> 	at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:639)
> 	at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1285)
> 	at java.lang.Thread.run(Unknown Source)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (ADFFACES-385) Strange Exception with UIXCollection using and own CollectionModel implementation

Posted by "Matthias Weßendorf (JIRA)" <ad...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/ADFFACES-385?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Matthias Weßendorf updated ADFFACES-385:
----------------------------------------

    Affects Version/s: 1.0.1-incubating-core-SNAPSHOT

> Strange Exception with UIXCollection using <t:table /> and own CollectionModel implementation
> ---------------------------------------------------------------------------------------------
>
>                 Key: ADFFACES-385
>                 URL: https://issues.apache.org/jira/browse/ADFFACES-385
>             Project: MyFaces ADF-Faces
>          Issue Type: Bug
>    Affects Versions: 1.0.1-incubating-core-SNAPSHOT
>         Environment: Windows XP SP2
> Tomcat 5.5.12
> MyFaces Snapshots
> Trinidad Snapshots
> facelets-1.1.12
>            Reporter: Felix Gonschorek
>
> I implemented my own CollectionModel to support paging and sorting with Hibernate Criterias.
> The first view of my <t:table /> works well, but with subsequent requests, i get an strange exception.
> i fixed this, with the attached patch. i don't know, if this is an bug with my CollectionModel implementation or if this is an trinidad issue. I have seen in the SVN logs, that there has been issues with the UIXCollection.restoreStamps() method, maybe one should have a look at this.
> Thank you all for your great work!
> PATCH: (i have never contributed a patch to a project before, please excuse me if this is not perfectly prepared)
> ===================================================================
> Index: C:/workspace/Trinidad/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXCollection.java
> ===================================================================
> --- C:/workspace/Trinidad/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXCollection.java	(revision 508869)
> +++ C:/workspace/Trinidad/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXCollection.java	(working copy)
> @@ -863,6 +863,9 @@
>      List<UIComponent> children = stamp.getChildren();
>      Object[] childStateArray = (Object[]) state[2];
>      int childIndex = 0;
> +    if (children.isEmpty()) {
> +        return;
> +    }
>      for(int i=0; i<childStateArray.length; i++)
>      {
>        Object childState = childStateArray[i];
> ===================================================================
> EXCEPTION:
> ===================================================================
> java.lang.IndexOutOfBoundsException: Index: 0
> 	at java.util.Collections$EmptyList.get(Unknown Source)
> 	at org.apache.myfaces.trinidad.component.UIXCollection.restoreStampState(UIXCollection.java:873)
> 	at org.apache.myfaces.trinidad.component.UIXTable.restoreStampState(UIXTable.java:338)
> 	at org.apache.myfaces.trinidad.component.StampState.restoreChildStampState(StampState.java:172)
> 	at org.apache.myfaces.trinidad.component.UIXTable.restoreStampState(UIXTable.java:335)
> 	at org.apache.myfaces.trinidad.component.StampState.restoreChildStampState(StampState.java:172)
> 	at org.apache.myfaces.trinidad.component.UIXTable.restoreStampState(UIXTable.java:335)
> 	at org.apache.myfaces.trinidad.component.UIXCollection._restoreStampState(UIXCollection.java:1188)
> 	at org.apache.myfaces.trinidad.component.UIXCollection.postRowDataChange(UIXCollection.java:741)
> 	at org.apache.myfaces.trinidad.component.UIXCollection.setRowIndex(UIXCollection.java:439)
> 	at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.table.TableUtils$RowLoop.loop(TableUtils.java:103)
> 	at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.table.TableUtils$RowLoop.run(TableUtils.java:76)
> 	at org.apache.myfaces.trinidadinternal.renderkit.core.desktop.DesktopTableRenderer._renderTableRows(DesktopTableRenderer.java:903)
> 	at org.apache.myfaces.trinidadinternal.renderkit.core.desktop.DesktopTableRenderer.renderTableRows(DesktopTableRenderer.java:637)
> 	at org.apache.myfaces.trinidadinternal.renderkit.core.desktop.DesktopTableRenderer.renderTableContent(DesktopTableRenderer.java:363)
> 	at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.TableRenderer.encodeAll(TableRenderer.java:282)
> 	at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:184)
> 	at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:701)
> 	at org.apache.myfaces.trinidad.component.UIXCollection.encodeEnd(UIXCollection.java:525)
> 	at org.apache.myfaces.trinidad.render.RenderUtils.encodeRecursive(RenderUtils.java:70)
> 	at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:258)
> 	at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:280)
> 	at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelPartialRootRenderer.renderContent(PanelPartialRootRenderer.java:73)
> 	at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.BodyRenderer.renderContent(BodyRenderer.java:137)
> 	at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelPartialRootRenderer.encodeAll(PanelPartialRootRenderer.java:153)
> 	at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.BodyRenderer.encodeAll(BodyRenderer.java:79)
> 	at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:184)
> 	at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:701)
> 	at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:252)
> 	at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:249)
> 	at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:249)
> 	at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:573)
> 	at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:182)
> 	at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:132)
> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:140)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> 	at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:210)
> 	at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:167)
> 	at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:140)
> 	at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:93)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> 	at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:190)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
> 	at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:833)
> 	at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:639)
> 	at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1285)
> 	at java.lang.Thread.run(Unknown Source)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (ADFFACES-385) Strange Exception with UIXCollection using and own CollectionModel implementation

Posted by "Adam Winer (JIRA)" <ad...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/ADFFACES-385?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Adam Winer resolved ADFFACES-385.
---------------------------------

    Resolution: Incomplete

I suspect I've finally fixed this bug.  Could you re-test with the latest snapshots?  However, if it still reproduces, I'll need more information to reproduce the bug.  I doubt it has anything to do with the collection model you've used.  It's probably just about the structure of components inside the table.

> Strange Exception with UIXCollection using <t:table /> and own CollectionModel implementation
> ---------------------------------------------------------------------------------------------
>
>                 Key: ADFFACES-385
>                 URL: https://issues.apache.org/jira/browse/ADFFACES-385
>             Project: MyFaces ADF-Faces
>          Issue Type: Bug
>    Affects Versions: 1.0.1-incubating-core-SNAPSHOT
>         Environment: Windows XP SP2
> Tomcat 5.5.12
> MyFaces Snapshots
> Trinidad Snapshots
> facelets-1.1.12
>            Reporter: Felix Gonschorek
>         Assigned To: Adam Winer
>
> I implemented my own CollectionModel to support paging and sorting with Hibernate Criterias.
> The first view of my <t:table /> works well, but with subsequent requests, i get an strange exception.
> i fixed this, with the attached patch. i don't know, if this is an bug with my CollectionModel implementation or if this is an trinidad issue. I have seen in the SVN logs, that there has been issues with the UIXCollection.restoreStamps() method, maybe one should have a look at this.
> Thank you all for your great work!
> PATCH: (i have never contributed a patch to a project before, please excuse me if this is not perfectly prepared)
> ===================================================================
> Index: C:/workspace/Trinidad/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXCollection.java
> ===================================================================
> --- C:/workspace/Trinidad/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXCollection.java	(revision 508869)
> +++ C:/workspace/Trinidad/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXCollection.java	(working copy)
> @@ -863,6 +863,9 @@
>      List<UIComponent> children = stamp.getChildren();
>      Object[] childStateArray = (Object[]) state[2];
>      int childIndex = 0;
> +    if (children.isEmpty()) {
> +        return;
> +    }
>      for(int i=0; i<childStateArray.length; i++)
>      {
>        Object childState = childStateArray[i];
> ===================================================================
> EXCEPTION:
> ===================================================================
> java.lang.IndexOutOfBoundsException: Index: 0
> 	at java.util.Collections$EmptyList.get(Unknown Source)
> 	at org.apache.myfaces.trinidad.component.UIXCollection.restoreStampState(UIXCollection.java:873)
> 	at org.apache.myfaces.trinidad.component.UIXTable.restoreStampState(UIXTable.java:338)
> 	at org.apache.myfaces.trinidad.component.StampState.restoreChildStampState(StampState.java:172)
> 	at org.apache.myfaces.trinidad.component.UIXTable.restoreStampState(UIXTable.java:335)
> 	at org.apache.myfaces.trinidad.component.StampState.restoreChildStampState(StampState.java:172)
> 	at org.apache.myfaces.trinidad.component.UIXTable.restoreStampState(UIXTable.java:335)
> 	at org.apache.myfaces.trinidad.component.UIXCollection._restoreStampState(UIXCollection.java:1188)
> 	at org.apache.myfaces.trinidad.component.UIXCollection.postRowDataChange(UIXCollection.java:741)
> 	at org.apache.myfaces.trinidad.component.UIXCollection.setRowIndex(UIXCollection.java:439)
> 	at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.table.TableUtils$RowLoop.loop(TableUtils.java:103)
> 	at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.table.TableUtils$RowLoop.run(TableUtils.java:76)
> 	at org.apache.myfaces.trinidadinternal.renderkit.core.desktop.DesktopTableRenderer._renderTableRows(DesktopTableRenderer.java:903)
> 	at org.apache.myfaces.trinidadinternal.renderkit.core.desktop.DesktopTableRenderer.renderTableRows(DesktopTableRenderer.java:637)
> 	at org.apache.myfaces.trinidadinternal.renderkit.core.desktop.DesktopTableRenderer.renderTableContent(DesktopTableRenderer.java:363)
> 	at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.TableRenderer.encodeAll(TableRenderer.java:282)
> 	at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:184)
> 	at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:701)
> 	at org.apache.myfaces.trinidad.component.UIXCollection.encodeEnd(UIXCollection.java:525)
> 	at org.apache.myfaces.trinidad.render.RenderUtils.encodeRecursive(RenderUtils.java:70)
> 	at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:258)
> 	at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:280)
> 	at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelPartialRootRenderer.renderContent(PanelPartialRootRenderer.java:73)
> 	at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.BodyRenderer.renderContent(BodyRenderer.java:137)
> 	at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelPartialRootRenderer.encodeAll(PanelPartialRootRenderer.java:153)
> 	at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.BodyRenderer.encodeAll(BodyRenderer.java:79)
> 	at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:184)
> 	at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:701)
> 	at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:252)
> 	at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:249)
> 	at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:249)
> 	at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:573)
> 	at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:182)
> 	at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:132)
> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:140)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> 	at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:210)
> 	at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:167)
> 	at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:140)
> 	at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:93)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> 	at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:190)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
> 	at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:833)
> 	at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:639)
> 	at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1285)
> 	at java.lang.Thread.run(Unknown Source)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.