Max Starets created TRINIDAD-2369:
-------------------------------------

             Summary: 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

Reply via email to