Component ID j_id_id8:transScrollfirst has already been found in the view.
--------------------------------------------------------------------------

                 Key: TOMAHAWK-1249
                 URL: https://issues.apache.org/jira/browse/TOMAHAWK-1249
             Project: MyFaces Tomahawk
          Issue Type: Bug
          Components: Data Scroller
    Affects Versions: 1.1.6
         Environment: Windows
java version "1.6.0_03"
GlassFish V2ur1
Liferay 4.4.1
jsf-api-1.2_07.jar
jsf-impl-1.2_07.jar
jsf-portlet-1.2.2_01.jar
jstl-1.2.jar

            Reporter: Jan Nielsen


Posted on behalf Babu:

We are attempting to achieve a paged, sortable data table using
Tomahawk's t:dataScroller. It is deployed in Glassfish app server
inside a portlet. When the page is first hit, the table renders
successfully. After the first rendering, if the page is refreshed, the
exception below is encountered.

The JSP page is as follows:

<t:dataTable id="studentTable" value='#{department.students}' 
            var="student"
            border="0" 
            rows="5"
            styleClass="liferay-table taglib-search-iterator" 
            rowClasses="portlet-section-alternate,portlet-section-body"
            sortColumn="#{department.sortColumn}"
            sortable="true" >            
            <t:column defaultSorted="true">
                <f:facet name="header">
                        <t:commandSortHeader columnName="ID" arrow="true">
                        <h:outputText value="#{msgs.IdColumnHeader}"/>
                    </t:commandSortHeader>
                </f:facet>
                <h:outputText value="#{student.Id}" />
            </t:column>
            <t:column>
                <f:facet name="header">
                        <t:commandSortHeader columnName="name" arrow="true">    
            
                        <h:outputText value="#{msgs.nameColumnHeader}"/>
                    </t:commandSortHeader>
                </f:facet>
                <h:outputText value="#{student.name}" />
            </t:column>
                        ...
        </t:dataTable>
                <h:panelGrid columns="1" styleClass="scrollerTable2" 
columnClasses="standardTable_ColumnCentered" >
                    <t:dataScroller id="studentScroll"
                                    for="studentTable"
                                    fastStep="10"
                                    pageCountVar="pageCount"
                                    pageIndexVar="pageIndex"
                                    styleClass="scroller"
                                    paginator="true"
                                    paginatorMaxPages="9"
                                    paginatorTableClass="paginator"
                                    
paginatorActiveColumnStyle="font-weight:bold;">            
                        <f:facet name="first" >
                                    <h:outputText id="firstLink" 
value="First"/>                
                        </f:facet>
                        <f:facet name="last">
                            <h:outputText id="lastLink" value="Last"/>
                        </f:facet>
                        <f:facet name="previous">
                            <h:outputText id="previousLink" value="Previous"/>
                        </f:facet>
                        <f:facet name="next">
                            <h:outputText id="nextLink" value="Next"/>
                        </f:facet>
                    </t:dataScroller>
                </h:panelGrid> 


department managed bean is configured as following in faces-config.xml:

    <managed-bean>
        <managed-bean-name>department</managed-bean-name>
        <managed-bean-class>xyz.abc.Department</managed-bean-class>
        <managed-bean-scope>session</managed-bean-scope>        
    </managed-bean>
 
During the first parse of the JSP page, the HtmlDataScrollerRenderer
contructs one HtmlCommandLink object for each facet (First, Last,
Previous and Next in the above example) and each page link in the
getLink() method. All HtmlCommandLink objects are added as children to
the scroller. When the page is refreshed, another set of child
HtmlCommandLink objects with the same IDs as the ones created for the
previous request is added to the rendered. This results in an ID
conflict as each ID is now shared by 2 child links. Hence the
IllegalStateException.


[#|2008-05-02T16:32:33.068-0600|INFO|sun-appserver9.1|null|_ThreadID=19;_ThreadName=httpSSLWorkerThread-8080-0;RENDER_RESPONSE
 6;[EMAIL PROTECTED];|PS_CSFP0033
java.lang.IllegalStateException: Component ID j_id_id8:transScrollfirst has 
already been found in the view. See below for details.
+id: j_id_id6
 type: [EMAIL PROTECTED]
  +id: j_id_id8
   type: [EMAIL PROTECTED]
    +id: j_id_id10
     type: [EMAIL PROTECTED]
    +id: transTable
     type: [EMAIL PROTECTED]
      +id: j_id_id14
       type: [EMAIL PROTECTED]
        +id: j_id_id18
         type: [EMAIL PROTECTED]
          +id: j_id_id20
           type: [EMAIL PROTECTED]
        +id: j_id_id24
         type: [EMAIL PROTECTED]
      +id: j_id_id27
       type: [EMAIL PROTECTED]
        +id: j_id_id31
         type: [EMAIL PROTECTED]
          +id: j_id_id33
           type: [EMAIL PROTECTED]
        +id: j_id_id37
         type: [EMAIL PROTECTED]
      +id: j_id_id40
       type: [EMAIL PROTECTED]
        +id: j_id_id44
         type: [EMAIL PROTECTED]
          +id: j_id_id46
           type: [EMAIL PROTECTED]
        +id: j_id_id50
         type: [EMAIL PROTECTED]
      +id: j_id_id53
       type: [EMAIL PROTECTED]
        +id: j_id_id57
         type: [EMAIL PROTECTED]
          +id: j_id_id59
           type: [EMAIL PROTECTED]
        +id: j_id_id63
         type: [EMAIL PROTECTED]
      +id: j_id_id66
       type: [EMAIL PROTECTED]
        +id: j_id_id70
         type: [EMAIL PROTECTED]
          +id: j_id_id72
           type: [EMAIL PROTECTED]
        +id: j_id_id76
         type: [EMAIL PROTECTED]
      +id: j_id_id79
       type: [EMAIL PROTECTED]
        +id: j_id_id83
         type: [EMAIL PROTECTED]
          +id: j_id_id85
           type: [EMAIL PROTECTED]
        +id: j_id_id89
         type: [EMAIL PROTECTED]
    +id: j_id_id93
     type: [EMAIL PROTECTED]
      +id: transScroll
       type: [EMAIL PROTECTED]
        +id: j_id_id109
         type: [EMAIL PROTECTED]
        +id: j_id_id104
         type: [EMAIL PROTECTED]
        +id: j_id_id114
         type: [EMAIL PROTECTED]
        +id: j_id_id99
         type: [EMAIL PROTECTED]
        +id: transScrollfirst
         type: [EMAIL PROTECTED]
          +id: transScrollfirst_param
           type: [EMAIL PROTECTED]
        +id: transScrollprevious
         type: [EMAIL PROTECTED]
          +id: transScrollprevious_param
           type: [EMAIL PROTECTED]
        +id: transScrollidx1
         type: [EMAIL PROTECTED]
          +id: transScrollidx1_param
           type: [EMAIL PROTECTED]
          +id: null
           type: [EMAIL PROTECTED]
        +id: transScrollidx2
         type: [EMAIL PROTECTED]
          +id: transScrollidx2_param
           type: [EMAIL PROTECTED]
          +id: null
           type: [EMAIL PROTECTED]
        +id: transScrollidx3
         type: [EMAIL PROTECTED]
          +id: transScrollidx3_param
           type: [EMAIL PROTECTED]
          +id: null
           type: [EMAIL PROTECTED]
        +id: transScrollnext
         type: [EMAIL PROTECTED]
          +id: transScrollnext_param
           type: [EMAIL PROTECTED]
        +id: transScrolllast
         type: [EMAIL PROTECTED]
          +id: transScrolllast_param
           type: [EMAIL PROTECTED]
        +id: transScrollfirst
         type: [EMAIL PROTECTED]
          +id: transScrollfirst_param
           type: [EMAIL PROTECTED]
        +id: transScrollprevious
         type: [EMAIL PROTECTED]
          +id: transScrollprevious_param
           type: [EMAIL PROTECTED]
        +id: transScrollidx1
         type: [EMAIL PROTECTED]
          +id: transScrollidx1_param
           type: [EMAIL PROTECTED]
          +id: null
           type: [EMAIL PROTECTED]
        +id: transScrollidx2
         type: [EMAIL PROTECTED]
          +id: transScrollidx2_param
           type: [EMAIL PROTECTED]
          +id: null
           type: [EMAIL PROTECTED]
        +id: transScrollidx3
         type: [EMAIL PROTECTED]
          +id: transScrollidx3_param
           type: [EMAIL PROTECTED]
          +id: null
           type: [EMAIL PROTECTED]
        +id: transScrollnext
         type: [EMAIL PROTECTED]
          +id: transScrollnext_param
           type: [EMAIL PROTECTED]
        +id: transScrolllast
         type: [EMAIL PROTECTED]
          +id: transScrolllast_param
           type: [EMAIL PROTECTED]
  +id: teamdevValidationProcessor
   type: [EMAIL PROTECTED]

at 
com.sun.faces.application.StateManagerImpl.checkIdUniqueness(StateManagerImpl.java:335)
at 
com.sun.faces.application.StateManagerImpl.checkIdUniqueness(StateManagerImpl.java:322)
at 
com.sun.faces.application.StateManagerImpl.checkIdUniqueness(StateManagerImpl.java:322)
at 
com.sun.faces.application.StateManagerImpl.checkIdUniqueness(StateManagerImpl.java:322)
at 
com.sun.faces.application.StateManagerImpl.saveSerializedView(StateManagerImpl.java:199)
at javax.faces.application.StateManager.saveView(StateManager.java:155)
at 
com.sun.faces.portlet.ViewHandlerImpl$WriteBehindStringWriter.flushToWriter(ViewHandlerImpl.java:486)
at com.sun.faces.portlet.ViewHandlerImpl.renderView(ViewHandlerImpl.java:281)
at teamdev.jsf.cb.renderView(SourceFile:45)
at teamdev.jsf.aq.renderView(SourceFile:404)
at 
com.sun.faces.portlet.LifecycleImpl$RenderResponsePhase.execute(LifecycleImpl.java:691)
at com.sun.faces.portlet.LifecycleImpl.phase(LifecycleImpl.java:330)
at com.sun.faces.portlet.LifecycleImpl.render(LifecycleImpl.java:266)
at com.sun.faces.portlet.FacesPortlet.renderFaces(FacesPortlet.java:358)
at com.sun.faces.portlet.FacesPortlet.doView(FacesPortlet.java:286)
at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:235)
at javax.portlet.GenericPortlet.render(GenericPortlet.java:163)
at 
com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:102)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
at 
org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
at 
org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:855)
at 
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:703)
at 
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:660)
at 
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:578)
at com.liferay.portlet.CachePortlet._invoke(CachePortlet.java:408)
at com.liferay.portlet.CachePortlet.render(CachePortlet.java:251)
at 
org.apache.jsp.html.portal.render_005fportlet_jsp._jspService(render_005fportlet_jsp.java
 from :1323)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:93)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:470)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:364)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
at 
org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
at 
org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:855)
at 
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:703)
at 
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:660)
at 
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:578)
at com.liferay.portal.util.PortalUtil.renderPortlet(PortalUtil.java:1862)
at 
com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processPortlet(RuntimePortletUtil.java:165)
at 
com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processPortlet(RuntimePortletUtil.java:102)
at 
com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processTemplate(RuntimePortletUtil.java:270)
at 
com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processTemplate(RuntimePortletUtil.java:189)
at 
org.apache.jsp.html.portal.layout.view.portlet_jsp._jspService(portlet_jsp.java 
from :784)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:93)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:470)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:364)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
at 
org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
at 
org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:855)
at 
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:703)
at 
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:660)
at 
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:578)
at 
com.liferay.portal.action.LayoutAction.includeLayoutContent(LayoutAction.java:308)
at com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:185)
at 
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at 
com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:158)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
at 
com.liferay.portal.servlet.MainServlet.callParentService(MainServlet.java:401)
at com.liferay.portal.servlet.MainServlet.service(MainServlet.java:630)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
at 
org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:317)
at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:98)
at 
com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.doFilter(VirtualHostFilter.java:149)
at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:98)
at 
com.liferay.portal.servlet.filters.sessionid.SessionIdFilter.doFilter(SessionIdFilter.java:81)
at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
at 
org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:853)
at 
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:703)
at 
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:542)
at 
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:474)
at 
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:366)
at 
com.liferay.portal.servlet.FriendlyURLServlet.service(FriendlyURLServlet.java:137)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
at 
org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:317)
at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:98)
at com.liferay.filters.strip.StripFilter.doFilter(StripFilter.java:88)
at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:98)
at 
com.liferay.filters.compression.CompressionFilter.doFilter(CompressionFilter.java:118)
at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:98)
at com.liferay.filters.secure.SecureFilter.doFilter(SecureFilter.java:150)
at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:98)
at 
com.liferay.filters.doubleclick.DoubleClickFilter.doFilter(DoubleClickFilter.java:132)
at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:98)
at 
com.liferay.portal.servlet.filters.layoutcache.LayoutCacheFilter.doFilter(LayoutCacheFilter.java:190)
at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:98)
at 
com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.doFilter(AutoLoginFilter.java:108)
at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:98)
at 
com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.doFilter(VirtualHostFilter.java:173)
at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:98)
at 
com.liferay.portal.servlet.filters.sessionid.SessionIdFilter.doFilter(SessionIdFilter.java:81)
at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:288)
at 
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272)
at 
com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
at 
com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
at 
com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
at 
com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
at 
com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
at 
com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
at 
com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
|#] 

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

Reply via email to