Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Cannot Reproduce
-
2.7
-
None
-
None
-
Tapestry-4.12-SNAPSHOT, ognl-2.7-20070425.021856-29.jar
Description
The expression comparing a parameter to a const string value:
<span jwcid="@contrib:When" condition="ognl:'summary'.equals(nav)">
...
</span>
Where nav is a parameter to the Border component (i.e. <parameter name="nav" required="no"/>)
returns:
ERROR org.apache.tapestry.services.impl.HiveMindExpressionCompiler - Error generating OGNL statements for expression "summary".equals(nav) with root $BaseComponent_1@4e8c6265[Home/$Border]
org.apache.hivemind.ApplicationRuntimeException: Unable to add method void set(ognl.OgnlContext, java.lang.Object, java.lang.Object) to class ognl.ASTChain126644811825.0Accessor: [source error] syntax error near "{)"summary"."
at org.apache.tapestry.enhance.ClassFabImpl.addMethod(ClassFabImpl.java:278)
at org.apache.tapestry.services.impl.HiveMindExpressionCompiler.compileExpression(HiveMindExpressionCompiler.java:216)
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_1126cef3bb9.getCompiledExpression($ExpressionCache_1126cef3bb9.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 org.apache.tapestry.enhance.EnhanceUtils.toBoolean(EnhanceUtils.java:176)
at $When_13.getCondition($When_13.java)
at org.apache.tapestry.contrib.components.When.renderComponent(When.java:55)
at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:184)
...
Caused by: compile error: syntax error near "{)"summary"."
at javassist.compiler.Parser.parsePrimaryExpr(Parser.java:1255)
at javassist.compiler.Parser.parsePostfix(Parser.java:1029)
at javassist.compiler.Parser.parseUnaryExpr(Parser.java:887)
at javassist.compiler.Parser.parseBinaryExpr(Parser.java:774)
at javassist.compiler.Parser.parseConditionalExpr(Parser.java:718)
at javassist.compiler.Parser.parseExpression(Parser.java:698)
at javassist.compiler.Parser.parseDeclarationOrExpression(Parser.java:590)
at javassist.compiler.Parser.parseStatement(Parser.java:276)
at javassist.compiler.Parser.parseBlock(Parser.java:288)
at javassist.compiler.Parser.parseStatement(Parser.java:242)
at javassist.compiler.Javac.compileBody(Javac.java:203)
at javassist.CtBehavior.setBody(CtBehavior.java:341)
... 79 more