[ 
https://issues.apache.org/jira/browse/MYFACES-3037?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Leonardo Uribe resolved MYFACES-3037.
-------------------------------------

       Resolution: Fixed
    Fix Version/s: 2.0.4-SNAPSHOT
         Assignee: Leonardo Uribe

> Children of iterating components receive multiple PostRestoreStateEvents
> ------------------------------------------------------------------------
>
>                 Key: MYFACES-3037
>                 URL: https://issues.apache.org/jira/browse/MYFACES-3037
>             Project: MyFaces Core
>          Issue Type: Bug
>          Components: General
>    Affects Versions: 2.0.3
>            Reporter: Andy Schwartz
>            Assignee: Leonardo Uribe
>             Fix For: 2.0.4-SNAPSHOT
>
>
> We currently use a tree visit to deliver PostRestoreStateEvents.  By default 
> tree visits will cause iterating components (such as UIData/UIRepeat) to 
> iterate over all visible rows in the model.  This results in children being 
> visited once per iteration - and thus PostRestoreStateEvents re-delivered for 
> each row.
> An interesting side effect of this is that component binding setters will be 
> evaluated multiple times.  For example, in a case like this:
>  <h:dataTable value="#{someModel}" var="row">
>    <h:column>
>      <h:ouputText binding="bean.foo"/>
>    </h:column>
>  </h:dataTable>
> The binding setter (eg. setFoo()) is called multiple times (once per row) in 
> 2.0.  In 1.2 this was only called one time.
> Note that a solution for the following issue:
> MYFACES-3036 Support SKIP_ITERATION FacesContext property
> Would make fixing this issue simple.  The tree visit that we use for 
> PostRestoreStateEvent delivery would simply specify the SKIP_ITERATION hint.

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

        

Reply via email to