Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.7
-
None
-
Tapestry 4.12 (5/09), ognl-2.7 (5/10)
Description
I'm 0 for 2 in my bug reporting so let's hope I do better
I have a shell component with two assets defined
.jwc:
<asset name="printStylesheet" path="css/print.css"/>
<asset name="screenStylesheet" path="css/screen.css"/>
<component type="Shell">
<binding name="stylesheets">
page.assets.pageStylesheet ?
new org.apache.tapestry.IAsset[]
{ assets.printStylesheet, assets.screenStylesheet, page.assets.pageStylesheet }:
new org.apache.tapestry.IAsset[]
{ assets.printStylesheet, assets.screenStylesheet }</binding>
</component>
When I go to my home page (which doesn't pageStylesheet) I get:
41096 [http-8180-Processor24] ERROR org.apache.tapestry.services.impl.HiveMindExpressionCompiler - Error generating OGNL statements for expression page.assets.pageStylesheet ? new org.apache.tapestry.IAsset[]
{ assets.printStylesheet, assets.screenStylesheet } : new org.apache.tapestry.IAsset[] { assets.printStylesheet, assets.screenStylesheet }with root $BaseComponent_8@4e8c6265[Home/$Border]
java.lang.VerifyError: (class: ognl/ASTTest182561338662/0Accessor, method: ref7 signature: (Lognl/OgnlContext;Ljava/lang/Object;)Lorg/apache/tapestry/IAsset Wrong return type in function
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2328)
at java.lang.Class.getConstructor0(Class.java:2640)
at java.lang.Class.newInstance0(Class.java:321)
at java.lang.Class.newInstance(Class.java:303)
at org.apache.tapestry.services.impl.HiveMindExpressionCompiler.compileExpression(HiveMindExpressionCompiler.java:222)
at ognl.OgnlRuntime.compileExpression(OgnlRuntime.java:387)
at ognl.Ognl.compileExpression(Ognl.java:123)
at org.apache.tapestry.services.impl.ExpressionCacheImpl.parse(ExpressionCacheImpl.java:129)
at org.apache.tapestry.services.impl.ExpressionCacheImpl.getCompiledExpression(ExpressionCacheImpl.java:91)
at $ExpressionCache_112743d2da8.getCompiledExpression($ExpressionCache_112743d2da8.java)
at org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:122)
at org.apache.tapestry.binding.ExpressionBinding.getObject(ExpressionBinding.java:113)
at org.apache.tapestry.binding.AbstractBinding.getObject(AbstractBinding.java:84)
at $Shell_9.getStylesheets($Shell_9.java)
at org.apache.tapestry.html.Shell.renderComponent(Shell.java:128)
at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
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:724)
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:724)
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)
[....]
This did work with ognl 2.6 and an earlier snapshot version of tapestry. I'm happy to provide more information or anything that is needed to help identify the problem, I just need a little direction and I can do the leg work. Thanks.