myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Koci (JIRA)" <...@myfaces.apache.org>
Subject [jira] Commented: (TRINIDAD-1611) implement new setParent() behavior on UIXComponent base in order to trigger PostAddToViewEvent(s)
Date Thu, 29 Oct 2009 21:45:59 GMT

    [ 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.


Mime
View raw message