Author: olli
Date: Tue Apr 26 04:03:33 2016
New Revision: 1740941

URL: http://svn.apache.org/viewvc?rev=1740941&view=rev
Log:
SLING-5688 Make static models available

Modified:
    sling/trunk/contrib/scripting/freemarker/pom.xml
    
sling/trunk/contrib/scripting/freemarker/src/main/java/org/apache/sling/scripting/freemarker/internal/FreemarkerScriptEngine.java

Modified: sling/trunk/contrib/scripting/freemarker/pom.xml
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/freemarker/pom.xml?rev=1740941&r1=1740940&r2=1740941&view=diff
==============================================================================
--- sling/trunk/contrib/scripting/freemarker/pom.xml (original)
+++ sling/trunk/contrib/scripting/freemarker/pom.xml Tue Apr 26 04:03:33 2016
@@ -76,6 +76,9 @@
               org.zeroturnaround.javarebel;
               org.python.*;resolution:=optional, *
             </Import-Package>
+            <DynamicImport-Package>
+              *
+            </DynamicImport-Package>
             <ScriptEngine-Name>${project.name}</ScriptEngine-Name>
             <ScriptEngine-Version>${project.version}</ScriptEngine-Version>
             <_dsannotations>*</_dsannotations>

Modified: 
sling/trunk/contrib/scripting/freemarker/src/main/java/org/apache/sling/scripting/freemarker/internal/FreemarkerScriptEngine.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/freemarker/src/main/java/org/apache/sling/scripting/freemarker/internal/FreemarkerScriptEngine.java?rev=1740941&r1=1740940&r2=1740941&view=diff
==============================================================================
--- 
sling/trunk/contrib/scripting/freemarker/src/main/java/org/apache/sling/scripting/freemarker/internal/FreemarkerScriptEngine.java
 (original)
+++ 
sling/trunk/contrib/scripting/freemarker/src/main/java/org/apache/sling/scripting/freemarker/internal/FreemarkerScriptEngine.java
 Tue Apr 26 04:03:33 2016
@@ -24,7 +24,9 @@ import javax.script.ScriptEngineFactory;
 import javax.script.ScriptException;
 import javax.jcr.Node;
 
+import freemarker.ext.beans.BeansWrapper;
 import freemarker.log.Logger;
+import freemarker.template.TemplateHashModel;
 import org.apache.sling.api.scripting.SlingBindings;
 import org.apache.sling.api.scripting.SlingScriptHelper;
 import org.apache.sling.scripting.api.AbstractSlingScriptEngine;
@@ -42,9 +44,15 @@ public class FreemarkerScriptEngine exte
 
     private final Configuration configuration;
 
+    private final BeansWrapper beansWrapper;
+
+    private final TemplateHashModel statics;
+
     public FreemarkerScriptEngine(ScriptEngineFactory factory) {
         super(factory);
         configuration = new Configuration();
+        beansWrapper = new BeansWrapper();
+        statics = beansWrapper.getStaticModels();
     }
 
     public Object eval(Reader reader, ScriptContext scriptContext)
@@ -66,6 +74,7 @@ public class FreemarkerScriptEngine exte
         try {
             Template tmpl = new Template(scriptName, reader, configuration);
             bindings.put("currentNode", new NodeModel((Node) 
bindings.get("currentNode")));
+            bindings.put("statics", statics);
             tmpl.process(bindings, scriptContext.getWriter());
         } catch (Throwable t) {
             log.error("Failure running Freemarker script.", t);


Reply via email to