You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ol...@apache.org on 2017/03/09 14:01:38 UTC

svn commit: r1786173 - in /sling/trunk/contrib/scripting/freemarker/src/main/java/org/apache/sling/scripting/freemarker/internal: FreemarkerScriptEngine.java FreemarkerScriptEngineFactory.java

Author: olli
Date: Thu Mar  9 14:01:38 2017
New Revision: 1786173

URL: http://svn.apache.org/viewvc?rev=1786173&view=rev
Log:
SLING-5689 Use Version (incompatible improvements)

use Version from FreeMarker's Configuration also for Scripting's language version

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

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=1786173&r1=1786172&r2=1786173&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 Thu Mar  9 14:01:38 2017
@@ -24,7 +24,6 @@ import javax.script.ScriptContext;
 import javax.script.ScriptException;
 
 import freemarker.log.Logger;
-import freemarker.template.Version;
 import org.apache.sling.api.scripting.SlingBindings;
 import org.apache.sling.api.scripting.SlingScriptHelper;
 import org.apache.sling.scripting.api.AbstractSlingScriptEngine;
@@ -39,8 +38,6 @@ import freemarker.template.Template;
 public class FreemarkerScriptEngine extends AbstractSlingScriptEngine {
     private static final Logger log = Logger.getLogger(FreemarkerScriptEngine.class.getName());
 
-    private final Version version = new Version(2, 3, 25);
-
     private final Configuration configuration;
 
     private final FreemarkerScriptEngineFactory freemarkerScriptEngineFactory;
@@ -48,7 +45,7 @@ public class FreemarkerScriptEngine exte
     public FreemarkerScriptEngine(final FreemarkerScriptEngineFactory freemarkerScriptEngineFactory) {
         super(freemarkerScriptEngineFactory);
         this.freemarkerScriptEngineFactory = freemarkerScriptEngineFactory;
-        configuration = new Configuration(version);
+        configuration = new Configuration(Configuration.getVersion());
         configuration.setDefaultEncoding(StandardCharsets.UTF_8.name());
     }
 

Modified: sling/trunk/contrib/scripting/freemarker/src/main/java/org/apache/sling/scripting/freemarker/internal/FreemarkerScriptEngineFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/freemarker/src/main/java/org/apache/sling/scripting/freemarker/internal/FreemarkerScriptEngineFactory.java?rev=1786173&r1=1786172&r2=1786173&view=diff
==============================================================================
--- sling/trunk/contrib/scripting/freemarker/src/main/java/org/apache/sling/scripting/freemarker/internal/FreemarkerScriptEngineFactory.java (original)
+++ sling/trunk/contrib/scripting/freemarker/src/main/java/org/apache/sling/scripting/freemarker/internal/FreemarkerScriptEngineFactory.java Thu Mar  9 14:01:38 2017
@@ -18,15 +18,13 @@
  */
 package org.apache.sling.scripting.freemarker.internal;
 
-import java.io.IOException;
-import java.io.InputStream;
 import java.util.HashMap;
 import java.util.Map;
-import java.util.Properties;
 
 import javax.script.ScriptEngine;
 import javax.script.ScriptEngineFactory;
 
+import freemarker.template.Configuration;
 import freemarker.template.TemplateModel;
 import org.apache.sling.commons.osgi.SortingServiceTracker;
 import org.apache.sling.scripting.api.AbstractScriptEngineFactory;
@@ -57,32 +55,6 @@ public class FreemarkerScriptEngineFacto
     /** The name of the FreeMarker language (value is "FreeMarker"). */
     private static final String FREEMARKER_NAME = "FreeMarker";
 
-    /**
-     * The absolute path to the FreeMarker version properties file (value is
-     * "/freemarker/version.properties").
-     */
-    private static final String FREEMARKER_VERSION_PROPERTIES = "/freemarker/version.properties";
-
-    /**
-     * The name of the property containing the FreeMarker version (value is
-     * "version").
-     */
-    private static final String PROP_FREEMARKER_VERSION = "version";
-
-    /**
-     * The default version of FreeMarker if the version property cannot be read
-     * (value is "2.3", which is the latest minor version release as of
-     * 17.Dec.2007).
-     */
-    private static final String DEFAULT_FREEMARKER_VERSION = "2.3";
-
-    /**
-     * The FreeMarker language version extracted from the FreeMarker version
-     * properties file. If this file cannot be read the language version
-     * defaults to ...
-     */
-    private final String languageVersion;
-
     private BundleContext bundleContext;
 
     private SortingServiceTracker<TemplateModel> templateModelTracker;
@@ -90,34 +62,6 @@ public class FreemarkerScriptEngineFacto
     private final Logger logger = LoggerFactory.getLogger(FreemarkerScriptEngineFactory.class);
 
     public FreemarkerScriptEngineFactory() {
-
-        // extract language version from version.properties file
-        String langVersion = null;
-        InputStream ins = null;
-        try {
-            ins = getClass().getResourceAsStream(FREEMARKER_VERSION_PROPERTIES);
-            if (ins != null) {
-                Properties props = new Properties();
-                props.load(ins);
-                langVersion = props.getProperty(PROP_FREEMARKER_VERSION);
-            }
-        } catch (IOException ioe) {
-            // don't really care, just use default
-        } finally {
-            if (ins != null) {
-                try {
-                    ins.close();
-                } catch (IOException ignore) {
-                    // ignore
-                }
-            }
-        }
-
-        // if we could not extract the actual version, assume version 2.3
-        // which is the current minor release as of 17.Dec.2007
-        languageVersion = (langVersion == null)
-                ? DEFAULT_FREEMARKER_VERSION
-                : langVersion;
     }
 
     @Activate
@@ -158,7 +102,7 @@ public class FreemarkerScriptEngineFacto
     }
 
     public String getLanguageVersion() {
-        return languageVersion;
+        return Configuration.getVersion().toString();
     }
 
     Map<String, TemplateModel> getTemplateModels() {