[ https://issues.apache.org/jira/browse/TRINIDAD-2369?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13589932#comment-13589932 ]
Max Starets commented on TRINIDAD-2369: --------------------------------------- This issue is a manifestation of TRINIDAD-2368. Because teh REMOVE event is not fired when the component is moved out of the facet, Mojarra's partial code sees two consequitive ADD events for the same component. > Mojarra 2.1.18 partial state saving incompatibility when moving a facet > ----------------------------------------------------------------------- > > Key: TRINIDAD-2369 > URL: https://issues.apache.org/jira/browse/TRINIDAD-2369 > Project: MyFaces Trinidad > Issue Type: Bug > Environment: Mojarra 2.1.18 > Reporter: Max Starets > > To reproduce the issue, create a test application doing the following during > invoke_application: > 1) Move a component to be a facet of some other component: > newParent.getFacets().put("center", component1); > 2) Move the component to its original parent: > originalParent.getChildren().add(component1); > Note that the following exception will be thrown by Mojarra: > javax.faces.FacesException: Cannot add the same component twice: o1 > at > com.sun.faces.context.StateContext$AddRemoveListener.handleAddRemoveWithAutoPrune(StateContext.java:528) > at > com.sun.faces.context.StateContext$AddRemoveListener.handleAdd(StateContext.java:437) > at > com.sun.faces.context.StateContext$AddRemoveListener.processEvent(StateContext.java:359) > at javax.faces.event.SystemEvent.processListener(SystemEvent.java:106) > at > com.sun.faces.application.ApplicationImpl.processListenersAccountingForAdds(ApplicationImpl.java:2210) > at > com.sun.faces.application.ApplicationImpl.invokeViewListenersFor(ApplicationImpl.java:2031) > at > com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:292) > at > org.apache.myfaces.trinidad.component.UIXComponentBase._publishPostAddToViewEvent(UIXComponentBase.java:1597) > at > org.apache.myfaces.trinidad.component.UIXComponentBase.setParent(UIXComponentBase.java:701) > at > org.apache.myfaces.trinidad.component.ChildArrayList.add(ChildArrayList.java:66) > at > org.apache.myfaces.trinidad.component.ChildArrayList.add(ChildArrayList.java:73) > at > org.apache.myfaces.trinidad.component.ChildArrayList.add(ChildArrayList.java:36) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira