You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Mathias Broekelmann (JIRA)" <de...@myfaces.apache.org> on 2007/04/01 16:23:32 UTC

[jira] Updated: (MYFACES-1579) VariableResolver throws IllegalStateException because scope is unknown

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

Mathias Broekelmann updated MYFACES-1579:
-----------------------------------------

       Resolution: Fixed
    Fix Version/s: 1.2.0-SNAPSHOT
           Status: Resolved  (was: Patch Available)

Application.getVariableResolver should return a resolver which delegates to the application el resolver. I fixed this and added a test for it. Thanks Paul!

> VariableResolver throws IllegalStateException because scope is unknown
> ----------------------------------------------------------------------
>
>                 Key: MYFACES-1579
>                 URL: https://issues.apache.org/jira/browse/MYFACES-1579
>             Project: MyFaces Core
>          Issue Type: Bug
>          Components: JSR-252
>    Affects Versions: 1.2.0-SNAPSHOT
>            Reporter: Paul McMahan
>         Assigned To: Mathias Broekelmann
>             Fix For: 1.2.0-SNAPSHOT
>
>         Attachments: MYFACES-1579.patch
>
>
> VariableResolverImpl tries to determine if it was invoked through the faces chain or jsp chain by looking for an attribute (Scope.getClassName()) in the RequestMap.  However, that attribute is only set during the span of a call to FacesCompositeELResolver.getValue().   See FacesCompositeELResolver#invoke(), which calls setScope() and then unsetScope().
> Therefore the following code always throws IllegalStateException 
>         VariableResolver resolver = application.getVariableResolver();
>         Object result = resolver.resolveVariable(facesContext, "param");
> because when VariableResolverImpl.resolveVariable() looks for the scope in the request map (which happens outside the getValue() call) its always null.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.