tapestry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Strand (JIRA)" <...@tapestry.apache.org>
Subject [jira] Created: (TAPESTRY-2403) "Error generating OGNL statements" in script template
Date Fri, 02 May 2008 20:18:55 GMT
"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: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


Mime
View raw message