[
https://issues.apache.org/jira/browse/MYFACES-3721?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Leonardo Uribe resolved MYFACES-3721.
-------------------------------------
Resolution: Fixed
Fix Version/s: 2.1.12
2.0.18
> Override of uniqueIdCounter for UIViewRoot in restoreView cause component
> duplicate id exception
> ------------------------------------------------------------------------------------------------
>
> Key: MYFACES-3721
> URL: https://issues.apache.org/jira/browse/MYFACES-3721
> Project: MyFaces Core
> Issue Type: Bug
> Components: JSR-314
> Reporter: Leonardo Uribe
> Assignee: Leonardo Uribe
> Fix For: 2.0.18, 2.1.12
>
>
> I have found an issue with the solution applied in MYFACES-3663. The steps to
> cause the problem are the following:
> 1. The view is rendered and some unique ids are generated. UIViewRoot has
> state and it is saved.
> 2. The view needs to be restored, PSS algorithm takes the uniqueIdCounter
> from the state and set it to UIViewRoot, then the initial state is
> constructed using facelets algorithm
> 3. Inside facelets algorithm, a new component is created and that increase
> uniqueIdCounter (f:ajax tag handler adds default jsf.js and ask for a unique
> id from UIViewRoot).
> 4. The delta state is applied, overriding uniqueIdCounter.
> 5. A new component is created in render response phase, creating the
> duplicate id condition.
> 6. The state saving algorithm detects the duplicate id and throw duplicate id
> exception.
> The conditions required to reproduce the problem are very unlikely, so other
> tests done were not able to reproduce the problem.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira