[ http://issues.apache.org/jira/browse/MYFACES-520?page=all ]
Mathias Broekelmann closed MYFACES-520:
---------------------------------------
Fix Version: Nightly Build
Resolution: Fixed
> NPE in UIData.restoreDescendantComponentStates()
> ------------------------------------------------
>
> Key: MYFACES-520
> URL: http://issues.apache.org/jira/browse/MYFACES-520
> Project: MyFaces
> Type: Bug
> Components: Implementation
> Versions: Nightly Build
> Reporter: Peter Mahoney
> Assignee: Mathias Broekelmann
> Fix For: Nightly Build
>
> I have a form which contains some inputText fields (one of which is
> required), and a dataTable which contains an inputText field and a
> selectOneMenu field, plus and inner dataTable containing inputText fields.
> When a value is entered in the required inputText field, the form submits
> successfully. However, when the required field is left blank the following
> exception is thrown when processing the selectOneMenu field in the outer
> dataTable:
> java.lang.NullPointerException
> at
> javax.faces.component.UIData.restoreDescendantComponentStates(UIData.java:221)
> at
> javax.faces.component.UIData.restoreDescendantComponentStates(UIData.java:233)
> at
> javax.faces.component.UIData.restoreDescendantComponentStates(UIData.java:233)
> at
> javax.faces.component.UIData.restoreDescendantComponentStates(UIData.java:233)
> at javax.faces.component.UIData.setRowIndex(UIData.java:191)
> at
> org.apache.myfaces.renderkit.html.HtmlTableRendererBase.encodeInnerHtml(HtmlTableRendererBase.java:135)
> at
> org.apache.myfaces.renderkit.html.HtmlTableRendererBase.encodeChildren(HtmlTableRendererBase.java:94)
> at
> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:319)
> at
> org.apache.myfaces.renderkit.RendererUtils.renderChild(RendererUtils.java:444)
> at
> org.apache.myfaces.renderkit.RendererUtils.renderChildren(RendererUtils.java:427)
> at
> org.apache.myfaces.renderkit.RendererUtils.renderChild(RendererUtils.java:448)
> at
> org.apache.myfaces.renderkit.RendererUtils.renderChildren(RendererUtils.java:427)
> at
> org.apache.myfaces.renderkit.RendererUtils.renderChild(RendererUtils.java:448)
> at
> org.apache.myfaces.renderkit.RendererUtils.renderChildren(RendererUtils.java:427)
> at
> org.apache.myfaces.renderkit.RendererUtils.renderChild(RendererUtils.java:448)
> at
> org.apache.myfaces.renderkit.RendererUtils.renderChildren(RendererUtils.java:427)
> at
> org.apache.myfaces.renderkit.RendererUtils.renderChild(RendererUtils.java:448)
> at
> org.apache.myfaces.renderkit.RendererUtils.renderChildren(RendererUtils.java:427)
> at
> org.apache.myfaces.renderkit.html.HtmlGroupRendererBase.encodeEnd(HtmlGroupRendererBase.java:62)
> at
> javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:331)
> at javax.faces.webapp.UIComponentTag.encodeEnd(UIComponentTag.java:349)
> at javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:253)
> at
> org.apache.myfaces.taglib.UIComponentBodyTagBase.doEndTag(UIComponentBodyTagBase.java:55)
> at
> org.apache.jsp.cppolls_jsp._jspx_meth_h_panelGroup_0(cppolls_jsp.java:297)
> at
> org.apache.jsp.cppolls_jsp._jspx_meth_f_subview_0(cppolls_jsp.java:255)
> at org.apache.jsp.cppolls_jsp._jspx_meth_f_view_0(cppolls_jsp.java:134)
> ...
> The following change to UIData seems to fix the problem:
> ...
> if (descendantStateIterator != null
> && descendantStateIterator.hasNext())
> {
> System.out.println("has dsi");
> Object[] object = (Object[]) descendantStateIterator.next();
> childState = object[0];
> descendantState = object[1];
> if (component instanceof EditableValueHolder && childState !=
> null)
> {
> ((EditableValueHolderState) childState)
> .restoreState((EditableValueHolder) component);
> }
> }
> ...
> However, should this patch be necessary, or is there a problem elsewhere?
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira