[jira] Created: (TRINIDAD-1611) implement new setParent() behavior on UIXComponent base in order to trigger PostAddToViewEvent(s)

View: New views
4 Messages — Rating Filter:   Alert me  

[jira] Created: (TRINIDAD-1611) implement new setParent() behavior on UIXComponent base in order to trigger PostAddToViewEvent(s)

by My Faces - Dev mailing list :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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
            Reporter: Matthias Weßendorf
            Assignee: Matthias Weßendorf


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.


[jira] Commented: (TRINIDAD-1611) implement new setParent() behavior on UIXComponent base in order to trigger PostAddToViewEvent(s)

by My Faces - Dev mailing list :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


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


[jira] Commented: (TRINIDAD-1611) implement new setParent() behavior on UIXComponent base in order to trigger PostAddToViewEvent(s)

by My Faces - Dev mailing list :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


    [ https://issues.apache.org/jira/browse/TRINIDAD-1611?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12772557#action_12772557 ]

Matthias Weßendorf commented on TRINIDAD-1611:
----------------------------------------------

will submit a new patch soon. I basically added the nasty part of the UIComponentBase in MyFaces.
I think Leo also posted a mail to the EG / RI folks on the issue. Will catch up with this as well.

Thanks for the catch!

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


[jira] Resolved: (TRINIDAD-1611) implement new setParent() behavior on UIXComponent base in order to trigger PostAddToViewEvent(s)

by My Faces - Dev mailing list :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


     [ https://issues.apache.org/jira/browse/TRINIDAD-1611?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Matthias Weßendorf resolved TRINIDAD-1611.
------------------------------------------

       Resolution: Fixed
    Fix Version/s: 2.0.0-core

> 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
>             Fix For: 2.0.0-core
>
>         Attachments: SystemEventsForTrinidad.patch, 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.