[jsr-314-open-mirror] [jsr-314-open] PostAddToViewEvent publishing conditions

Andy Schwartz andy.schwartz at oracle.com
Thu May 20 10:58:34 EDT 2010


Hey Leonardo -

Thanks for giving this a go and for sharing your findings!  I am still 
hopeful that we can make something along these lines work.  I will try 
to take a look at your patch to see if I have any ideas.  (Though have 
other things I need to take care of first - so may be a few days before 
I get to this.)

Andy

On 5/19/10 11:15 PM, Leonardo Uribe wrote:
> Hi
>
> I tried the proposal of use some variation of TemplateClient API (I 
> attach it as reference on MYFACES-2638-6.patch ). The solution works 
> for simple cases, but it does not when nested composite components are 
> used.
>
> Look this example (I removed the non relevant code):
>
> testCompositeInsertChildren.xhtml (the page when it is used)
>
> <testComposite:compositeInsertChildren>
>     <h:outputText value="GAMMA " />
> </testComposite:compositeInsertChildren>
>
> testComposite:compositeInsertChildren
>
> <composite:implementation>
>     <testComposite:compositeInsertChildrenInner>
>         <h:outputText value="BETA " />
>         <composite:insertChildren />
>     </testComposite:compositeInsertChildrenInner>
> </composite:implementation>
>
> testComposite:compositeInsertChildrenInner
>
> <composite:implementation>
>     <h:outputText value="ALFA " />
>     <composite:insertChildren/>
>     <h:outputText value="OMEGA " />
> </composite:implementation>
>
> The example should render this:
>
> ALFA BETA GAMMA OMEGA
>
> But it is rendered this:
>
> ALFA GAMMA OMEGA
>
> The current algorithm do it correctly because the tree is completely 
> built before relocate, so the listener relocates BETA too. Facelets 
> executed the inner FaceletHandler instance first and then the outer 
> ones. On composite components, it executes first the composite 
> component facelet, then the FaceletHandler children.
>
> Suggestions are welcome.
>
> regards,
>
> Leonardo Uribe




More information about the jsr-314-open-mirror mailing list