[ 
https://issues.apache.org/jira/browse/MYFACES-3175?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Leonardo Uribe resolved MYFACES-3175.
-------------------------------------

       Resolution: Fixed
    Fix Version/s: 2.1.2
                   2.0.8
         Assignee: Leonardo Uribe

> Both child and facet list should be checked while moving an existing child
> --------------------------------------------------------------------------
>
>                 Key: MYFACES-3175
>                 URL: https://issues.apache.org/jira/browse/MYFACES-3175
>             Project: MyFaces Core
>          Issue Type: Bug
>          Components: General
>    Affects Versions: 2.0.7
>            Reporter: Ivan
>            Assignee: Leonardo Uribe
>             Fix For: 2.0.8, 2.1.2
>
>         Attachments: MYFACES-3175-1.patch
>
>
>  Per the Java doc of 
> http://javaserverfaces.java.net/nonav/docs/2.0/javadocs/javax/faces/component/UIComponent.html#getChildren(),
>  if I set an existing child in the returned children list, the target child 
> should be removed from its previous parent in both children and facet list. 
> While currently MyFaces seems only remove from the children list. And for the 
> facet map, now it only remove from the facet map. Is it a bug for MyFaces ?
>     --->
> getChildren
> public abstract List<UIComponent> getChildren()
> Return a mutable List representing the child UIComponents associated with 
> this component. The returned implementation must support all of the standard 
> and optional List methods, plus support the following additional requirements:
> The List implementation must implement the java.io.Serializable interface.
> Any attempt to add a null must throw a NullPointerException
> Any attempt to add an object that does not implement UIComponent must throw a 
> ClassCastException.
> Whenever a new child component is added, the parent property of the child 
> must be set to this component instance. If the parent property of the child 
> was already non-null, the child must first be removed from its previous 
> parent (where it may have been either a child or a facet).
> Whenever an existing child component is removed, the parent property of the 
> child must be set to null.
> After the child component has been added to the view, if the following 
> condition is not met:
> FacesContext.isPostback() returns true and FacesContext.getCurrentPhaseId() 
> returns PhaseId.RESTORE_VIEW
> Application.publishEvent(javax.faces.context.FacesContext, java.lang.Class, 
> java.lang.Object) must be called, passing PostAddToViewEvent.class as the 
> first argument and the newly added component as the second argument.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to