-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,
just upgraded to Tapestry 4.1.3 I have the following problem:

I am using an @If component with the following conditional expression:

"ognl:user==null or (!user.hasPermission(@theClass.THE_PERMISSION))"

which should evaluate to true, if there is no user logged in
(user==null) or a user without sufficient permissions is logged in.

It works, but I get a nasty exception stacktrace in my server.log every
time this expression is evaluated (see below).

I already had this problem earlier with Tap 4.1.2 but then it was even
worse because it actually broke my pages.

Any possible solution?

Regards
Bastian



[#|2007-11-15T13:23:24.320+0100|WARNING|sun-appserver9.1|javax.enterprise.system.stream.err|_ThreadID=24;_ThreadName=httpSSLWorkerThread-8080-1;_RequestID=22c86aaa-e31c-4091-a4e5-de65f776e663;|
java.lang.NullPointerException: target is null for method hasPermission
        at ognl.OgnlRuntime.callMethod(OgnlRuntime.java:1128)
        at ognl.ASTMethod.getValueBody(ASTMethod.java:90)
        at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:202)
        at ognl.SimpleNode.getValue(SimpleNode.java:246)
        at ognl.ASTChain.getValueBody(ASTChain.java:137)
        at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:202)
        at ognl.SimpleNode.getValue(SimpleNode.java:246)
        at ognl.ASTNot.getValueBody(ASTNot.java:49)
        at
ognl.BooleanExpression.toGetSourceString(BooleanExpression.java:41)
        at ognl.ASTNot.toGetSourceString(ASTNot.java:61)
        at ognl.OgnlRuntime.getChildSource(OgnlRuntime.java:2415)
        at ognl.OgnlRuntime.getChildSource(OgnlRuntime.java:2374)
        at ognl.ASTOr.toGetSourceString(ASTOr.java:104)
        at
org.apache.tapestry.services.impl.HiveMindExpressionCompiler.generateGetter(HiveMindExpressionCompiler.java:314)
        at
org.apache.tapestry.services.impl.HiveMindExpressionCompiler.compileExpression(HiveMindExpressionCompiler.java:157)
        at ognl.OgnlRuntime.compileExpression(OgnlRuntime.java:523)
        at ognl.Ognl.compileExpression(Ognl.java:141)
        at
org.apache.tapestry.services.impl.ExpressionCacheImpl.parse(ExpressionCacheImpl.java:152)
        at
org.apache.tapestry.services.impl.ExpressionCacheImpl.getCompiledExpression(ExpressionCacheImpl.java:115)
        at
$ExpressionCache_11643435063.getCompiledExpression($ExpressionCache_11643435063.java)
        at
org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:134)
        at
org.apache.tapestry.binding.ExpressionBinding.getObject(ExpressionBinding.java:125)
        at
org.apache.tapestry.binding.AbstractBinding.getObject(AbstractBinding.java:84)
        at
org.apache.tapestry.enhance.EnhanceUtils.toBoolean(EnhanceUtils.java:173)
        at $IfBean_3.getCondition($IfBean_3.java)
        at
org.apache.tapestry.components.IfBean.evaluateCondition(IfBean.java:128)
        at
org.apache.tapestry.components.IfBean.renderComponent(IfBean.java:66)
        at
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:725)
        at
org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:179)
        at
org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:539)
        at
org.apache.tapestry.components.RenderBody.renderComponent(RenderBody.java:39)
        at
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:725)
        at
org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:179)
        at
org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:539)
        at org.apache.tapestry.html.Body.renderComponent(Body.java:38)
        at
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:725)
        at
org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:179)
        at
org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:539)
        at org.apache.tapestry.html.Shell.renderComponent(Shell.java:124)
        at
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:725)
        at
org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:179)
        at
org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:107)
        at
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:725)
        at
org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:179)
        at
org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:107)
        at
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:725)
        at
org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:177)
        at
org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:249)
        at
org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:397)
        at
org.apache.tapestry.services.impl.DefaultResponseBuilder.renderResponse(DefaultResponseBuilder.java:151)
        at
$ResponseBuilder_11643435080.renderResponse($ResponseBuilder_11643435080.java)
        at
$ResponseBuilder_11643434f24.renderResponse($ResponseBuilder_11643434f24.java)
        at
$ResponseBuilder_11643434f23.renderResponse($ResponseBuilder_11643434f23.java)
        at
com.vesseltracker.web.services.LinkService.service(LinkService.java:77)
        at
$IEngineService_11643434fbe.service($IEngineService_11643434fbe.java)
        at
org.apache.tapestry.services.impl.EngineServiceInnerProxy.service(EngineServiceInnerProxy.java:77)
        at
org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(EngineServiceOuterProxy.java:72)
        at
org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:241)
        at
org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:54)
        at
$WebRequestServicer_11643434f8c.service($WebRequestServicer_11643434f8c.java)
        at
$WebRequestServicer_11643434f8b.service($WebRequestServicer_11643434f8b.java)
        at
$WebRequestServicer_11643434f88.service($WebRequestServicer_11643434f88.java)
        at
$WebRequestServicer_11643434f87.service($WebRequestServicer_11643434f87.java)
        at
org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:61)
        at
$ServletRequestServicer_11643434f6e.service($ServletRequestServicer_11643434f6e.java)
        at
$ServletRequestServicer_11643434f6d.service($ServletRequestServicer_11643434f6d.java)
        at
org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55)
        at
$ServletRequestServicerFilter_11643434f6a.service($ServletRequestServicerFilter_11643434f6a.java)
        at
$ServletRequestServicerFilter_11643434f69.service($ServletRequestServicerFilter_11643434f69.java)
        at
$ServletRequestServicer_11643434f6f.service($ServletRequestServicer_11643434f6f.java)
        at
org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52)
        at
$ServletRequestServicerFilter_11643434f68.service($ServletRequestServicerFilter_11643434f68.java)
        at
$ServletRequestServicerFilter_11643434f67.service($ServletRequestServicerFilter_11643434f67.java)
        at
$ServletRequestServicer_11643434f6f.service($ServletRequestServicer_11643434f6f.java)
        at
org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53)
        at
$ServletRequestServicerFilter_11643434f6c.service($ServletRequestServicerFilter_11643434f6c.java)
        at
$ServletRequestServicerFilter_11643434f6b.service($ServletRequestServicerFilter_11643434f6b.java)
        at
$ServletRequestServicer_11643434f6f.service($ServletRequestServicer_11643434f6f.java)
        at
$ServletRequestServicer_11643434f62.service($ServletRequestServicer_11643434f62.java)
        at
$ServletRequestServicer_11643434f61.service($ServletRequestServicer_11643434f61.java)
        at
org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:126)
        at
org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:103)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:718)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
        at
org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:290)
        at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
        at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
        at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
        at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
        at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
        at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
        at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
        at org.apache.catalina.core.StandardPipeline.doInvoke(Standard|#]

- --
Bastian Voigt
Neumünstersche Straße 4
20251 Hamburg
telefon +49 - 40  - 67957171
mobil   +49 - 179 - 4826359

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHPD3C9+lAHD7HULYRAtvJAJ4xR98FNASKx7IzMMj04MxvHFWq4QCfZP7O
TD/ECdCspV9quSNWR5GmXXQ=
=FpoW
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to