[ 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