[ 
https://issues.apache.org/jira/browse/MYFACES-3383?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13207956#comment-13207956
 ] 

Leonardo Uribe commented on MYFACES-3383:
-----------------------------------------

I reviewed this issue again, trying to do something over 
LocationValueExpression. The idea was store the current nesting level where the 
ValueExpression was created related to the current composite component. It 
works, but it has some side effects like make EL expressions "context 
dependant" which evidence the initial problem.

In few words, once the component tree is created by facelets engine, the "page" 
context get lost. What we really need is some way to preserve the page context, 
not tweak LocationValueExpression. Anyway, do that seems to be very difficult 
and inconvenient, because you need to store such relationship in the EL 
expression and the resulting design can be broken easily if the component is 
relocated or manipulated in some way.
                
> Self nested Composite Component leads to EL Stack Overflow
> ----------------------------------------------------------
>
>                 Key: MYFACES-3383
>                 URL: https://issues.apache.org/jira/browse/MYFACES-3383
>             Project: MyFaces Core
>          Issue Type: Bug
>    Affects Versions: 2.1.2
>         Environment: Windows
>            Reporter: Michael Dietrich
>         Attachments: TestStackOverflow.war
>
>
> If the same Composite Component is used inside itself, e.g. as child of an 
> ui:include that is included in the Composite Component, an StackOverflow 
> happens, if an EL Expression is refering CC interface attributes. 
> The use case is a CC to include a facelet, given by name. If the included 
> facelet uses the same CC to include another facelet, 
> "CompositeComponentELUtils.getCompositeComponentBasedOnLocation(..)"  does 
> always find the same CC, which leads to an endless loop.
> Please see the attached file for an example of the issue.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to