Author: olli Date: Thu Jun 12 09:35:13 2014 New Revision: 1602107 URL: http://svn.apache.org/r1602107 Log: SLING-3649 make encoding for reading templates configurable
Modified: sling/trunk/contrib/scripting/thymeleaf/README.md sling/trunk/contrib/scripting/thymeleaf/src/main/java/org/apache/sling/scripting/thymeleaf/ThymeleafScriptEngineFactory.java sling/trunk/contrib/scripting/thymeleaf/src/main/java/org/apache/sling/scripting/thymeleaf/impl/NonCachingTemplateResolver.java Modified: sling/trunk/contrib/scripting/thymeleaf/README.md URL: http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/thymeleaf/README.md?rev=1602107&r1=1602106&r2=1602107&view=diff ============================================================================== --- sling/trunk/contrib/scripting/thymeleaf/README.md (original) +++ sling/trunk/contrib/scripting/thymeleaf/README.md Thu Jun 12 09:35:13 2014 @@ -12,4 +12,3 @@ Features * out of the box support for _legacy_ HTML5 through embedded _NekoHTML_ * runtime configurable `TemplateModeHandler`s for _XML_, _VALIDXML_, _XHTML_, _VALIDXHTML_, _HTML5_ and _LEGACYHTML5_ * `MessageResolver` backed by `ResourceBundleProvider` from `org.apache.sling.i18n` -* uses `UTF-8` charset for reading templates Modified: sling/trunk/contrib/scripting/thymeleaf/src/main/java/org/apache/sling/scripting/thymeleaf/ThymeleafScriptEngineFactory.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/thymeleaf/src/main/java/org/apache/sling/scripting/thymeleaf/ThymeleafScriptEngineFactory.java?rev=1602107&r1=1602106&r2=1602107&view=diff ============================================================================== --- sling/trunk/contrib/scripting/thymeleaf/src/main/java/org/apache/sling/scripting/thymeleaf/ThymeleafScriptEngineFactory.java (original) +++ sling/trunk/contrib/scripting/thymeleaf/src/main/java/org/apache/sling/scripting/thymeleaf/ThymeleafScriptEngineFactory.java Thu Jun 12 09:35:13 2014 @@ -82,8 +82,6 @@ public class ThymeleafScriptEngineFactor @Property(value = {DEFAULT_NAME}, unbounded = PropertyUnbounded.ARRAY) public static final String NAMES_PARAMETER = "org.apache.sling.scripting.thymeleaf.names"; - public static final String TEMPLATE_CHARSET = "UTF-8"; - private final Logger logger = LoggerFactory.getLogger(ThymeleafScriptEngineFactory.class); public ThymeleafScriptEngineFactory() { Modified: sling/trunk/contrib/scripting/thymeleaf/src/main/java/org/apache/sling/scripting/thymeleaf/impl/NonCachingTemplateResolver.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/thymeleaf/src/main/java/org/apache/sling/scripting/thymeleaf/impl/NonCachingTemplateResolver.java?rev=1602107&r1=1602106&r2=1602107&view=diff ============================================================================== --- sling/trunk/contrib/scripting/thymeleaf/src/main/java/org/apache/sling/scripting/thymeleaf/impl/NonCachingTemplateResolver.java (original) +++ sling/trunk/contrib/scripting/thymeleaf/src/main/java/org/apache/sling/scripting/thymeleaf/impl/NonCachingTemplateResolver.java Thu Jun 12 09:35:13 2014 @@ -34,7 +34,6 @@ import org.apache.felix.scr.annotations. import org.apache.felix.scr.annotations.Service; import org.apache.sling.commons.osgi.PropertiesUtil; import org.apache.sling.scripting.thymeleaf.SlingTemplateModeHandler; -import org.apache.sling.scripting.thymeleaf.ThymeleafScriptEngineFactory; import org.osgi.framework.Constants; import org.osgi.service.component.ComponentContext; import org.slf4j.Logger; @@ -72,6 +71,13 @@ public class NonCachingTemplateResolver @Property(intValue = DEFAULT_ORDER) public static final String ORDER_PARAMETER = "org.apache.sling.scripting.thymeleaf.impl.NonCachingTemplateResolver.order"; + private String encoding; + + public static final String DEFAULT_ENCODING = "UTF-8"; + + @Property(value = DEFAULT_ENCODING) + public static final String ENCODING_PARAMETER = "org.apache.sling.scripting.thymeleaf.impl.NonCachingTemplateResolver.encoding"; + private final Logger logger = LoggerFactory.getLogger(NonCachingTemplateResolver.class); public NonCachingTemplateResolver() { @@ -107,6 +113,7 @@ public class NonCachingTemplateResolver private synchronized void configure(final ComponentContext componentContext) { final Dictionary properties = componentContext.getProperties(); order = PropertiesUtil.toInteger(properties.get(ORDER_PARAMETER), DEFAULT_ORDER); + encoding = PropertiesUtil.toString(properties.get(ENCODING_PARAMETER), DEFAULT_ENCODING); } @Override @@ -123,7 +130,7 @@ public class NonCachingTemplateResolver public TemplateResolution resolveTemplate(TemplateProcessingParameters templateProcessingParameters) { final String templateName = templateProcessingParameters.getTemplateName(); final String resourceName = templateName; // TODO - final String characterEncoding = ThymeleafScriptEngineFactory.TEMPLATE_CHARSET; + final String characterEncoding = encoding; final String templateMode = computeTemplateMode(templateName); final ITemplateResolutionValidity validity = new NonCacheableTemplateResolutionValidity(); return new TemplateResolution(templateName, resourceName, resourceResolver, characterEncoding, templateMode, validity);