Yes, I'll log a JIRA right now. I wanted to look at it some more first,
but I'll just log a JIRA issue in case someone can get to it sooner.
- Jeanne
Scott O'Bryan wrote, On 5/20/2008 3:45 PM PT:
Me either. Are we going to get a JIRA on this?
Jeanne Waldman wrote:
I don't think this should hold up the release.
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).
Oh, I just looked at the log of PreferencesProxy, and I see the code
was 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());
}
Anyone see anything obviously wrong? Maybe he is passing in the
wrong context.
- Jeanne
Paul Spencer wrote, On 5/20/2008 12:24 PM PT:
Is this an issue that should be addressed before releasing 1.2.8?
Paul Spencer
Jeanne Waldman wrote:
I was just about to send out an email about this as well.
I created a project from the example war file and I see the same
error. When I comment out the skin-family in faces-config.xml I get
the same
error for the accessibilityMode. Both are EL bound to the same object:
<accessibility-mode>#{prefs.proxy.accessibilityMode}</accessibility-mode>
<accessibility-profile>#{prefs.proxy.accessibilityProfile}</accessibility-profile>
<skin-family>#{prefs.proxy.skinFamily}</skin-family>
The errors go away when I comment these out.
This worked when I did the same thing with the 1.2.7 demo war.
Jeanne
Paul Spencer wrote, On 5/16/2008 1:56 PM PT:
Testing the 1.2.8 proposed release.
The email demo and panelPageSkinDemo.jspx fail when using
jstl-1.2.jar instead of jstl-1.1.2.jar in WEB-INF/lib in a tomcat
6.0.16 container
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)
Paul Spencer