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

Matthias Weßendorf resolved TRINIDAD-1333.
------------------------------------------

       Resolution: Fixed
    Fix Version/s:  1.2.11-core

> bug in trinidad-demo when resolving trinidad-config.xml variables
> -----------------------------------------------------------------
>
>                 Key: TRINIDAD-1333
>                 URL: https://issues.apache.org/jira/browse/TRINIDAD-1333
>             Project: MyFaces Trinidad
>          Issue Type: Bug
>    Affects Versions:  1.2.11-core
>         Environment: tomcat 6.0.16
> java 1.6.0_04
> trinidad 1.2.11-SNAPSHOT
>            Reporter: Paul Rivera
>            Priority: Minor
>             Fix For:  1.2.11-core
>
>         Attachments: trinidad-1333.patch
>
>
> The trinidad-demo from trinidad 1.2.11-SNAPSHOT throws this exception:
> javax.el.PropertyNotFoundException: The class 'java.lang.String' does not 
> have the property 'skinFamily'.
>       at javax.el.BeanELResolver.getBeanProperty(BeanELResolver.java:547)
>       at javax.el.BeanELResolver.getValue(BeanELResolver.java:249)
>       at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:143)
>       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 com.sun.el.parser.AstValue.getValue(AstValue.java:138)
>       at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:206)
>       at 
> org.apache.myfaces.trinidad.bean.FacesBeanImpl.getProperty(FacesBeanImpl.java:68)
>       at 
> org.apache.myfaces.trinidadinternal.context.RequestContextImpl.getSkinFamily(RequestContextImpl.java:231)
>       at 
> org.apache.myfaces.trinidadinternal.renderkit.core.CoreRenderingContext._initializeSkin(CoreRenderingContext.java:510)
>       at 
> org.apache.myfaces.trinidadinternal.renderkit.core.CoreRenderingContext.<init>(CoreRenderingContext.java:80)
>       at 
> org.apache.myfaces.trinidadinternal.renderkit.core.CoreRenderKit.encodeBegin(CoreRenderKit.java:481)
>       at 
> org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:178)
>       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:155)
>       at 
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
>       at 
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1097)
>       at 
> org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:249)
>       at 
> org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:206)
>       at 
> org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:149)
>       at 
> org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
>       at 
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1088)
>       at 
> org.apache.myfaces.trinidaddemo.webapp.RedirectFilter.doFilter(RedirectFilter.java:97)
>       at 
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1088)
>       at 
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
>       at 
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>       at 
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
>       at 
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
>       at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
>       at 
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
>       at 
> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
>       at 
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>       at org.mortbay.jetty.Server.handle(Server.java:324)
>       at 
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
>       at 
> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:829)
>       at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:513)
>       at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
>       at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
>       at 
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
>       at 
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
> This can be replicated by clicking Feature Demos >> Skin Demo from the 
> trinidad-demo of trinidad 1.2.x.
> The error occurs when it tries to resolve variables like 
> #{prefs.proxy.skinFamily}.  When inside the skins demo page, prefs.proxy 
> returns #{sessionScope}.  In the trinidad-demo from trinidad 1.0.x, 
> #{sessionScope} resolves to the session map.  But in trinidad 1.2.x, 
> #{sessionScope} does not resolve to the session map but instead returns the 
> string literal "#{sessionScope}".  The problem is when EL tries to look for 
> the property skinFamily from the string literal "#{sessionScope}".  This is 
> when it throws the javax.el.PropertyNotFoundException.
> A quick workaround would be to replace #{prefs.proxy.skinFamily} with 
> #{skinFamily} in trinidad-config.xml.  Same with the other properties.
> I'm still looking into this and will update this entry when I find a good fix.

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

Reply via email to