ICEfaces
  1. ICEfaces
  2. ICE-6985

Error reading 'firstRow' on type com.icesoft.faces.component.datapaginator.DataPaginator

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Invalid
    • Affects Version/s: EE-2.0.0.GA
    • Fix Version/s: 3.0, EE-2.0.0.GA_P01
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      Tomcat 7.0.12

      Description

      When creating a print preview window for a single page application I launch another window to the same url with the same backing beans, only toggling certain features (such as stylesheet) for print preview mode.

      This works fine except for one condition. On a page with an ice:dataTable and ice:dataPaginator, if you interact with the paginator, it works fine. However, if you do not interact with the paginator you get the following exception.

      javax.el.ELException: /WEB-INF/includes/content/tabs/screen1.xhtml @40,102 first="#{printPreviewBackingBean.printPreview ? tab.pager.firstRow : ''}": Error reading 'firstRow' on type com.icesoft.faces.component.datapaginator.DataPaginator
      at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:114)
      at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
      at javax.faces.component.UIData.getFirst(UIData.java:259)
      at com.icesoft.faces.component.panelseries.UISeries.ensureFirstRowInRange(UISeries.java:662)
      at com.icesoft.faces.component.ext.renderkit.TableRenderer.encodeChildren(TableRenderer.java:596)
      at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
      at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:346)
      at com.icesoft.faces.renderkit.dom_html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:84)
      at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
      at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1756)
      at javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
      at org.icefaces.impl.renderkit.RendererWrapper.encodeChildren(RendererWrapper.java:54)
      at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
      at org.icefaces.component.utils.Utils.renderChild(Utils.java:62)
      at org.icefaces.component.utils.Utils.renderChildren(Utils.java:48)
      at org.icefaces.component.utils.Utils.renderChild(Utils.java:64)
      at org.icefaces.component.utils.Utils.renderChildren(Utils.java:48)
      at org.icefaces.component.utils.Utils.renderChild(Utils.java:64)
      at org.icefaces.component.tab.TabSetRenderer.renderTabBody(TabSetRenderer.java:433)
      at org.icefaces.component.tab.TabSetRenderer.doTabs(TabSetRenderer.java:469)
      at org.icefaces.component.tab.TabSetRenderer.recursivelyRenderSafe(TabSetRenderer.java:312)
      at org.icefaces.component.tab.TabSetRenderer.encodeEnd(TabSetRenderer.java:245)
      at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
      at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:312)
      at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:105)
      at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
      at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1756)
      at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1759)
      at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1759)
      at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:401)
      at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
      at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
      at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
      at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
      at javax.faces.webapp.FacesServlet.service(FacesServlet.java:410)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
      at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:395)
      at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:306)
      at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:323)
      at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1719)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      at java.lang.Thread.run(Thread.java:619)

      The el expression was required on the ice:dataTable because without it, the print preview page would always show the first page even though the user may have paginated to any of the other pages. The el expression successfully gives a print preview of the appropriate page except for the case where the user has not paginated and remains on page 1.

      I was able to recreate the issue with the application at the following location - repo\services\williams\williamspoc. Revision #28045 shows the code alterations to add a print preview page.

        Activity

        Hide
        Adnan Durrani added a comment -

        Brad any suggestion?

        Show
        Adnan Durrani added a comment - Brad any suggestion?
        Hide
        Brad Kroeger added a comment -

        We have removed the ice:datatable from the poc as the client is now working with the ace:datatable. This issue does not apply to the new ace:datatable and the poc has been modified to use the ace:datatable, so at this point we cannot recreate the issue.

        Show
        Brad Kroeger added a comment - We have removed the ice:datatable from the poc as the client is now working with the ace:datatable. This issue does not apply to the new ace:datatable and the poc has been modified to use the ace:datatable, so at this point we cannot recreate the issue.

          People

          • Assignee:
            Unassigned
            Reporter:
            Brad Kroeger
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: