[
https://issues.apache.org/jira/browse/TRINIDAD-1611?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12771639#action_12771639
]
Martin Koci commented on TRINIDAD-1611:
---------------------------------------
With mojarra 2.0.1 and:
<tr:document
xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:tr="http://myfaces.apache.org/trinidad"
title="TESTER of Scripts">
<h:outputScript target="body" name="myCoolBody.js"/>
</tr:document>
a ConcurrentModificationException is thrown:
java.util.ConcurrentModificationException
java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
java.util.AbstractList$Itr.next(AbstractList.java:343)
org.apache.myfaces.trinidad.component.UIXComponentBase._publishPostAddToViewEvent(UIXComponentBase.java:1147)
org.apache.myfaces.trinidad.component.UIXComponentBase.setParent(UIXComponentBase.java:421)
javax.faces.component.UIComponentBase$ChildrenList.add(UIComponentBase.java:2439)
javax.faces.component.UIComponentBase$ChildrenList.add(UIComponentBase.java:2411)
com.sun.faces.facelets.tag.jsf.ComponentSupport.addComponent(ComponentSupport.java:346)
com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:220)
javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:114)
com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:86)
com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:75)
com.sun.faces.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:145)
com.sun.faces.application.view.FaceletViewHandlingStrategy.buildView(FaceletViewHandlingStrategy.java:715)
Debugging shows that script renderer reacts to PostAddToViewEvent and does some
nasty modifications on children. I don't know yet where the problem is (in
trinidad or in RI) but iterating over defensive copy of children list in
_publishPostAddToViewEvent solves this problem.
> implement new setParent() behavior on UIXComponent base in order to trigger
> PostAddToViewEvent(s)
> -------------------------------------------------------------------------------------------------
>
> Key: TRINIDAD-1611
> URL: https://issues.apache.org/jira/browse/TRINIDAD-1611
> Project: MyFaces Trinidad
> Issue Type: Sub-task
> Affects Versions: 2.0.0-core
> Reporter: Matthias Weßendorf
> Assignee: Matthias Weßendorf
> Attachments: TRINIDAD-1611.patch
>
>
> the base-task can only work when we change our UIXComponentBase's setParent()
> to trigger the new "PostAddToViewEvent" event.
> As this event subsystem doesn't come for free (in terms of PERF
> costs), I will try to get some numbers on the inclusion of the
> behavior.
> However, the benefit of the "relocatable resources" feature is that we
> don't need to worry about "duplicated" resources, as something like
> this:
> ...
> <h:outputScript target="body" name="fooBody.js"/>
> <h:outputScript target="body" name="fooBody.js"/>
> <h:outputScript target="body" name="fooBody.js"/>
> ...
> Is only added once to the particular *target*...
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.