myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Leonardo Uribe (JIRA)" <...@myfaces.apache.org>
Subject [jira] [Resolved] (MYFACES-3589) Allow multiple resolutions of cc into the same EL expression
Date Fri, 03 Aug 2012 13:39:03 GMT

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

Leonardo Uribe resolved MYFACES-3589.
-------------------------------------

       Resolution: Fixed
    Fix Version/s: 2.1.9
                   2.0.15

Thanks for the test. It makes easier to find and solve the problem.

I changed the name of the issue to a more descriptive one (it is not related to the regex):

Allow multiple resolutions of cc into de same EL expression.

There is a bug in CompositeComponentELUtils. When removeCompositeComponentForResolver() is
called, it is not taken into account that nested calls resolving "cc" could be done. The fix
was already included in MYFACES-3383, but there was an old line:

facesContext.getAttributes().remove(CURRENT_COMPOSITE_COMPONENT_KEY);

that just need to be removed, because a list/stack is used instead a single attribute.

Thanks for your attention in the details.
                
> Allow multiple resolutions of cc into the same EL expression
> ------------------------------------------------------------
>
>                 Key: MYFACES-3589
>                 URL: https://issues.apache.org/jira/browse/MYFACES-3589
>             Project: MyFaces Core
>          Issue Type: Bug
>    Affects Versions: 2.1.8
>            Reporter: marco fago
>            Assignee: Jakob Korherr
>             Fix For: 2.0.15, 2.1.9
>
>         Attachments: MYFACES-2561-2.patch, MYFACES-2561.patch, test.xhtml, test1.xhtml,
test2.xhtml
>
>
> See MYFACES-2651.
> In particular, there is still a case in which the proposed solution won't work.
> Consider the component test 1  slightly modified:
> <cc:interface name="test1">
>     <cc:attribute name="test" required="true" />
> </cc:interface>
> <cc:implementation>
>     test1
>     <t2:test2 test="#{myLibrary:myFunction(...) or cc.attrs.test}" />
> </cc:implementation>
> In that case the regex expression looking for cc.attrs will exclude the expression because
cc.attrs is preceded by a left parenthesis (as stated in CompositeComponentELUtils).
> Changing to
>  <t2:test2 test="#{cc.attrs.test or myLibrary:myFunction(...)}" />
> will work. 

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

        

Mime
View raw message