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/01/26 21:29:20 UTC

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

Author: olli
Date: Thu Jan 26 21:29:19 2017
New Revision: 1780482

URL: http://svn.apache.org/viewvc?rev=1780482&view=rev
Log:
SLING-6487 Prevent possible NPE (templateMode) in SlingResourceTemplateResolver

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

Modified: sling/trunk/contrib/scripting/org.apache.sling.scripting.thymeleaf/src/main/java/org/apache/sling/scripting/thymeleaf/internal/SlingResourceTemplateResolver.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/SlingResourceTemplateResolver.java?rev=1780482&r1=1780481&r2=1780482&view=diff
==============================================================================
--- sling/trunk/contrib/scripting/org.apache.sling.scripting.thymeleaf/src/main/java/org/apache/sling/scripting/thymeleaf/internal/SlingResourceTemplateResolver.java (original)
+++ sling/trunk/contrib/scripting/org.apache.sling.scripting.thymeleaf/src/main/java/org/apache/sling/scripting/thymeleaf/internal/SlingResourceTemplateResolver.java Thu Jan 26 21:29:19 2017
@@ -118,10 +118,15 @@ public class SlingResourceTemplateResolv
             final ITemplateResource templateResource = new SlingTemplateResource(resource);
             final boolean templateResourceExistenceVerified = false;
             final TemplateMode templateMode = templateModeProvider.provideTemplateMode(resource);
-            logger.debug("using template mode {} for template '{}'", templateMode, template);
-            final boolean useDecoupledLogic = templateMode.isMarkup() && configuration.useDecoupledLogic();
-            final ICacheEntryValidity validity = NonCacheableCacheEntryValidity.INSTANCE;
-            return new TemplateResolution(templateResource, templateResourceExistenceVerified, templateMode, useDecoupledLogic, validity);
+            if (templateMode == null) {
+                logger.warn("template mode for template '{}' is null, not resolving template", template);
+                return null;
+            } else {
+                logger.debug("using template mode {} for template '{}'", templateMode, template);
+                final boolean useDecoupledLogic = templateMode.isMarkup() && configuration.useDecoupledLogic();
+                final ICacheEntryValidity validity = NonCacheableCacheEntryValidity.INSTANCE;
+                return new TemplateResolution(templateResource, templateResourceExistenceVerified, templateMode, useDecoupledLogic, validity);
+            }
         } else {
             logger.error("context is not an instance of SlingContext");
             return null;