Details
-
Type:
Bug
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 2.0.2
-
Component/s: Framework, ICE-Components
-
Labels:None
-
Environment:ICEfaces 2 MyFaces 2
Description
In trying to get MyFaces running with ICEfaces 2 (ICE-5868) I found that a couple of components are not operating properly due to the timing of state saving. The two currently known components with issues are:
OutputChart: after the chart is initially rendered, clicking on the image map points generates an NPE
Caused by: java.lang.NullPointerException
at com.icesoft.faces.component.outputchart.OutputChart.getGeneratedImageMapArea(OutputChart.java:414)
at com.icesoft.faces.component.outputchart.OutputChart.decode(OutputChart.java:359)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1204)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1198)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1198)
at javax.faces.component.UIForm.processDecodes(UIForm.java:114)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1198)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1198)
at javax.faces.component.UIViewRoot._processDecodesDefault(UIViewRoot.java:1320)
...
Progress Bar: the progress bar is not updated even though Push is operating properly.
OutputChart: after the chart is initially rendered, clicking on the image map points generates an NPE
Caused by: java.lang.NullPointerException
at com.icesoft.faces.component.outputchart.OutputChart.getGeneratedImageMapArea(OutputChart.java:414)
at com.icesoft.faces.component.outputchart.OutputChart.decode(OutputChart.java:359)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1204)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1198)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1198)
at javax.faces.component.UIForm.processDecodes(UIForm.java:114)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1198)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1198)
at javax.faces.component.UIViewRoot._processDecodesDefault(UIViewRoot.java:1320)
...
Progress Bar: the progress bar is not updated even though Push is operating properly.
Resolving as fixed. Code was checked in to make MyFaces behave much the same as it does with Mojarra when using compat components. Our custom FormRenderer sticks in a placeholder and then the DOMResponseWriter replaces the placeholder at the appropriate time while removing the actual node from the DOM (to avoid unnecessary DOM diff related updates).