You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Leonardo Uribe (JIRA)" <de...@myfaces.apache.org> on 2011/02/08 23:44:57 UTC
[jira] Resolved: (MYFACES-3037) Children of iterating components
receive multiple PostRestoreStateEvents
[ 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