ICEfaces
  1. ICEfaces
  2. ICE-9578

showcase - ace:dataTable Server Internal Error popup when columns are reordered via Table Config (PartialStateSavings=false, MyFaces specific)

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 4.0.BETA, EE-3.3.0.GA_P02
    • Fix Version/s: 4.0, EE-3.3.0.GA_P03
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      Icefaces3 trunk revision# 37817
      Server: tomcat6
      Browser: FF3.6, IE7 & GoogleChrome29
      Application: showcase (built with MyFaces JSF)
    • Assignee Priority:
      P2

      Description

      In showcase -> ace:dataTable:

      > Table Configuration: Server Internal Error popup when changing order of the columns from the configuration panel (partialStateSavings=false specific).

      9-Sep-2013 12:34:57 PM org.apache.catalina.core.StandardWrapperValve invoke
      SEVERE: Servlet.service() for servlet [Faces Servlet] in context with path [/showcase] threw exception [null] with root cause
      java.lang.NullPointerException
          at javax.faces.component.UIComponentBase.getRenderer(UIComponentBase.java:1304)
          at javax.faces.component.UIComponentBase.getClientId(UIComponentBase.java:943)
          at javax.faces.component.UIComponent.getContainerClientId(UIComponent.java:450)
          at javax.faces.component.UIForm.getContainerClientId(UIForm.java:465)
          at org.icefaces.ace.component.datatable.DataTable.UIComponentBase_getClientId(DataTable.java:1793)
          at org.icefaces.ace.component.datatable.DataTable.getClientId(DataTable.java:1669)
          at org.icefaces.ace.component.datatable.DataTable.getContainerClientId(DataTable.java:1646)
          at javax.faces.component.UIComponentBase.getClientId(UIComponentBase.java:926)
          at org.icefaces.ace.component.datatable.DataTable.setTableConfigPanel(DataTable.java:651)
          at org.icefaces.ace.component.tableconfigpanel.TableConfigPanel.getTargetedDatatable(TableConfigPanel.java:40)
          at org.icefaces.ace.component.tableconfigpanel.TableConfigPanel.setInView(TableConfigPanel.java:57)
          at javax.faces.component.UIComponentBase._updateInView(UIComponentBase.java:315)
          at javax.faces.component.UIComponentBase._updateInView(UIComponentBase.java:322)
          at javax.faces.component.UIComponentBase._updateInView(UIComponentBase.java:322)
          at javax.faces.component.UIComponentBase._updateInView(UIComponentBase.java:322)
          at javax.faces.component.UIComponentBase._updateInView(UIComponentBase.java:322)
          at javax.faces.component.UIComponentBase._updateInView(UIComponentBase.java:322)
          at javax.faces.component.UIComponentBase._updateInView(UIComponentBase.java:322)
          at javax.faces.component.UIComponentBase._updateInView(UIComponentBase.java:322)
          at javax.faces.component.UIComponentBase._updateInView(UIComponentBase.java:322)
          at javax.faces.component.UIComponentBase.setParent(UIComponentBase.java:219)
          at javax.faces.component._ComponentChildrenList.updateParent(_ComponentChildrenList.java:132)
          at javax.faces.component._ComponentChildrenList.add(_ComponentChildrenList.java:82)
          at javax.faces.component._ComponentChildrenList.add(_ComponentChildrenList.java:33)
          at org.apache.myfaces.application.TreeStructureManager.internalRestoreTreeStructure(TreeStructureManager.java:132)
          at org.apache.myfaces.application.TreeStructureManager.restoreTreeStructure(TreeStructureManager.java:104)
          at org.apache.myfaces.application.StateManagerImpl.restoreView(StateManagerImpl.java:142)
          at org.apache.myfaces.shared.view.ViewDeclarationLanguageBase.restoreView(ViewDeclarationLanguageBase.java:106)
          at org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.restoreView(FaceletViewDeclarationLanguage.java:2118)
          at org.apache.myfaces.application.ViewHandlerImpl.restoreView(ViewHandlerImpl.java:313)
          at javax.faces.application.ViewHandlerWrapper.restoreView(ViewHandlerWrapper.java:83)
          at org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:127)
          at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:170)
          at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
          at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
      ..........



      Steps to reproduce:
      - build showcase.war file with MyFaces JSF, and the PartialStateSavings context-param set to false in web.xml:
      <context-param>
          <param-name>javax.faces.PARTIAL_STATE_SAVING</param-name>
          <param-value>false</param-value>
      </context-param>

      - go to showcase -> ace:dataTable -> Table Configuration demo.
      - open the Table Config and change the order of columns, submit the change -> a Server Internal Error popup occurs, and the server error is visible in tomcat log.


      This issue could not be reproduced using Mojarra JSF, and PartialStateSavings=false.

        Activity

        Repository Revision Date User Message
        ICEsoft Public SVN Repository #42492 Tue Sep 02 17:47:46 MDT 2014 art.zambrano ICE-9578 added workaround for MyFaces and javax.faces.PARTIAL_STATE_SAVING=false to set a default RenderKit id when FacesContext().getRenderKit() returns null
        Files Changed
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/datatable/DataTable.java

          People

          • Assignee:
            Arturo Zambrano
            Reporter:
            Carmen Cristurean
          • Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: