Uploaded image for project: 'Commons OGNL (Dormant)'
  1. Commons OGNL (Dormant)
  2. OGNL-68

"xxx".equals(var) returns Expression Error

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Cannot Reproduce
    • 2.7
    • None
    • ExpressionCompiler
    • 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

      Attachments

        Activity

          People

            jkuhnert Jesse Kuhnert
            heathn Heath Nielson
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: