Improve DebugPhaseListener for UIData and SKIP_ITERATION
--------------------------------------------------------

                 Key: MYFACES-3033
                 URL: https://issues.apache.org/jira/browse/MYFACES-3033
             Project: MyFaces Core
          Issue Type: Improvement
          Components: General
    Affects Versions: 2.1.0
            Reporter: Martin Kočí


<h:dataTable var="row" >
  <h:column>
    <h:outputText rendered="#{bean.isRendered(row)}"

There is new VisitHint.SKIP_ITERATION in JSF 2.1. If that hint is used UIData 
iterate over children in "flat" manner and therefore no row is available - 
bean.isRendered(row) obtains null as parameter and NPE can happen. One problem 
in this situation is a component tree walk before RESTORE_VIEW from 
DebugPhaseListener:

java.lang.NullPointerException
foo.bazz.bean.isRendered
...
at 
org.apache.myfaces.view.facelets.el.TagValueExpression.getValue(TagValueExpression.java:85)
at javax.faces.component._DeltaStateHelper.eval(_DeltaStateHelper.java:260)
at javax.faces.component.UIComponentBase.isRendered
...
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991)
at 
org.apache.myfaces.view.facelets.tag.ui.DebugPhaseListener._doTreeVisit(DebugPhaseListener.java:310)
at 
org.apache.myfaces.view.facelets.tag.ui.DebugPhaseListener.afterPhase(DebugPhaseListener.java:286)




-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira


Reply via email to