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;