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 2016/04/19 21:14:31 UTC

svn commit: r1739985 - /sling/trunk/contrib/scripting/org.apache.sling.scripting.thymeleaf/src/main/java/org/apache/sling/scripting/thymeleaf/internal/ThymeleafScriptEngineFactory.java

Author: olli
Date: Tue Apr 19 19:14:31 2016
New Revision: 1739985

URL: http://svn.apache.org/viewvc?rev=1739985&view=rev
Log:
SLING-5663 Make Thymeleaf TemplateEngine available as service

check for at least one TemplateResolver, MessageResolver and Dialect before registering to avoid unnecessary un-/registration calls

Modified:
    sling/trunk/contrib/scripting/org.apache.sling.scripting.thymeleaf/src/main/java/org/apache/sling/scripting/thymeleaf/internal/ThymeleafScriptEngineFactory.java

Modified: sling/trunk/contrib/scripting/org.apache.sling.scripting.thymeleaf/src/main/java/org/apache/sling/scripting/thymeleaf/internal/ThymeleafScriptEngineFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/org.apache.sling.scripting.thymeleaf/src/main/java/org/apache/sling/scripting/thymeleaf/internal/ThymeleafScriptEngineFactory.java?rev=1739985&r1=1739984&r2=1739985&view=diff
==============================================================================
--- sling/trunk/contrib/scripting/org.apache.sling.scripting.thymeleaf/src/main/java/org/apache/sling/scripting/thymeleaf/internal/ThymeleafScriptEngineFactory.java (original)
+++ sling/trunk/contrib/scripting/org.apache.sling.scripting.thymeleaf/src/main/java/org/apache/sling/scripting/thymeleaf/internal/ThymeleafScriptEngineFactory.java Tue Apr 19 19:14:31 2016
@@ -264,13 +264,14 @@ public final class ThymeleafScriptEngine
     }
 
     private void registerTemplateEngine() {
-        if (bundleContext != null) {
-            final Dictionary<String, String> properties = new Hashtable<>();
-            properties.put(Constants.SERVICE_DESCRIPTION, "Thymeleaf TemplateEngine");
-            properties.put(Constants.SERVICE_VENDOR, "Thymeleaf");
-            logger.info("{}, {}, {}", bundleContext, templateEngine, properties);
-            serviceRegistration = bundleContext.registerService(ITemplateEngine.class, templateEngine, properties);
+        if (templateEngine.getTemplateResolvers().size() == 0 || templateEngine.getMessageResolvers().size() == 0 || templateEngine.getDialects().size() == 0) {
+            return;
         }
+        final Dictionary<String, String> properties = new Hashtable<>();
+        properties.put(Constants.SERVICE_DESCRIPTION, "Thymeleaf TemplateEngine");
+        properties.put(Constants.SERVICE_VENDOR, "Thymeleaf");
+        logger.info("registering {} as service {} with properties {}", templateEngine, ITemplateEngine.class.getName(), properties);
+        serviceRegistration = bundleContext.registerService(ITemplateEngine.class, templateEngine, properties);
     }
 
     private void unregisterTemplateEngine() {