You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Heath Nielson (JIRA)" <de...@tapestry.apache.org> on 2007/05/21 00:41:16 UTC

[jira] Created: (TAPESTRY-1482) org.apache.tapestry.BindingException: Unable to read OGNL expression

org.apache.tapestry.BindingException: Unable to read OGNL expression
--------------------------------------------------------------------

                 Key: TAPESTRY-1482
                 URL: https://issues.apache.org/jira/browse/TAPESTRY-1482
             Project: Tapestry
          Issue Type: Bug
          Components: Framework
    Affects Versions: 4.1.2
         Environment: Tapestry 4.1.2 (5/19), ognl (5/19)
            Reporter: Heath Nielson


I have a PageError component defined as follows:

.jwc

<component-specification allow-body="false" allow-informal-parameters="false">
  <parameter name="delegate" default-value="page.validationDelegate" />
  <property name="errorRenderer" />
</component-specification>

.html

<html>
<body jwcid="$content$">
  <div jwcid="@If" condition="ognl:delegate.hasErrors" class="error">
    <ul>
      <li jwcid="@For" source="ognl:delegate.errorRenderers"
        value="ognl:errorRenderer" style="color:red;" element="li">
        <span jwcid="@Delegator" delegate="ognl:errorRenderer">Error Message</span>
      </li>
    </ul>
  </div>
</body>
</html>

I include this component in all pages which inherit from FormPage which defines the following bean:

@Bean(ValidationDelegate.class)
public abstract IValidationDelegate getValidationDelegate();

My login page (the first viewable page) the component works as expected and I get the following log:

DEBUG org.apache.tapestry.BaseComponent  - Begin render Login/$PageError
DEBUG org.apache.tapestry.services.impl.HiveMindExpressionCompiler  - Compiling expr class ognl.ASTChain and root $BaseComponent_20 with toString:delegate.hasErrors
DEBUG org.apache.tapestry.services.impl.HiveMindExpressionCompiler  - Compiling expr class ognl.ASTChain and root $BaseComponent_20 with toString:page.validationDelegate
DEBUG org.apache.tapestry.bean.BeanProvider  - getBean(validationDelegate)
DEBUG org.apache.tapestry.bean.BeanProvider  - Instantiating instance of org.apache.tapestry.valid.ValidationDelegate
DEBUG org.apache.tapestry.bean.BeanProvider  - getBean(validationDelegate)
DEBUG org.apache.tapestry.services.impl.HiveMindExpressionCompiler  - Getter Body: ==================================={ return ((caseTracker.pages.Login)(($BaseComponent_20)$2).getPage()).getValidationDelegate();}
DEBUG org.apache.tapestry.bean.BeanProvider  - getBean(validationDelegate)
DEBUG org.apache.tapestry.bean.BeanProvider  - getBean(validationDelegate)
DEBUG org.apache.tapestry.services.impl.HiveMindExpressionCompiler  - Getter Body: ==================================={ return  ($w) (((org.apache.tapestry.valid.IValidationDelegate)(($BaseComponent_20)$2).getDelegate()).getHasErrors());}
DEBUG org.apache.tapestry.engine.RequestCycle  - Set attribute org.mb.tapestry.base.IfValue to false
19563 [btpool0-2] DEBUG org.apache.tapestry.BaseComponent  - End render Login/$PageError

However, when I go to the next page which embeds the PageError component, I get the following error:

DEBUG org.apache.tapestry.BaseComponent  - Begin render AddClient/$PageError
DEBUG org.apache.tapestry.engine.RequestCycle  - Removing attribute org.apache.tapestry.html.Shell
DEBUG org.apache.tapestry.engine.AbstractEngine  - Uncaught exception
org.apache.tapestry.BindingException: Unable to read OGNL expression '<parsed OGNL expression>' of $BaseComponent_20@b08fff3d[AddClient/$PageError]: Unable to read OGNL expression '<parsed OGNL expression>' of $BaseComponent_20@b08fff3d[AddClient/$PageError]: $AddClient_24 [context:/WEB-INF/PageError.html, line 3]
        at org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:134)
        at org.apache.tapestry.binding.ExpressionBinding.getObject(ExpressionBinding.java:113)
        at org.apache.tapestry.binding.AbstractBinding.getObject(AbstractBinding.java:84)
        at org.apache.tapestry.enhance.EnhanceUtils.toBoolean(EnhanceUtils.java:176)
        at $IfBean_4.getCondition($IfBean_4.java)
        at org.apache.tapestry.components.IfBean.evaluateCondition(IfBean.java:116)
        at org.apache.tapestry.components.IfBean.renderComponent(IfBean.java:70)
        at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
        at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
        at org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:107)
        at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
        at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
        at org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:537)
        at org.apache.tapestry.components.RenderBody.renderComponent(RenderBody.java:39)
        at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
        at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
        at org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:537)
        at org.apache.tapestry.html.Body.renderComponent(Body.java:38)
        at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
        at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
        at org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:537)
        at org.apache.tapestry.html.Shell.renderComponent(Shell.java:126)
        at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
        at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
        at org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:107)
        at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
        at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
        at org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:107)
        at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
        at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:182)
        at org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:237)
        at org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:397)
        at org.apache.tapestry.services.impl.DefaultResponseBuilder.renderResponse(DefaultResponseBuilder.java:158)
        at org.apache.tapestry.services.impl.ResponseRendererImpl.renderResponse(ResponseRendererImpl.java:33)
        at $ResponseRenderer_112ab1cb761.renderResponse($ResponseRenderer_112ab1cb761.java)
        at org.apache.tapestry.engine.AbstractEngine.renderResponse(AbstractEngine.java:208)
        at org.apache.tapestry.engine.AbstractEngine.handlePageRedirectException(AbstractEngine.java:336)
        at org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:252)
        at org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:54)
        at $WebRequestServicer_112ab1cb7bc.service($WebRequestServicer_112ab1cb7bc.java)
        at com.javaforge.tapestry.tapernate.filter.TapernateFilter.service(TapernateFilter.java:81)
        at $WebRequestServicerFilter_112ab1cb7ba.service($WebRequestServicerFilter_112ab1cb7ba.java)
        at $WebRequestServicer_112ab1cb7be.service($WebRequestServicer_112ab1cb7be.java)
        at $WebRequestServicer_112ab1cb7b6.service($WebRequestServicer_112ab1cb7b6.java)
        at org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:61)
        at $ServletRequestServicer_112ab1cb79c.service($ServletRequestServicer_112ab1cb79c.java)
        at org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55)
        at $ServletRequestServicerFilter_112ab1cb798.service($ServletRequestServicerFilter_112ab1cb798.java)
        at $ServletRequestServicer_112ab1cb79e.service($ServletRequestServicer_112ab1cb79e.java)
        at org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52)
        at $ServletRequestServicerFilter_112ab1cb796.service($ServletRequestServicerFilter_112ab1cb796.java)
        at $ServletRequestServicer_112ab1cb79e.service($ServletRequestServicer_112ab1cb79e.java)
        at org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53)
        at $ServletRequestServicerFilter_112ab1cb79a.service($ServletRequestServicerFilter_112ab1cb79a.java)
        at $ServletRequestServicer_112ab1cb79e.service($ServletRequestServicer_112ab1cb79e.java)
        at $ServletRequestServicer_112ab1cb781.service($ServletRequestServicer_112ab1cb781.java)
        at org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:123)
        at org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:104)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:747)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:423)
        at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:355)
        at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:226)
        at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:567)
        at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:147)
        at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:126)
        at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:119)
        at org.mortbay.jetty.Server.handle(Server.java:248)
        at org.mortbay.jetty.HttpConnection.handlerRequest(HttpConnection.java:360)
        at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:614)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:487)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:197)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:288)
        at org.mortbay.jetty.nio.SelectChannelConnector$HttpChannelEndPoint.run(SelectChannelConnector.java:805)
        at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
Caused by: org.apache.hivemind.ApplicationRuntimeException: Unable to read OGNL
expression '<parsed OGNL expression>' of $BaseComponent_20@b08fff3d[AddClient/$PageError]: Unable to read OGNL expression '<parsed OGNL expression>' of $BaseComponent_20@b08fff3d[AddClient/$PageError]: $AddClient_24 [context:/WEB-INF/PageError.jwc, line 8, column 72]
        at org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.read(ExpressionEvaluatorImpl.java:145)
        at $ExpressionEvaluator_112ab1cb896.read($ExpressionEvaluator_112ab1cb896.java)
        at org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:128)
        ... 74 more
Caused by: org.apache.tapestry.BindingException: Unable to read OGNL expression'<parsed OGNL expression>' of $BaseComponent_20@b08fff3d[AddClient/$PageError]:$AddClient_24 [context:/WEB-INF/PageError.jwc, line 8, column 72]
        at org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:134)
        at org.apache.tapestry.binding.ExpressionBinding.getObject(ExpressionBinding.java:113)
        at org.apache.tapestry.binding.AbstractBinding.getObject(AbstractBinding.java:84)
        at $BaseComponent_20.getDelegate($BaseComponent_20.java)
        at $ASTChain_112ab1cb8cf.get($ASTChain_112ab1cb8cf.java)
        at org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.read(ExpressionEvaluatorImpl.java:141)
        ... 76 more
Caused by: org.apache.hivemind.ApplicationRuntimeException: Unable to read OGNL
expression '<parsed OGNL expression>' of $BaseComponent_20@b08fff3d[AddClient/$PageError]: $AddClient_24 [context:/WEB-INF/clients/AddClient.html, line 13]
        at org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.read(ExpressionEvaluatorImpl.java:145)
        at $ExpressionEvaluator_112ab1cb896.read($ExpressionEvaluator_112ab1cb896.java)
        at org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:128)
        ... 81 more
Caused by: java.lang.ClassCastException: $AddClient_24
        at $ASTChain_112ab1cb8d0.get($ASTChain_112ab1cb8d0.java)
        at org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.read(ExpressionEvaluatorImpl.java:141)
        ... 83 more

The error disappears when I set org.apache.tapestry.disable-caching to true.

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


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Commented: (TAPESTRY-1482) org.apache.tapestry.BindingException: Unable to read OGNL expression

Posted by "Heath Nielson (JIRA)" <de...@tapestry.apache.org>.
    [ https://issues.apache.org/jira/browse/TAPESTRY-1482?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12497321 ] 

Heath Nielson commented on TAPESTRY-1482:
-----------------------------------------

I forgot to add that both the login page and the AddClient page which share the same superclass where validationDelegate is defined reference the component without passing in a parameter.  They rely instead upon the default value (i.e. <span jwcid="@PageError" />).  It appears to me that this issue relates directly to the default-value.  The ognl reference to page.validationDelegate appears to bind that page's class with the first reference and a ClassCastException is thrown when a different page tries to use the same default-binding.  When I explicitly set the parameter in the page class, this error no longer occurs.

I'm not sure if this is working as designed or not but this error did not occur in 4.1.1.

> org.apache.tapestry.BindingException: Unable to read OGNL expression
> --------------------------------------------------------------------
>
>                 Key: TAPESTRY-1482
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-1482
>             Project: Tapestry
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: 4.1.2
>         Environment: Tapestry 4.1.2 (5/19), ognl (5/19)
>            Reporter: Heath Nielson
>
> I have a PageError component defined as follows:
> .jwc
> <component-specification allow-body="false" allow-informal-parameters="false">
>   <parameter name="delegate" default-value="page.validationDelegate" />
>   <property name="errorRenderer" />
> </component-specification>
> .html
> <html>
> <body jwcid="$content$">
>   <div jwcid="@If" condition="ognl:delegate.hasErrors" class="error">
>     <ul>
>       <li jwcid="@For" source="ognl:delegate.errorRenderers"
>         value="ognl:errorRenderer" style="color:red;" element="li">
>         <span jwcid="@Delegator" delegate="ognl:errorRenderer">Error Message</span>
>       </li>
>     </ul>
>   </div>
> </body>
> </html>
> I include this component in all pages which inherit from FormPage which defines the following bean:
> @Bean(ValidationDelegate.class)
> public abstract IValidationDelegate getValidationDelegate();
> My login page (the first viewable page) the component works as expected and I get the following log:
> DEBUG org.apache.tapestry.BaseComponent  - Begin render Login/$PageError
> DEBUG org.apache.tapestry.services.impl.HiveMindExpressionCompiler  - Compiling expr class ognl.ASTChain and root $BaseComponent_20 with toString:delegate.hasErrors
> DEBUG org.apache.tapestry.services.impl.HiveMindExpressionCompiler  - Compiling expr class ognl.ASTChain and root $BaseComponent_20 with toString:page.validationDelegate
> DEBUG org.apache.tapestry.bean.BeanProvider  - getBean(validationDelegate)
> DEBUG org.apache.tapestry.bean.BeanProvider  - Instantiating instance of org.apache.tapestry.valid.ValidationDelegate
> DEBUG org.apache.tapestry.bean.BeanProvider  - getBean(validationDelegate)
> DEBUG org.apache.tapestry.services.impl.HiveMindExpressionCompiler  - Getter Body: ==================================={ return ((caseTracker.pages.Login)(($BaseComponent_20)$2).getPage()).getValidationDelegate();}
> DEBUG org.apache.tapestry.bean.BeanProvider  - getBean(validationDelegate)
> DEBUG org.apache.tapestry.bean.BeanProvider  - getBean(validationDelegate)
> DEBUG org.apache.tapestry.services.impl.HiveMindExpressionCompiler  - Getter Body: ==================================={ return  ($w) (((org.apache.tapestry.valid.IValidationDelegate)(($BaseComponent_20)$2).getDelegate()).getHasErrors());}
> DEBUG org.apache.tapestry.engine.RequestCycle  - Set attribute org.mb.tapestry.base.IfValue to false
> 19563 [btpool0-2] DEBUG org.apache.tapestry.BaseComponent  - End render Login/$PageError
> However, when I go to the next page which embeds the PageError component, I get the following error:
> DEBUG org.apache.tapestry.BaseComponent  - Begin render AddClient/$PageError
> DEBUG org.apache.tapestry.engine.RequestCycle  - Removing attribute org.apache.tapestry.html.Shell
> DEBUG org.apache.tapestry.engine.AbstractEngine  - Uncaught exception
> org.apache.tapestry.BindingException: Unable to read OGNL expression '<parsed OGNL expression>' of $BaseComponent_20@b08fff3d[AddClient/$PageError]: Unable to read OGNL expression '<parsed OGNL expression>' of $BaseComponent_20@b08fff3d[AddClient/$PageError]: $AddClient_24 [context:/WEB-INF/PageError.html, line 3]
>         at org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:134)
>         at org.apache.tapestry.binding.ExpressionBinding.getObject(ExpressionBinding.java:113)
>         at org.apache.tapestry.binding.AbstractBinding.getObject(AbstractBinding.java:84)
>         at org.apache.tapestry.enhance.EnhanceUtils.toBoolean(EnhanceUtils.java:176)
>         at $IfBean_4.getCondition($IfBean_4.java)
>         at org.apache.tapestry.components.IfBean.evaluateCondition(IfBean.java:116)
>         at org.apache.tapestry.components.IfBean.renderComponent(IfBean.java:70)
>         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
>         at org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:107)
>         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
>         at org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:537)
>         at org.apache.tapestry.components.RenderBody.renderComponent(RenderBody.java:39)
>         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
>         at org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:537)
>         at org.apache.tapestry.html.Body.renderComponent(Body.java:38)
>         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
>         at org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:537)
>         at org.apache.tapestry.html.Shell.renderComponent(Shell.java:126)
>         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
>         at org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:107)
>         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
>         at org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:107)
>         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:182)
>         at org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:237)
>         at org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:397)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.renderResponse(DefaultResponseBuilder.java:158)
>         at org.apache.tapestry.services.impl.ResponseRendererImpl.renderResponse(ResponseRendererImpl.java:33)
>         at $ResponseRenderer_112ab1cb761.renderResponse($ResponseRenderer_112ab1cb761.java)
>         at org.apache.tapestry.engine.AbstractEngine.renderResponse(AbstractEngine.java:208)
>         at org.apache.tapestry.engine.AbstractEngine.handlePageRedirectException(AbstractEngine.java:336)
>         at org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:252)
>         at org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:54)
>         at $WebRequestServicer_112ab1cb7bc.service($WebRequestServicer_112ab1cb7bc.java)
>         at com.javaforge.tapestry.tapernate.filter.TapernateFilter.service(TapernateFilter.java:81)
>         at $WebRequestServicerFilter_112ab1cb7ba.service($WebRequestServicerFilter_112ab1cb7ba.java)
>         at $WebRequestServicer_112ab1cb7be.service($WebRequestServicer_112ab1cb7be.java)
>         at $WebRequestServicer_112ab1cb7b6.service($WebRequestServicer_112ab1cb7b6.java)
>         at org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:61)
>         at $ServletRequestServicer_112ab1cb79c.service($ServletRequestServicer_112ab1cb79c.java)
>         at org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55)
>         at $ServletRequestServicerFilter_112ab1cb798.service($ServletRequestServicerFilter_112ab1cb798.java)
>         at $ServletRequestServicer_112ab1cb79e.service($ServletRequestServicer_112ab1cb79e.java)
>         at org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52)
>         at $ServletRequestServicerFilter_112ab1cb796.service($ServletRequestServicerFilter_112ab1cb796.java)
>         at $ServletRequestServicer_112ab1cb79e.service($ServletRequestServicer_112ab1cb79e.java)
>         at org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53)
>         at $ServletRequestServicerFilter_112ab1cb79a.service($ServletRequestServicerFilter_112ab1cb79a.java)
>         at $ServletRequestServicer_112ab1cb79e.service($ServletRequestServicer_112ab1cb79e.java)
>         at $ServletRequestServicer_112ab1cb781.service($ServletRequestServicer_112ab1cb781.java)
>         at org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:123)
>         at org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:104)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:747)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:423)
>         at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:355)
>         at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:226)
>         at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:567)
>         at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:147)
>         at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:126)
>         at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:119)
>         at org.mortbay.jetty.Server.handle(Server.java:248)
>         at org.mortbay.jetty.HttpConnection.handlerRequest(HttpConnection.java:360)
>         at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:614)
>         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:487)
>         at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:197)
>         at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:288)
>         at org.mortbay.jetty.nio.SelectChannelConnector$HttpChannelEndPoint.run(SelectChannelConnector.java:805)
>         at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
> Caused by: org.apache.hivemind.ApplicationRuntimeException: Unable to read OGNL
> expression '<parsed OGNL expression>' of $BaseComponent_20@b08fff3d[AddClient/$PageError]: Unable to read OGNL expression '<parsed OGNL expression>' of $BaseComponent_20@b08fff3d[AddClient/$PageError]: $AddClient_24 [context:/WEB-INF/PageError.jwc, line 8, column 72]
>         at org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.read(ExpressionEvaluatorImpl.java:145)
>         at $ExpressionEvaluator_112ab1cb896.read($ExpressionEvaluator_112ab1cb896.java)
>         at org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:128)
>         ... 74 more
> Caused by: org.apache.tapestry.BindingException: Unable to read OGNL expression'<parsed OGNL expression>' of $BaseComponent_20@b08fff3d[AddClient/$PageError]:$AddClient_24 [context:/WEB-INF/PageError.jwc, line 8, column 72]
>         at org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:134)
>         at org.apache.tapestry.binding.ExpressionBinding.getObject(ExpressionBinding.java:113)
>         at org.apache.tapestry.binding.AbstractBinding.getObject(AbstractBinding.java:84)
>         at $BaseComponent_20.getDelegate($BaseComponent_20.java)
>         at $ASTChain_112ab1cb8cf.get($ASTChain_112ab1cb8cf.java)
>         at org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.read(ExpressionEvaluatorImpl.java:141)
>         ... 76 more
> Caused by: org.apache.hivemind.ApplicationRuntimeException: Unable to read OGNL
> expression '<parsed OGNL expression>' of $BaseComponent_20@b08fff3d[AddClient/$PageError]: $AddClient_24 [context:/WEB-INF/clients/AddClient.html, line 13]
>         at org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.read(ExpressionEvaluatorImpl.java:145)
>         at $ExpressionEvaluator_112ab1cb896.read($ExpressionEvaluator_112ab1cb896.java)
>         at org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:128)
>         ... 81 more
> Caused by: java.lang.ClassCastException: $AddClient_24
>         at $ASTChain_112ab1cb8d0.get($ASTChain_112ab1cb8d0.java)
>         at org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.read(ExpressionEvaluatorImpl.java:141)
>         ... 83 more
> The error disappears when I set org.apache.tapestry.disable-caching to true.

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


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Updated: (TAPESTRY-1482) org.apache.tapestry.BindingException: Unable to read OGNL expression

Posted by "Marcus Schulte (JIRA)" <de...@tapestry.apache.org>.
     [ https://issues.apache.org/jira/browse/TAPESTRY-1482?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marcus Schulte updated TAPESTRY-1482:
-------------------------------------

    Fix Version/s:     (was: 4.1.6)
                   4.1.7

> org.apache.tapestry.BindingException: Unable to read OGNL expression
> --------------------------------------------------------------------
>
>                 Key: TAPESTRY-1482
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-1482
>             Project: Tapestry
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: 4.1.2
>         Environment: Tapestry 4.1.2 (5/19), ognl (5/19)
>            Reporter: Heath Nielson
>             Fix For: 4.1.7
>
>
> I have a PageError component defined as follows:
> .jwc
> <component-specification allow-body="false" allow-informal-parameters="false">
>   <parameter name="delegate" default-value="page.validationDelegate" />
>   <property name="errorRenderer" />
> </component-specification>
> .html
> <html>
> <body jwcid="$content$">
>   <div jwcid="@If" condition="ognl:delegate.hasErrors" class="error">
>     <ul>
>       <li jwcid="@For" source="ognl:delegate.errorRenderers"
>         value="ognl:errorRenderer" style="color:red;" element="li">
>         <span jwcid="@Delegator" delegate="ognl:errorRenderer">Error Message</span>
>       </li>
>     </ul>
>   </div>
> </body>
> </html>
> I include this component in all pages which inherit from FormPage which defines the following bean:
> @Bean(ValidationDelegate.class)
> public abstract IValidationDelegate getValidationDelegate();
> My login page (the first viewable page) the component works as expected and I get the following log:
> DEBUG org.apache.tapestry.BaseComponent  - Begin render Login/$PageError
> DEBUG org.apache.tapestry.services.impl.HiveMindExpressionCompiler  - Compiling expr class ognl.ASTChain and root $BaseComponent_20 with toString:delegate.hasErrors
> DEBUG org.apache.tapestry.services.impl.HiveMindExpressionCompiler  - Compiling expr class ognl.ASTChain and root $BaseComponent_20 with toString:page.validationDelegate
> DEBUG org.apache.tapestry.bean.BeanProvider  - getBean(validationDelegate)
> DEBUG org.apache.tapestry.bean.BeanProvider  - Instantiating instance of org.apache.tapestry.valid.ValidationDelegate
> DEBUG org.apache.tapestry.bean.BeanProvider  - getBean(validationDelegate)
> DEBUG org.apache.tapestry.services.impl.HiveMindExpressionCompiler  - Getter Body: ==================================={ return ((caseTracker.pages.Login)(($BaseComponent_20)$2).getPage()).getValidationDelegate();}
> DEBUG org.apache.tapestry.bean.BeanProvider  - getBean(validationDelegate)
> DEBUG org.apache.tapestry.bean.BeanProvider  - getBean(validationDelegate)
> DEBUG org.apache.tapestry.services.impl.HiveMindExpressionCompiler  - Getter Body: ==================================={ return  ($w) (((org.apache.tapestry.valid.IValidationDelegate)(($BaseComponent_20)$2).getDelegate()).getHasErrors());}
> DEBUG org.apache.tapestry.engine.RequestCycle  - Set attribute org.mb.tapestry.base.IfValue to false
> 19563 [btpool0-2] DEBUG org.apache.tapestry.BaseComponent  - End render Login/$PageError
> However, when I go to the next page which embeds the PageError component, I get the following error:
> DEBUG org.apache.tapestry.BaseComponent  - Begin render AddClient/$PageError
> DEBUG org.apache.tapestry.engine.RequestCycle  - Removing attribute org.apache.tapestry.html.Shell
> DEBUG org.apache.tapestry.engine.AbstractEngine  - Uncaught exception
> org.apache.tapestry.BindingException: Unable to read OGNL expression '<parsed OGNL expression>' of $BaseComponent_20@b08fff3d[AddClient/$PageError]: Unable to read OGNL expression '<parsed OGNL expression>' of $BaseComponent_20@b08fff3d[AddClient/$PageError]: $AddClient_24 [context:/WEB-INF/PageError.html, line 3]
>         at org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:134)
>         at org.apache.tapestry.binding.ExpressionBinding.getObject(ExpressionBinding.java:113)
>         at org.apache.tapestry.binding.AbstractBinding.getObject(AbstractBinding.java:84)
>         at org.apache.tapestry.enhance.EnhanceUtils.toBoolean(EnhanceUtils.java:176)
>         at $IfBean_4.getCondition($IfBean_4.java)
>         at org.apache.tapestry.components.IfBean.evaluateCondition(IfBean.java:116)
>         at org.apache.tapestry.components.IfBean.renderComponent(IfBean.java:70)
>         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
>         at org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:107)
>         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
>         at org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:537)
>         at org.apache.tapestry.components.RenderBody.renderComponent(RenderBody.java:39)
>         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
>         at org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:537)
>         at org.apache.tapestry.html.Body.renderComponent(Body.java:38)
>         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
>         at org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:537)
>         at org.apache.tapestry.html.Shell.renderComponent(Shell.java:126)
>         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
>         at org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:107)
>         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
>         at org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:107)
>         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:182)
>         at org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:237)
>         at org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:397)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.renderResponse(DefaultResponseBuilder.java:158)
>         at org.apache.tapestry.services.impl.ResponseRendererImpl.renderResponse(ResponseRendererImpl.java:33)
>         at $ResponseRenderer_112ab1cb761.renderResponse($ResponseRenderer_112ab1cb761.java)
>         at org.apache.tapestry.engine.AbstractEngine.renderResponse(AbstractEngine.java:208)
>         at org.apache.tapestry.engine.AbstractEngine.handlePageRedirectException(AbstractEngine.java:336)
>         at org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:252)
>         at org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:54)
>         at $WebRequestServicer_112ab1cb7bc.service($WebRequestServicer_112ab1cb7bc.java)
>         at com.javaforge.tapestry.tapernate.filter.TapernateFilter.service(TapernateFilter.java:81)
>         at $WebRequestServicerFilter_112ab1cb7ba.service($WebRequestServicerFilter_112ab1cb7ba.java)
>         at $WebRequestServicer_112ab1cb7be.service($WebRequestServicer_112ab1cb7be.java)
>         at $WebRequestServicer_112ab1cb7b6.service($WebRequestServicer_112ab1cb7b6.java)
>         at org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:61)
>         at $ServletRequestServicer_112ab1cb79c.service($ServletRequestServicer_112ab1cb79c.java)
>         at org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55)
>         at $ServletRequestServicerFilter_112ab1cb798.service($ServletRequestServicerFilter_112ab1cb798.java)
>         at $ServletRequestServicer_112ab1cb79e.service($ServletRequestServicer_112ab1cb79e.java)
>         at org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52)
>         at $ServletRequestServicerFilter_112ab1cb796.service($ServletRequestServicerFilter_112ab1cb796.java)
>         at $ServletRequestServicer_112ab1cb79e.service($ServletRequestServicer_112ab1cb79e.java)
>         at org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53)
>         at $ServletRequestServicerFilter_112ab1cb79a.service($ServletRequestServicerFilter_112ab1cb79a.java)
>         at $ServletRequestServicer_112ab1cb79e.service($ServletRequestServicer_112ab1cb79e.java)
>         at $ServletRequestServicer_112ab1cb781.service($ServletRequestServicer_112ab1cb781.java)
>         at org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:123)
>         at org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:104)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:747)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:423)
>         at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:355)
>         at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:226)
>         at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:567)
>         at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:147)
>         at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:126)
>         at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:119)
>         at org.mortbay.jetty.Server.handle(Server.java:248)
>         at org.mortbay.jetty.HttpConnection.handlerRequest(HttpConnection.java:360)
>         at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:614)
>         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:487)
>         at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:197)
>         at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:288)
>         at org.mortbay.jetty.nio.SelectChannelConnector$HttpChannelEndPoint.run(SelectChannelConnector.java:805)
>         at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
> Caused by: org.apache.hivemind.ApplicationRuntimeException: Unable to read OGNL
> expression '<parsed OGNL expression>' of $BaseComponent_20@b08fff3d[AddClient/$PageError]: Unable to read OGNL expression '<parsed OGNL expression>' of $BaseComponent_20@b08fff3d[AddClient/$PageError]: $AddClient_24 [context:/WEB-INF/PageError.jwc, line 8, column 72]
>         at org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.read(ExpressionEvaluatorImpl.java:145)
>         at $ExpressionEvaluator_112ab1cb896.read($ExpressionEvaluator_112ab1cb896.java)
>         at org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:128)
>         ... 74 more
> Caused by: org.apache.tapestry.BindingException: Unable to read OGNL expression'<parsed OGNL expression>' of $BaseComponent_20@b08fff3d[AddClient/$PageError]:$AddClient_24 [context:/WEB-INF/PageError.jwc, line 8, column 72]
>         at org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:134)
>         at org.apache.tapestry.binding.ExpressionBinding.getObject(ExpressionBinding.java:113)
>         at org.apache.tapestry.binding.AbstractBinding.getObject(AbstractBinding.java:84)
>         at $BaseComponent_20.getDelegate($BaseComponent_20.java)
>         at $ASTChain_112ab1cb8cf.get($ASTChain_112ab1cb8cf.java)
>         at org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.read(ExpressionEvaluatorImpl.java:141)
>         ... 76 more
> Caused by: org.apache.hivemind.ApplicationRuntimeException: Unable to read OGNL
> expression '<parsed OGNL expression>' of $BaseComponent_20@b08fff3d[AddClient/$PageError]: $AddClient_24 [context:/WEB-INF/clients/AddClient.html, line 13]
>         at org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.read(ExpressionEvaluatorImpl.java:145)
>         at $ExpressionEvaluator_112ab1cb896.read($ExpressionEvaluator_112ab1cb896.java)
>         at org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:128)
>         ... 81 more
> Caused by: java.lang.ClassCastException: $AddClient_24
>         at $ASTChain_112ab1cb8d0.get($ASTChain_112ab1cb8d0.java)
>         at org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.read(ExpressionEvaluatorImpl.java:141)
>         ... 83 more
> The error disappears when I set org.apache.tapestry.disable-caching to true.

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


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Updated: (TAPESTRY-1482) org.apache.tapestry.BindingException: Unable to read OGNL expression

Posted by "Jesse Kuhnert (JIRA)" <de...@tapestry.apache.org>.
     [ https://issues.apache.org/jira/browse/TAPESTRY-1482?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jesse Kuhnert updated TAPESTRY-1482:
------------------------------------

    Fix Version/s: 4.1.3

> org.apache.tapestry.BindingException: Unable to read OGNL expression
> --------------------------------------------------------------------
>
>                 Key: TAPESTRY-1482
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-1482
>             Project: Tapestry
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: 4.1.2
>         Environment: Tapestry 4.1.2 (5/19), ognl (5/19)
>            Reporter: Heath Nielson
>             Fix For: 4.1.3
>
>
> I have a PageError component defined as follows:
> .jwc
> <component-specification allow-body="false" allow-informal-parameters="false">
>   <parameter name="delegate" default-value="page.validationDelegate" />
>   <property name="errorRenderer" />
> </component-specification>
> .html
> <html>
> <body jwcid="$content$">
>   <div jwcid="@If" condition="ognl:delegate.hasErrors" class="error">
>     <ul>
>       <li jwcid="@For" source="ognl:delegate.errorRenderers"
>         value="ognl:errorRenderer" style="color:red;" element="li">
>         <span jwcid="@Delegator" delegate="ognl:errorRenderer">Error Message</span>
>       </li>
>     </ul>
>   </div>
> </body>
> </html>
> I include this component in all pages which inherit from FormPage which defines the following bean:
> @Bean(ValidationDelegate.class)
> public abstract IValidationDelegate getValidationDelegate();
> My login page (the first viewable page) the component works as expected and I get the following log:
> DEBUG org.apache.tapestry.BaseComponent  - Begin render Login/$PageError
> DEBUG org.apache.tapestry.services.impl.HiveMindExpressionCompiler  - Compiling expr class ognl.ASTChain and root $BaseComponent_20 with toString:delegate.hasErrors
> DEBUG org.apache.tapestry.services.impl.HiveMindExpressionCompiler  - Compiling expr class ognl.ASTChain and root $BaseComponent_20 with toString:page.validationDelegate
> DEBUG org.apache.tapestry.bean.BeanProvider  - getBean(validationDelegate)
> DEBUG org.apache.tapestry.bean.BeanProvider  - Instantiating instance of org.apache.tapestry.valid.ValidationDelegate
> DEBUG org.apache.tapestry.bean.BeanProvider  - getBean(validationDelegate)
> DEBUG org.apache.tapestry.services.impl.HiveMindExpressionCompiler  - Getter Body: ==================================={ return ((caseTracker.pages.Login)(($BaseComponent_20)$2).getPage()).getValidationDelegate();}
> DEBUG org.apache.tapestry.bean.BeanProvider  - getBean(validationDelegate)
> DEBUG org.apache.tapestry.bean.BeanProvider  - getBean(validationDelegate)
> DEBUG org.apache.tapestry.services.impl.HiveMindExpressionCompiler  - Getter Body: ==================================={ return  ($w) (((org.apache.tapestry.valid.IValidationDelegate)(($BaseComponent_20)$2).getDelegate()).getHasErrors());}
> DEBUG org.apache.tapestry.engine.RequestCycle  - Set attribute org.mb.tapestry.base.IfValue to false
> 19563 [btpool0-2] DEBUG org.apache.tapestry.BaseComponent  - End render Login/$PageError
> However, when I go to the next page which embeds the PageError component, I get the following error:
> DEBUG org.apache.tapestry.BaseComponent  - Begin render AddClient/$PageError
> DEBUG org.apache.tapestry.engine.RequestCycle  - Removing attribute org.apache.tapestry.html.Shell
> DEBUG org.apache.tapestry.engine.AbstractEngine  - Uncaught exception
> org.apache.tapestry.BindingException: Unable to read OGNL expression '<parsed OGNL expression>' of $BaseComponent_20@b08fff3d[AddClient/$PageError]: Unable to read OGNL expression '<parsed OGNL expression>' of $BaseComponent_20@b08fff3d[AddClient/$PageError]: $AddClient_24 [context:/WEB-INF/PageError.html, line 3]
>         at org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:134)
>         at org.apache.tapestry.binding.ExpressionBinding.getObject(ExpressionBinding.java:113)
>         at org.apache.tapestry.binding.AbstractBinding.getObject(AbstractBinding.java:84)
>         at org.apache.tapestry.enhance.EnhanceUtils.toBoolean(EnhanceUtils.java:176)
>         at $IfBean_4.getCondition($IfBean_4.java)
>         at org.apache.tapestry.components.IfBean.evaluateCondition(IfBean.java:116)
>         at org.apache.tapestry.components.IfBean.renderComponent(IfBean.java:70)
>         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
>         at org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:107)
>         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
>         at org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:537)
>         at org.apache.tapestry.components.RenderBody.renderComponent(RenderBody.java:39)
>         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
>         at org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:537)
>         at org.apache.tapestry.html.Body.renderComponent(Body.java:38)
>         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
>         at org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:537)
>         at org.apache.tapestry.html.Shell.renderComponent(Shell.java:126)
>         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
>         at org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:107)
>         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
>         at org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:107)
>         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:182)
>         at org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:237)
>         at org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:397)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.renderResponse(DefaultResponseBuilder.java:158)
>         at org.apache.tapestry.services.impl.ResponseRendererImpl.renderResponse(ResponseRendererImpl.java:33)
>         at $ResponseRenderer_112ab1cb761.renderResponse($ResponseRenderer_112ab1cb761.java)
>         at org.apache.tapestry.engine.AbstractEngine.renderResponse(AbstractEngine.java:208)
>         at org.apache.tapestry.engine.AbstractEngine.handlePageRedirectException(AbstractEngine.java:336)
>         at org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:252)
>         at org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:54)
>         at $WebRequestServicer_112ab1cb7bc.service($WebRequestServicer_112ab1cb7bc.java)
>         at com.javaforge.tapestry.tapernate.filter.TapernateFilter.service(TapernateFilter.java:81)
>         at $WebRequestServicerFilter_112ab1cb7ba.service($WebRequestServicerFilter_112ab1cb7ba.java)
>         at $WebRequestServicer_112ab1cb7be.service($WebRequestServicer_112ab1cb7be.java)
>         at $WebRequestServicer_112ab1cb7b6.service($WebRequestServicer_112ab1cb7b6.java)
>         at org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:61)
>         at $ServletRequestServicer_112ab1cb79c.service($ServletRequestServicer_112ab1cb79c.java)
>         at org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55)
>         at $ServletRequestServicerFilter_112ab1cb798.service($ServletRequestServicerFilter_112ab1cb798.java)
>         at $ServletRequestServicer_112ab1cb79e.service($ServletRequestServicer_112ab1cb79e.java)
>         at org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52)
>         at $ServletRequestServicerFilter_112ab1cb796.service($ServletRequestServicerFilter_112ab1cb796.java)
>         at $ServletRequestServicer_112ab1cb79e.service($ServletRequestServicer_112ab1cb79e.java)
>         at org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53)
>         at $ServletRequestServicerFilter_112ab1cb79a.service($ServletRequestServicerFilter_112ab1cb79a.java)
>         at $ServletRequestServicer_112ab1cb79e.service($ServletRequestServicer_112ab1cb79e.java)
>         at $ServletRequestServicer_112ab1cb781.service($ServletRequestServicer_112ab1cb781.java)
>         at org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:123)
>         at org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:104)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:747)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:423)
>         at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:355)
>         at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:226)
>         at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:567)
>         at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:147)
>         at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:126)
>         at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:119)
>         at org.mortbay.jetty.Server.handle(Server.java:248)
>         at org.mortbay.jetty.HttpConnection.handlerRequest(HttpConnection.java:360)
>         at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:614)
>         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:487)
>         at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:197)
>         at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:288)
>         at org.mortbay.jetty.nio.SelectChannelConnector$HttpChannelEndPoint.run(SelectChannelConnector.java:805)
>         at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
> Caused by: org.apache.hivemind.ApplicationRuntimeException: Unable to read OGNL
> expression '<parsed OGNL expression>' of $BaseComponent_20@b08fff3d[AddClient/$PageError]: Unable to read OGNL expression '<parsed OGNL expression>' of $BaseComponent_20@b08fff3d[AddClient/$PageError]: $AddClient_24 [context:/WEB-INF/PageError.jwc, line 8, column 72]
>         at org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.read(ExpressionEvaluatorImpl.java:145)
>         at $ExpressionEvaluator_112ab1cb896.read($ExpressionEvaluator_112ab1cb896.java)
>         at org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:128)
>         ... 74 more
> Caused by: org.apache.tapestry.BindingException: Unable to read OGNL expression'<parsed OGNL expression>' of $BaseComponent_20@b08fff3d[AddClient/$PageError]:$AddClient_24 [context:/WEB-INF/PageError.jwc, line 8, column 72]
>         at org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:134)
>         at org.apache.tapestry.binding.ExpressionBinding.getObject(ExpressionBinding.java:113)
>         at org.apache.tapestry.binding.AbstractBinding.getObject(AbstractBinding.java:84)
>         at $BaseComponent_20.getDelegate($BaseComponent_20.java)
>         at $ASTChain_112ab1cb8cf.get($ASTChain_112ab1cb8cf.java)
>         at org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.read(ExpressionEvaluatorImpl.java:141)
>         ... 76 more
> Caused by: org.apache.hivemind.ApplicationRuntimeException: Unable to read OGNL
> expression '<parsed OGNL expression>' of $BaseComponent_20@b08fff3d[AddClient/$PageError]: $AddClient_24 [context:/WEB-INF/clients/AddClient.html, line 13]
>         at org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.read(ExpressionEvaluatorImpl.java:145)
>         at $ExpressionEvaluator_112ab1cb896.read($ExpressionEvaluator_112ab1cb896.java)
>         at org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:128)
>         ... 81 more
> Caused by: java.lang.ClassCastException: $AddClient_24
>         at $ASTChain_112ab1cb8d0.get($ASTChain_112ab1cb8d0.java)
>         at org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.read(ExpressionEvaluatorImpl.java:141)
>         ... 83 more
> The error disappears when I set org.apache.tapestry.disable-caching to true.

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


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Updated: (TAPESTRY-1482) org.apache.tapestry.BindingException: Unable to read OGNL expression

Posted by "Jesse Kuhnert (JIRA)" <de...@tapestry.apache.org>.
     [ https://issues.apache.org/jira/browse/TAPESTRY-1482?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jesse Kuhnert updated TAPESTRY-1482:
------------------------------------

    Fix Version/s:     (was: 4.1.5)
                   4.1.6

> org.apache.tapestry.BindingException: Unable to read OGNL expression
> --------------------------------------------------------------------
>
>                 Key: TAPESTRY-1482
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-1482
>             Project: Tapestry
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: 4.1.2
>         Environment: Tapestry 4.1.2 (5/19), ognl (5/19)
>            Reporter: Heath Nielson
>             Fix For: 4.1.6
>
>
> I have a PageError component defined as follows:
> .jwc
> <component-specification allow-body="false" allow-informal-parameters="false">
>   <parameter name="delegate" default-value="page.validationDelegate" />
>   <property name="errorRenderer" />
> </component-specification>
> .html
> <html>
> <body jwcid="$content$">
>   <div jwcid="@If" condition="ognl:delegate.hasErrors" class="error">
>     <ul>
>       <li jwcid="@For" source="ognl:delegate.errorRenderers"
>         value="ognl:errorRenderer" style="color:red;" element="li">
>         <span jwcid="@Delegator" delegate="ognl:errorRenderer">Error Message</span>
>       </li>
>     </ul>
>   </div>
> </body>
> </html>
> I include this component in all pages which inherit from FormPage which defines the following bean:
> @Bean(ValidationDelegate.class)
> public abstract IValidationDelegate getValidationDelegate();
> My login page (the first viewable page) the component works as expected and I get the following log:
> DEBUG org.apache.tapestry.BaseComponent  - Begin render Login/$PageError
> DEBUG org.apache.tapestry.services.impl.HiveMindExpressionCompiler  - Compiling expr class ognl.ASTChain and root $BaseComponent_20 with toString:delegate.hasErrors
> DEBUG org.apache.tapestry.services.impl.HiveMindExpressionCompiler  - Compiling expr class ognl.ASTChain and root $BaseComponent_20 with toString:page.validationDelegate
> DEBUG org.apache.tapestry.bean.BeanProvider  - getBean(validationDelegate)
> DEBUG org.apache.tapestry.bean.BeanProvider  - Instantiating instance of org.apache.tapestry.valid.ValidationDelegate
> DEBUG org.apache.tapestry.bean.BeanProvider  - getBean(validationDelegate)
> DEBUG org.apache.tapestry.services.impl.HiveMindExpressionCompiler  - Getter Body: ==================================={ return ((caseTracker.pages.Login)(($BaseComponent_20)$2).getPage()).getValidationDelegate();}
> DEBUG org.apache.tapestry.bean.BeanProvider  - getBean(validationDelegate)
> DEBUG org.apache.tapestry.bean.BeanProvider  - getBean(validationDelegate)
> DEBUG org.apache.tapestry.services.impl.HiveMindExpressionCompiler  - Getter Body: ==================================={ return  ($w) (((org.apache.tapestry.valid.IValidationDelegate)(($BaseComponent_20)$2).getDelegate()).getHasErrors());}
> DEBUG org.apache.tapestry.engine.RequestCycle  - Set attribute org.mb.tapestry.base.IfValue to false
> 19563 [btpool0-2] DEBUG org.apache.tapestry.BaseComponent  - End render Login/$PageError
> However, when I go to the next page which embeds the PageError component, I get the following error:
> DEBUG org.apache.tapestry.BaseComponent  - Begin render AddClient/$PageError
> DEBUG org.apache.tapestry.engine.RequestCycle  - Removing attribute org.apache.tapestry.html.Shell
> DEBUG org.apache.tapestry.engine.AbstractEngine  - Uncaught exception
> org.apache.tapestry.BindingException: Unable to read OGNL expression '<parsed OGNL expression>' of $BaseComponent_20@b08fff3d[AddClient/$PageError]: Unable to read OGNL expression '<parsed OGNL expression>' of $BaseComponent_20@b08fff3d[AddClient/$PageError]: $AddClient_24 [context:/WEB-INF/PageError.html, line 3]
>         at org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:134)
>         at org.apache.tapestry.binding.ExpressionBinding.getObject(ExpressionBinding.java:113)
>         at org.apache.tapestry.binding.AbstractBinding.getObject(AbstractBinding.java:84)
>         at org.apache.tapestry.enhance.EnhanceUtils.toBoolean(EnhanceUtils.java:176)
>         at $IfBean_4.getCondition($IfBean_4.java)
>         at org.apache.tapestry.components.IfBean.evaluateCondition(IfBean.java:116)
>         at org.apache.tapestry.components.IfBean.renderComponent(IfBean.java:70)
>         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
>         at org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:107)
>         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
>         at org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:537)
>         at org.apache.tapestry.components.RenderBody.renderComponent(RenderBody.java:39)
>         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
>         at org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:537)
>         at org.apache.tapestry.html.Body.renderComponent(Body.java:38)
>         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
>         at org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:537)
>         at org.apache.tapestry.html.Shell.renderComponent(Shell.java:126)
>         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
>         at org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:107)
>         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
>         at org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:107)
>         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:182)
>         at org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:237)
>         at org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:397)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.renderResponse(DefaultResponseBuilder.java:158)
>         at org.apache.tapestry.services.impl.ResponseRendererImpl.renderResponse(ResponseRendererImpl.java:33)
>         at $ResponseRenderer_112ab1cb761.renderResponse($ResponseRenderer_112ab1cb761.java)
>         at org.apache.tapestry.engine.AbstractEngine.renderResponse(AbstractEngine.java:208)
>         at org.apache.tapestry.engine.AbstractEngine.handlePageRedirectException(AbstractEngine.java:336)
>         at org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:252)
>         at org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:54)
>         at $WebRequestServicer_112ab1cb7bc.service($WebRequestServicer_112ab1cb7bc.java)
>         at com.javaforge.tapestry.tapernate.filter.TapernateFilter.service(TapernateFilter.java:81)
>         at $WebRequestServicerFilter_112ab1cb7ba.service($WebRequestServicerFilter_112ab1cb7ba.java)
>         at $WebRequestServicer_112ab1cb7be.service($WebRequestServicer_112ab1cb7be.java)
>         at $WebRequestServicer_112ab1cb7b6.service($WebRequestServicer_112ab1cb7b6.java)
>         at org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:61)
>         at $ServletRequestServicer_112ab1cb79c.service($ServletRequestServicer_112ab1cb79c.java)
>         at org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55)
>         at $ServletRequestServicerFilter_112ab1cb798.service($ServletRequestServicerFilter_112ab1cb798.java)
>         at $ServletRequestServicer_112ab1cb79e.service($ServletRequestServicer_112ab1cb79e.java)
>         at org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52)
>         at $ServletRequestServicerFilter_112ab1cb796.service($ServletRequestServicerFilter_112ab1cb796.java)
>         at $ServletRequestServicer_112ab1cb79e.service($ServletRequestServicer_112ab1cb79e.java)
>         at org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53)
>         at $ServletRequestServicerFilter_112ab1cb79a.service($ServletRequestServicerFilter_112ab1cb79a.java)
>         at $ServletRequestServicer_112ab1cb79e.service($ServletRequestServicer_112ab1cb79e.java)
>         at $ServletRequestServicer_112ab1cb781.service($ServletRequestServicer_112ab1cb781.java)
>         at org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:123)
>         at org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:104)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:747)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:423)
>         at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:355)
>         at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:226)
>         at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:567)
>         at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:147)
>         at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:126)
>         at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:119)
>         at org.mortbay.jetty.Server.handle(Server.java:248)
>         at org.mortbay.jetty.HttpConnection.handlerRequest(HttpConnection.java:360)
>         at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:614)
>         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:487)
>         at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:197)
>         at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:288)
>         at org.mortbay.jetty.nio.SelectChannelConnector$HttpChannelEndPoint.run(SelectChannelConnector.java:805)
>         at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
> Caused by: org.apache.hivemind.ApplicationRuntimeException: Unable to read OGNL
> expression '<parsed OGNL expression>' of $BaseComponent_20@b08fff3d[AddClient/$PageError]: Unable to read OGNL expression '<parsed OGNL expression>' of $BaseComponent_20@b08fff3d[AddClient/$PageError]: $AddClient_24 [context:/WEB-INF/PageError.jwc, line 8, column 72]
>         at org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.read(ExpressionEvaluatorImpl.java:145)
>         at $ExpressionEvaluator_112ab1cb896.read($ExpressionEvaluator_112ab1cb896.java)
>         at org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:128)
>         ... 74 more
> Caused by: org.apache.tapestry.BindingException: Unable to read OGNL expression'<parsed OGNL expression>' of $BaseComponent_20@b08fff3d[AddClient/$PageError]:$AddClient_24 [context:/WEB-INF/PageError.jwc, line 8, column 72]
>         at org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:134)
>         at org.apache.tapestry.binding.ExpressionBinding.getObject(ExpressionBinding.java:113)
>         at org.apache.tapestry.binding.AbstractBinding.getObject(AbstractBinding.java:84)
>         at $BaseComponent_20.getDelegate($BaseComponent_20.java)
>         at $ASTChain_112ab1cb8cf.get($ASTChain_112ab1cb8cf.java)
>         at org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.read(ExpressionEvaluatorImpl.java:141)
>         ... 76 more
> Caused by: org.apache.hivemind.ApplicationRuntimeException: Unable to read OGNL
> expression '<parsed OGNL expression>' of $BaseComponent_20@b08fff3d[AddClient/$PageError]: $AddClient_24 [context:/WEB-INF/clients/AddClient.html, line 13]
>         at org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.read(ExpressionEvaluatorImpl.java:145)
>         at $ExpressionEvaluator_112ab1cb896.read($ExpressionEvaluator_112ab1cb896.java)
>         at org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:128)
>         ... 81 more
> Caused by: java.lang.ClassCastException: $AddClient_24
>         at $ASTChain_112ab1cb8d0.get($ASTChain_112ab1cb8d0.java)
>         at org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.read(ExpressionEvaluatorImpl.java:141)
>         ... 83 more
> The error disappears when I set org.apache.tapestry.disable-caching to true.

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


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Updated: (TAPESTRY-1482) org.apache.tapestry.BindingException: Unable to read OGNL expression

Posted by "Jesse Kuhnert (JIRA)" <de...@tapestry.apache.org>.
     [ https://issues.apache.org/jira/browse/TAPESTRY-1482?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jesse Kuhnert updated TAPESTRY-1482:
------------------------------------

    Fix Version/s:     (was: 4.1.3)
                   4.1.4

> org.apache.tapestry.BindingException: Unable to read OGNL expression
> --------------------------------------------------------------------
>
>                 Key: TAPESTRY-1482
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-1482
>             Project: Tapestry
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: 4.1.2
>         Environment: Tapestry 4.1.2 (5/19), ognl (5/19)
>            Reporter: Heath Nielson
>             Fix For: 4.1.4
>
>
> I have a PageError component defined as follows:
> .jwc
> <component-specification allow-body="false" allow-informal-parameters="false">
>   <parameter name="delegate" default-value="page.validationDelegate" />
>   <property name="errorRenderer" />
> </component-specification>
> .html
> <html>
> <body jwcid="$content$">
>   <div jwcid="@If" condition="ognl:delegate.hasErrors" class="error">
>     <ul>
>       <li jwcid="@For" source="ognl:delegate.errorRenderers"
>         value="ognl:errorRenderer" style="color:red;" element="li">
>         <span jwcid="@Delegator" delegate="ognl:errorRenderer">Error Message</span>
>       </li>
>     </ul>
>   </div>
> </body>
> </html>
> I include this component in all pages which inherit from FormPage which defines the following bean:
> @Bean(ValidationDelegate.class)
> public abstract IValidationDelegate getValidationDelegate();
> My login page (the first viewable page) the component works as expected and I get the following log:
> DEBUG org.apache.tapestry.BaseComponent  - Begin render Login/$PageError
> DEBUG org.apache.tapestry.services.impl.HiveMindExpressionCompiler  - Compiling expr class ognl.ASTChain and root $BaseComponent_20 with toString:delegate.hasErrors
> DEBUG org.apache.tapestry.services.impl.HiveMindExpressionCompiler  - Compiling expr class ognl.ASTChain and root $BaseComponent_20 with toString:page.validationDelegate
> DEBUG org.apache.tapestry.bean.BeanProvider  - getBean(validationDelegate)
> DEBUG org.apache.tapestry.bean.BeanProvider  - Instantiating instance of org.apache.tapestry.valid.ValidationDelegate
> DEBUG org.apache.tapestry.bean.BeanProvider  - getBean(validationDelegate)
> DEBUG org.apache.tapestry.services.impl.HiveMindExpressionCompiler  - Getter Body: ==================================={ return ((caseTracker.pages.Login)(($BaseComponent_20)$2).getPage()).getValidationDelegate();}
> DEBUG org.apache.tapestry.bean.BeanProvider  - getBean(validationDelegate)
> DEBUG org.apache.tapestry.bean.BeanProvider  - getBean(validationDelegate)
> DEBUG org.apache.tapestry.services.impl.HiveMindExpressionCompiler  - Getter Body: ==================================={ return  ($w) (((org.apache.tapestry.valid.IValidationDelegate)(($BaseComponent_20)$2).getDelegate()).getHasErrors());}
> DEBUG org.apache.tapestry.engine.RequestCycle  - Set attribute org.mb.tapestry.base.IfValue to false
> 19563 [btpool0-2] DEBUG org.apache.tapestry.BaseComponent  - End render Login/$PageError
> However, when I go to the next page which embeds the PageError component, I get the following error:
> DEBUG org.apache.tapestry.BaseComponent  - Begin render AddClient/$PageError
> DEBUG org.apache.tapestry.engine.RequestCycle  - Removing attribute org.apache.tapestry.html.Shell
> DEBUG org.apache.tapestry.engine.AbstractEngine  - Uncaught exception
> org.apache.tapestry.BindingException: Unable to read OGNL expression '<parsed OGNL expression>' of $BaseComponent_20@b08fff3d[AddClient/$PageError]: Unable to read OGNL expression '<parsed OGNL expression>' of $BaseComponent_20@b08fff3d[AddClient/$PageError]: $AddClient_24 [context:/WEB-INF/PageError.html, line 3]
>         at org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:134)
>         at org.apache.tapestry.binding.ExpressionBinding.getObject(ExpressionBinding.java:113)
>         at org.apache.tapestry.binding.AbstractBinding.getObject(AbstractBinding.java:84)
>         at org.apache.tapestry.enhance.EnhanceUtils.toBoolean(EnhanceUtils.java:176)
>         at $IfBean_4.getCondition($IfBean_4.java)
>         at org.apache.tapestry.components.IfBean.evaluateCondition(IfBean.java:116)
>         at org.apache.tapestry.components.IfBean.renderComponent(IfBean.java:70)
>         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
>         at org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:107)
>         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
>         at org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:537)
>         at org.apache.tapestry.components.RenderBody.renderComponent(RenderBody.java:39)
>         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
>         at org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:537)
>         at org.apache.tapestry.html.Body.renderComponent(Body.java:38)
>         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
>         at org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:537)
>         at org.apache.tapestry.html.Shell.renderComponent(Shell.java:126)
>         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
>         at org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:107)
>         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
>         at org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:107)
>         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:723)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:182)
>         at org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:237)
>         at org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:397)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.renderResponse(DefaultResponseBuilder.java:158)
>         at org.apache.tapestry.services.impl.ResponseRendererImpl.renderResponse(ResponseRendererImpl.java:33)
>         at $ResponseRenderer_112ab1cb761.renderResponse($ResponseRenderer_112ab1cb761.java)
>         at org.apache.tapestry.engine.AbstractEngine.renderResponse(AbstractEngine.java:208)
>         at org.apache.tapestry.engine.AbstractEngine.handlePageRedirectException(AbstractEngine.java:336)
>         at org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:252)
>         at org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:54)
>         at $WebRequestServicer_112ab1cb7bc.service($WebRequestServicer_112ab1cb7bc.java)
>         at com.javaforge.tapestry.tapernate.filter.TapernateFilter.service(TapernateFilter.java:81)
>         at $WebRequestServicerFilter_112ab1cb7ba.service($WebRequestServicerFilter_112ab1cb7ba.java)
>         at $WebRequestServicer_112ab1cb7be.service($WebRequestServicer_112ab1cb7be.java)
>         at $WebRequestServicer_112ab1cb7b6.service($WebRequestServicer_112ab1cb7b6.java)
>         at org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:61)
>         at $ServletRequestServicer_112ab1cb79c.service($ServletRequestServicer_112ab1cb79c.java)
>         at org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55)
>         at $ServletRequestServicerFilter_112ab1cb798.service($ServletRequestServicerFilter_112ab1cb798.java)
>         at $ServletRequestServicer_112ab1cb79e.service($ServletRequestServicer_112ab1cb79e.java)
>         at org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52)
>         at $ServletRequestServicerFilter_112ab1cb796.service($ServletRequestServicerFilter_112ab1cb796.java)
>         at $ServletRequestServicer_112ab1cb79e.service($ServletRequestServicer_112ab1cb79e.java)
>         at org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53)
>         at $ServletRequestServicerFilter_112ab1cb79a.service($ServletRequestServicerFilter_112ab1cb79a.java)
>         at $ServletRequestServicer_112ab1cb79e.service($ServletRequestServicer_112ab1cb79e.java)
>         at $ServletRequestServicer_112ab1cb781.service($ServletRequestServicer_112ab1cb781.java)
>         at org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:123)
>         at org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:104)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:747)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:423)
>         at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:355)
>         at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:226)
>         at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:567)
>         at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:147)
>         at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:126)
>         at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:119)
>         at org.mortbay.jetty.Server.handle(Server.java:248)
>         at org.mortbay.jetty.HttpConnection.handlerRequest(HttpConnection.java:360)
>         at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:614)
>         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:487)
>         at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:197)
>         at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:288)
>         at org.mortbay.jetty.nio.SelectChannelConnector$HttpChannelEndPoint.run(SelectChannelConnector.java:805)
>         at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
> Caused by: org.apache.hivemind.ApplicationRuntimeException: Unable to read OGNL
> expression '<parsed OGNL expression>' of $BaseComponent_20@b08fff3d[AddClient/$PageError]: Unable to read OGNL expression '<parsed OGNL expression>' of $BaseComponent_20@b08fff3d[AddClient/$PageError]: $AddClient_24 [context:/WEB-INF/PageError.jwc, line 8, column 72]
>         at org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.read(ExpressionEvaluatorImpl.java:145)
>         at $ExpressionEvaluator_112ab1cb896.read($ExpressionEvaluator_112ab1cb896.java)
>         at org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:128)
>         ... 74 more
> Caused by: org.apache.tapestry.BindingException: Unable to read OGNL expression'<parsed OGNL expression>' of $BaseComponent_20@b08fff3d[AddClient/$PageError]:$AddClient_24 [context:/WEB-INF/PageError.jwc, line 8, column 72]
>         at org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:134)
>         at org.apache.tapestry.binding.ExpressionBinding.getObject(ExpressionBinding.java:113)
>         at org.apache.tapestry.binding.AbstractBinding.getObject(AbstractBinding.java:84)
>         at $BaseComponent_20.getDelegate($BaseComponent_20.java)
>         at $ASTChain_112ab1cb8cf.get($ASTChain_112ab1cb8cf.java)
>         at org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.read(ExpressionEvaluatorImpl.java:141)
>         ... 76 more
> Caused by: org.apache.hivemind.ApplicationRuntimeException: Unable to read OGNL
> expression '<parsed OGNL expression>' of $BaseComponent_20@b08fff3d[AddClient/$PageError]: $AddClient_24 [context:/WEB-INF/clients/AddClient.html, line 13]
>         at org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.read(ExpressionEvaluatorImpl.java:145)
>         at $ExpressionEvaluator_112ab1cb896.read($ExpressionEvaluator_112ab1cb896.java)
>         at org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:128)
>         ... 81 more
> Caused by: java.lang.ClassCastException: $AddClient_24
>         at $ASTChain_112ab1cb8d0.get($ASTChain_112ab1cb8d0.java)
>         at org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.read(ExpressionEvaluatorImpl.java:141)
>         ... 83 more
> The error disappears when I set org.apache.tapestry.disable-caching to true.

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


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org