Uploaded image for project: 'Tapestry'
  1. Tapestry
  2. TAPESTRY-2403

"Error generating OGNL statements" in script template

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Invalid
    • 4.1.5
    • unspecified
    • None
    • None

    Description

      I just upgraded from 4.1.1 to 4.1.5 and everything seems to work except for this OGNL error message caused by a script template.
      The script works fine except for the log message, I suppose OGNL falls back to interpreting mode.

      ERROR org.apache.tapestry.services.impl.HiveMindExpressionCompiler:222 Error generating OGNL statements for expression class with root

      {id=startButton, height=130, width=133, path=/images/flash/button-lite.swf, onclick=window.startClicked(), class=, version=7.0.0}

      org.apache.hivemind.ApplicationRuntimeException: Unable to add method void set(ognl.OgnlContext, java.lang.Object, java.lang.Object) to class $ASTProperty_119ab263689: [source error] put(java.lang.String,java.lang.Object) not found in java.lang.Object
      at org.apache.tapestry.enhance.ClassFabImpl.addMethod(ClassFabImpl.java:278)
      at org.apache.tapestry.services.impl.HiveMindExpressionCompiler.compileExpression(HiveMindExpressionCompiler.java:212)
      at ognl.OgnlRuntime.compileExpression(OgnlRuntime.java:414)
      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_119ab2635a3.getCompiledExpression($ExpressionCache_119ab2635a3.java)
      at org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.read(ExpressionEvaluatorImpl.java:107)
      at $ExpressionEvaluator_119ab2635a1.read($ExpressionEvaluator_119ab2635a1.java)
      at org.apache.tapestry.script.ScriptSessionImpl.evaluate(ScriptSessionImpl.java:86)
      at org.apache.tapestry.script.AbstractToken.evaluate(AbstractToken.java:84)
      at org.apache.tapestry.script.InsertToken.write(InsertToken.java:48)
      at org.apache.tapestry.script.AbstractToken.writeChildren(AbstractToken.java:71)
      at org.apache.tapestry.script.InitToken.write(InitToken.java:43)
      at org.apache.tapestry.script.AbstractToken.writeChildren(AbstractToken.java:71)
      at org.apache.tapestry.script.ParsedScript.execute(ParsedScript.java:82)
      ...
      Caused by: javassist.CannotCompileException: [source error] put(java.lang.String,java.lang.Object) not found in java.lang.Object
      at javassist.CtBehavior.setBody(CtBehavior.java:367)
      at javassist.CtBehavior.setBody(CtBehavior.java:334)
      at org.apache.tapestry.enhance.ClassFabImpl.addMethod(ClassFabImpl.java:272)
      ...
      Caused by: compile error: put(java.lang.String,java.lang.Object) not found in java.lang.Object
      at javassist.compiler.TypeChecker.atMethodCallCore(TypeChecker.java:716)
      ...

      The script template is pretty simple:

      <!DOCTYPE script PUBLIC
      "-//Apache Software Foundation//Tapestry Script Specification 3.0//EN"
      "http://jakarta.apache.org/tapestry/dtd/Script_3_0.dtd">
      <script>
      <include-script resource-path="swfobject-2.0.js"/>
      <input-symbol class="java.lang.String" required="yes" key="path"/>
      <input-symbol class="java.lang.String" required="yes" key="id"/>
      <input-symbol class="java.lang.String" required="yes" key="width"/>
      <input-symbol class="java.lang.String" required="yes" key="height"/>
      <input-symbol class="java.lang.String" required="yes" key="version"/>
      <input-symbol class="java.lang.String" required="yes" key="class"/>
      <input-symbol class="java.lang.String" required="yes" key="onclick"/>
      <initialization>
      {
      var flashvars = {onclick: "${onclick}"};
      var params =

      {wmode: "transparent"}

      ;
      var attributes = {styleclass: "${class}"};
      swfobject.embedSWF("${path}", "${id}", "${width}", "${height}", "${version}", false, flashvars, params, attributes);
      }
      </initialization>
      </script>

      Attachments

        Activity

          People

            Unassigned Unassigned
            ms Martin Strand
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: