SLING-6487 Prevent possible NPE (templateMode) in SlingResourceTemplateResolver

git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1780482 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/sling/scripting/thymeleaf/internal/SlingResourceTemplateResolver.java b/src/main/java/org/apache/sling/scripting/thymeleaf/internal/SlingResourceTemplateResolver.java
index 790cfdc..f28087b 100644
--- a/src/main/java/org/apache/sling/scripting/thymeleaf/internal/SlingResourceTemplateResolver.java
+++ b/src/main/java/org/apache/sling/scripting/thymeleaf/internal/SlingResourceTemplateResolver.java
@@ -118,10 +118,15 @@
             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;