[ https://issues.apache.org/jira/browse/ADFFACES-424?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Noah Sloan updated ADFFACES-424: -------------------------------- Status: Patch Available (was: Open) > UIData preceded by transient component in tr:table's detailStamp facet causes > index out of bounds exception > ----------------------------------------------------------------------------------------------------------- > > Key: ADFFACES-424 > URL: https://issues.apache.org/jira/browse/ADFFACES-424 > Project: MyFaces ADF-Faces > Issue Type: Bug > Components: Components, Facelets > Environment: Using build from latest source as of 5PM CST 21 March > 2007 > Tomcat 5.5 > MyFaces & Tomhawk 1.1.5 > Reporter: Noah Sloan > > Trying to use a UIData inside the detailStamp of a tr:table. The > detail stamp also contains HTML (using Facelets). When clicking on > 'Show', nothing changes and catalina.out show a PPR error (trace > below). Occurs with ui:repeat, t:dataList and tr:iterator. > Example page: > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" > "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> > <tr:document xmlns:ui="http://java.sun.com/jsf/facelets" > xmlns:f="http://java.sun.com/jsf/core" > xmlns:t="http://myfaces.apache.org/tomahawk" > xmlns:c="http://java.sun.com/jstl/core" > xmlns:h="http://java.sun.com/jsf/html" > xmlns:tr="http://myfaces.apache.org/trinidad"> > <h:form> > <tr:table value="#{fooBean.foo}" var="foo"> > <tr:column headerText="value"> > <h:outputText value="#{foo}"/> > </tr:column> > <f:facet name="detailStamp"> > <h:panelGroup> > <div> > <t:dataList var="bar" value="#{fooBean.foo}"> > <h:outputText value="#{bar}"/><br/> > </t:dataList> > </div> > </h:panelGroup> > </f:facet> > </tr:table> > </h:form> > </tr:document> > If UIData is removed, no error. Removing the surrounding div > (or other markup) also no error. Markup after the UIData is fine. It > only seems to occur when UIData follows HTML. Non-UIData > components also seem to work just fine. > fooBean.foo is an ArrayList<String> > Stack Trace from logs: > Mar 21, 2007 3:56:48 PM > org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelPartialRootRenderer > encodeAll > SEVERE: Error during partial-page rendering > java.lang.IndexOutOfBoundsException: Index: 0 > at java.util.Collections$EmptyList.get(Collections.java:2970) > 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.UIXCollection.restoreStampState(UIXCollection.java:873) > at > org.apache.myfaces.trinidad.component.UIXTable.restoreStampState(UIXTable.java:338) > 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:704) > at > org.apache.myfaces.trinidad.component.UIXCollection.encodeEnd(UIXCollection.java:525) > at > org.apache.myfaces.shared_impl.renderkit.RendererUtils.renderChild(RendererUtils.java:417) > at > org.apache.myfaces.shared_impl.renderkit.RendererUtils.renderChildren(RendererUtils.java:398) > at > org.apache.myfaces.shared_impl.renderkit.html.HtmlGroupRendererBase.encodeEnd(HtmlGroupRendererBase.java:78) > at > javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:539) > at > org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChild(RendererUtils.java:417) > at > org.apache.myfaces.custom.tabbedpane.HtmlTabbedPaneRenderer.writeTabsContents(HtmlTabbedPaneRenderer.java:550) > at > org.apache.myfaces.custom.tabbedpane.HtmlTabbedPaneRenderer.encodeEnd(HtmlTabbedPaneRenderer.java:232) > at > javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:539) > 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:108) > at > org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.BodyRenderer.encodeAll(BodyRenderer.java:79) > at > org.apache.myfaces.trinidad.render.CoreRenderer.delegateRenderer(CoreRenderer.java:297) > at > org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.DocumentRenderer.encodeAll(DocumentRenderer.java:81) > at > org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:184) > at > org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:704) > at > com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:242) > at > com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:239) > at > com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:580) > 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.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:174) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) > 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.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:81) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) > at > org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107) > at > org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72) > at > org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:90) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) > at > org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110) > at > org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:90) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) > at > org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:216) > at > org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:90) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) > at > org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:195) > at > org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:90) > 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:147) > 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.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432) > 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.Http11Processor.process(Http11Processor.java:869) > at > org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) > at > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) > at > org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) > at > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) > at java.lang.Thread.run(Thread.java:619) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.