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

        

Reply via email to