[
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