Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: EE-3.0.0.GA, 3.1.0.BETA2, 3.1.0.RC1
-
Fix Version/s: 3.2
-
Component/s: ACE-Components
-
Labels:None
-
Environment:All
Description
Two buttons are setup to expand and contract all rows for the ace:dataTable. These buttons call an action method that uses the RowStateMap.setAllExpanded(true) and setAllExpanded(false).
The first call to the Expand all button works correctly. If the same button is clicked again or if the Collapse All is clicked and then the Expand All button clicked again a NullPointerException is thrown and the app crashes.
Stack trace:
java.lang.NullPointerException
at org.icefaces.ace.model.table.TreeDataModel.isRowAvailable(TreeDataModel.java:76)
at javax.faces.component.UIData.isRowAvailable(UIData.java:343)
at javax.faces.component.UIData.setRowIndexWithoutRowStatePreserved(UIData.java:499)
at javax.faces.component.UIData.setRowIndex(UIData.java:473)
at org.icefaces.ace.component.datatable.DataTable.setRowIndex(DataTable.java:393)
at org.icefaces.ace.component.datatable.DataTableRowRenderer.encodeRowExpansion(DataTableRowRenderer.java:234)
at org.icefaces.ace.component.datatable.DataTableRowRenderer.encodeRowExpansion(DataTableRowRenderer.java:303)
at org.icefaces.ace.component.datatable.DataTableRowRenderer.encodeRow(DataTableRowRenderer.java:118)
at org.icefaces.ace.component.datatable.DataTableRenderer.encodeTableBody(DataTableRenderer.java:228)
at org.icefaces.ace.component.datatable.DataTableRenderer.encodeTable(DataTableRenderer.java:181)
at org.icefaces.ace.component.datatable.DataTableRenderer.encodeEntirety(DataTableRenderer.java:142)
at org.icefaces.ace.component.datatable.DataTableRenderer.encodeEnd(DataTableRenderer.java:107)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1763)
at javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
at org.icefaces.impl.renderkit.RendererWrapper.encodeChildren(RendererWrapper.java:49)
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 org.icefaces.impl.context.DOMPartialViewContext.processPartial(DOMPartialViewContext.java:141)
at javax.faces.component.UIViewRoot.encodeChildren(UIViewRoot.java:981)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1756)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:390)
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:594)
The first call to the Expand all button works correctly. If the same button is clicked again or if the Collapse All is clicked and then the Expand All button clicked again a NullPointerException is thrown and the app crashes.
Stack trace:
java.lang.NullPointerException
at org.icefaces.ace.model.table.TreeDataModel.isRowAvailable(TreeDataModel.java:76)
at javax.faces.component.UIData.isRowAvailable(UIData.java:343)
at javax.faces.component.UIData.setRowIndexWithoutRowStatePreserved(UIData.java:499)
at javax.faces.component.UIData.setRowIndex(UIData.java:473)
at org.icefaces.ace.component.datatable.DataTable.setRowIndex(DataTable.java:393)
at org.icefaces.ace.component.datatable.DataTableRowRenderer.encodeRowExpansion(DataTableRowRenderer.java:234)
at org.icefaces.ace.component.datatable.DataTableRowRenderer.encodeRowExpansion(DataTableRowRenderer.java:303)
at org.icefaces.ace.component.datatable.DataTableRowRenderer.encodeRow(DataTableRowRenderer.java:118)
at org.icefaces.ace.component.datatable.DataTableRenderer.encodeTableBody(DataTableRenderer.java:228)
at org.icefaces.ace.component.datatable.DataTableRenderer.encodeTable(DataTableRenderer.java:181)
at org.icefaces.ace.component.datatable.DataTableRenderer.encodeEntirety(DataTableRenderer.java:142)
at org.icefaces.ace.component.datatable.DataTableRenderer.encodeEnd(DataTableRenderer.java:107)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1763)
at javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
at org.icefaces.impl.renderkit.RendererWrapper.encodeChildren(RendererWrapper.java:49)
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 org.icefaces.impl.context.DOMPartialViewContext.processPartial(DOMPartialViewContext.java:141)
at javax.faces.component.UIViewRoot.encodeChildren(UIViewRoot.java:981)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1756)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:390)
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:594)
Activity
Arran Mccullough
created issue -
Arran Mccullough
made changes -
Field | Original Value | New Value |
---|---|---|
Attachment | Case11427Example.zip [ 14659 ] | |
Attachment | Case11427Example.war [ 14660 ] |
Arran Mccullough
made changes -
Salesforce Case | [5007000000NGCjM] |
Arran Mccullough
made changes -
Assignee | Nils Lundquist [ nils.lundquist ] |
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #30343 | Tue Jul 31 14:31:20 MDT 2012 | nils.lundquist | |
Files Changed | ||||
MODIFY
/icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/model/table/TreeDataModel.java
|
Nils Lundquist
made changes -
Status | Open [ 1 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Ken Fyten
made changes -
Fix Version/s | 3.2 [ 10338 ] |
Ken Fyten
made changes -
Status | Resolved [ 5 ] | Closed [ 6 ] |
Attached test case that shows issue.
Steps to reproduce: