Entered values for input fields conatined in a Composite Component are lost, if 
the CC is used in a datatable
-------------------------------------------------------------------------------------------------------------

                 Key: MYFACES-3385
                 URL: https://issues.apache.org/jira/browse/MYFACES-3385
             Project: MyFaces Core
          Issue Type: Bug
    Affects Versions: 2.1.2
            Reporter: Michael Dietrich
         Attachments: 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

        

Reply via email to