CLONE - facet state is lost inside datatable
--------------------------------------------
Key: MYFACES-3398
URL: https://issues.apache.org/jira/browse/MYFACES-3398
Project: MyFaces Core
Issue Type: Bug
Affects Versions: 2.1.2
Reporter: Michael Dietrich
Assignee: Leonardo Uribe
Priority: Critical
Fix For: 2.0.10, 2.1.4
Attachments: MYFACES-3385-1.patch, MyFacesCCUIData212Test.war
Assume, a Composite Component contains input fields, i.e any subclass of
EditableValueHolder (e.g. inputText, inputTextarea, ..). If this CC is than
used in a subclass of UIData, e.g. a dataTable, the values entered in the CCs
input fields get lost (despite for the last row in the Model of the UIData
object).
This seems to be related to the fact how the method
"saveDescendantComponentStates(..)" of the UIData class checks, if a component
has childs, whos state must be saved, before changing the rowIndex. The
mentioned method only checks "child.getChildCount() > 0", but getChildCount()
is 0 for a CC. I assume it would be necessary to check the FacetCount for a CC
instead.
The attached WAR file can help to reproduce the issue with a simple example.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira