"Error generating OGNL statements" in script template
-----------------------------------------------------
Key: TAPESTRY-2403
URL: https://issues.apache.org/jira/browse/TAPESTRY-2403
Project: Tapestry
Issue Type: Bug
Affects Versions: 4.1.5
Reporter: Martin Strand
Priority: Minor
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>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]