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

        Brad Kroeger created issue -
        Brad Kroeger made changes -
        Field Original Value New Value
        Assignee Ken Fyten [ ken.fyten ]
        Brad Kroeger made changes -
        Salesforce Case [5007000000Gx9dF]
        Ken Fyten made changes -
        Fix Version/s EE-2.0.0.GA_P01 [ 10271 ]
        Fix Version/s 2.1 [ 10241 ]
        Assignee Priority P3
        Assignee Ken Fyten [ ken.fyten ] Adnan Durrani [ adnan.durrani ]
        Adnan Durrani made changes -
        Assignee Adnan Durrani [ adnan.durrani ] Brad Kroeger [ brad.kroeger ]
        Ken Fyten made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Assignee Priority P3
        Resolution Invalid [ 6 ]
        Assignee Brad Kroeger [ brad.kroeger ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

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

            Dates

            • Created:
              Updated:
              Resolved: