Hi all,

Been meaning to write a reply to this for a while. I am confused about this and was wondering if anyone who has worked on the other scripting support can explain something. From looking at all the javadocs etc for javax.script this has all only been around since 1.6, so I am not sure how the scripting support is supposed to work for sling in 1.5, e.g. the ScriptContext (which is passed in) says since 1.6 in the javadocs. Maybe I am missing something obvious as to why this should work (e.g. is there a library for 1.5 that adds this support?).

Anyway one solution to the problem below would be to replace the line:
Bindings bindings = scriptContext.getBindings(ScriptContext.ENGINE_SCOPE);
with the line:
Map<String, Object> bindings = scriptContext.getBindings(ScriptContext.ENGINE_SCOPE);
in FreemarkerScriptEngine

Cheers
Bryce

Oliver Lietz (JIRA) wrote:
NoSuchMethodError exception in javax.script.Bindings when running on Java 5
---------------------------------------------------------------------------

                 Key: SLING-591
                 URL: https://issues.apache.org/jira/browse/SLING-591
             Project: Sling
          Issue Type: Bug
          Components: Scripting
         Environment: Mac OS X 10.5/Intel64
            Reporter: Oliver Lietz


running scripting on Java 5 leads to runtime errors:

*ERROR* [btpool0-2] 
org.apache.sling.scripting.freemarker.FreemarkerScriptEngine Failure running 
Freemarker script. java.lang.NoSuchMethodError: 
javax.script.Bindings.put(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
        at 
org.apache.sling.scripting.freemarker.FreemarkerScriptEngine.eval(FreemarkerScriptEngine.java:69)
        at 
org.apache.sling.scripting.core.impl.DefaultSlingScript.call(DefaultSlingScript.java:135)
        at 
org.apache.sling.scripting.core.impl.DefaultSlingScript.eval(DefaultSlingScript.java:106)
        at 
org.apache.sling.scripting.core.impl.DefaultSlingScript.service(DefaultSlingScript.java:219)
        at 
org.apache.sling.engine.impl.request.RequestData.service(RequestData.java:462)
        at 
org.apache.sling.engine.impl.SlingMainServlet.processRequest(SlingMainServlet.java:419)
        at 
org.apache.sling.engine.impl.filter.RequestSlingFilterChain.render(RequestSlingFilterChain.java:48)
        at 
org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:54)
        at 
org.apache.sling.engine.impl.debug.RequestProgressTrackerLogFilter.doFilter(RequestProgressTrackerLogFilter.java:59)
        at 
org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:52)
        at 
org.apache.sling.engine.impl.SlingMainServlet.service(SlingMainServlet.java:273)
        at 
org.apache.sling.engine.impl.SlingMainServlet.service(SlingMainServlet.java:171)
        [...]



Reply via email to