myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jeanne Waldman (JIRA)" <...@myfaces.apache.org>
Subject [jira] Commented: (TRINIDAD-1085) error running demo because of demo's PreferencesProxy EL getValue
Date Mon, 17 Nov 2008 19:23:44 GMT

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

Jeanne Waldman commented on TRINIDAD-1085:
------------------------------------------

I still see this issue in Trinidad 1.2 branch (and probably the 1.2.10 branch which has just
been released).

> error running demo because of demo's PreferencesProxy EL getValue
> -----------------------------------------------------------------
>
>                 Key: TRINIDAD-1085
>                 URL: https://issues.apache.org/jira/browse/TRINIDAD-1085
>             Project: MyFaces Trinidad
>          Issue Type: Bug
>            Reporter: Jeanne Waldman
>
> This is in reference to the DEV list thread entitled 
> [TRINIDAD] The email demo and panelPageSkinDemo.jspx fail in the 1.2.8 proposed release.
> When running these demos, you see this error:
> > May 16, 2008 4:42:12 PM javax.faces.webapp._ErrorPageWriter handleException
> > SEVERE: An exception occurred
> > javax.el.PropertyNotFoundException: Property 'skinFamily' not found on type java.lang.String
> >         at javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:193)
> >         at javax.el.BeanELResolver$BeanProperties.access$400(BeanELResolver.java:170)
> >         at javax.el.BeanELResolver.property(BeanELResolver.java:279)
> >         at javax.el.BeanELResolver.getValue(BeanELResolver.java:60)
> >         at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
> >         at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.access$301(FacesCompositeELResolver.java:46)
> >         at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver$4.invoke(FacesCompositeELResolver.java:108)
> >         at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.invoke(FacesCompositeELResolver.java:148)
> >         at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:104)
> >         at org.apache.el.parser.AstValue.getValue(AstValue.java:114)
> >         at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
> >         at org.apache.myfaces.trinidad.bean.FacesBeanImpl.getProperty(FacesBeanImpl.java:68)
> >         at org.apache.myfaces.trinidadinternal.context.RequestContextImpl.getSkinFamily(RequestContextImpl.java:230)
> >         at org.apache.myfaces.trinidadinternal.renderkit.core.CoreRenderingContext._initializeSkin(CoreRenderingContext.java:510)
> >         at org.apache.myfaces.trinidadinternal.renderkit.core.CoreRenderingContext.<init>(CoreRenderingContext.java:85)
> >         at org.apache.myfaces.trinidadinternal.renderkit.core.CoreRenderKit.encodeBegin(CoreRenderKit.java:481)
> >         at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:166)
> >         at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
> >         at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:140)
> >         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:152)
> >         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> >         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> >         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:238)
> >         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:195)
> >         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:138)
> >         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
> >         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> >         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> >         at org.apache.myfaces.trinidaddemo.webapp.RedirectFilter.doFilter(RedirectFilter.java:97)
> >         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> >         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> >         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> >         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> >         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> >         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> >         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> >         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
> >         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
> >         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
> >         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> >         at java.lang.Thread.run(Thread.java:595)
> I see the code that is having an issue. It's only in the demo, and it seems like EL code.
> It's in PreferencesProxy.java. It errors trying to call ve.getValue(context.getELContext()).
>      if (viewId.indexOf("/email/") >= 0)
>        preferencesExpression = "#{email.preferences}";
>      else if (viewId.indexOf("SkinDemo") >= 0)
>        preferencesExpression = "#{sessionScope}";
>      else if (viewId.indexOf("accessibilityProfileDemo") >= 0)
>        preferencesExpression = "#{accProfileDemo}";
>      if (preferencesExpression != null)
>      {
>        ValueExpression ve =
>          context.getApplication().getExpressionFactory().createValueExpression(preferencesExpression,
Object.class);
>        return ve.getValue(context.getELContext());
>      }
> In trinidad-config.xml, we have this:
> <skin-family>#{prefs.proxy.skinFamily}</skin-family>
> If I change it to be
> <skin-family>#{sessionScope.skinFamily}</skin-family>
> Then this bit of code doesn't get called, and it works fine (well, as long as all the
other 'prefs.proxy' EL expressions that are used in trinidad-config.xml are fixed up the same
way).
> In PreferencesProxy, and I see the code was recently changed from JSF1.1 to JSF1.2, so
that's the difference:
> It was:
>      if (preferencesExpression != null)
>      {
>        ValueBinding vb =
>          context.getApplication().createValueBinding(preferencesExpression);
>        return vb.getValue(context);
>      }
> and it is now:
>      if (preferencesExpression != null)
>      {
>        ValueExpression ve =
>          context.getApplication().getExpressionFactory().createValueExpression(preferencesExpression,
Object.class);
>        return ve.getValue(context.getELContext());
>      } 
> The error occurs in ve.getValue(context.getELContext());

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


Mime
View raw message