Author: kwin
Date: Thu Sep 17 06:58:24 2015
New Revision: 1703499
URL: http://svn.apache.org/r1703499
Log:
SLING-4734 skip provider as early as possible if the given class is no model
Modified:
sling/trunk/bundles/scripting/sightly/models-use-provider/pom.xml
sling/trunk/bundles/scripting/sightly/models-use-provider/src/main/java/org/apache/sling/scripting/sightly/models/impl/ModelFactoryUseProvider.java
Modified: sling/trunk/bundles/scripting/sightly/models-use-provider/pom.xml
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/models-use-provider/pom.xml?rev=1703499&r1=1703498&r2=1703499&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/sightly/models-use-provider/pom.xml (original)
+++ sling/trunk/bundles/scripting/sightly/models-use-provider/pom.xml Thu Sep
17 06:58:24 2015
@@ -92,7 +92,7 @@
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.models.api</artifactId>
- <version>1.2.0</version>
+ <version>1.2.2</version>
<scope>provided</scope>
</dependency>
Modified:
sling/trunk/bundles/scripting/sightly/models-use-provider/src/main/java/org/apache/sling/scripting/sightly/models/impl/ModelFactoryUseProvider.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/models-use-provider/src/main/java/org/apache/sling/scripting/sightly/models/impl/ModelFactoryUseProvider.java?rev=1703499&r1=1703498&r2=1703499&view=diff
==============================================================================
---
sling/trunk/bundles/scripting/sightly/models-use-provider/src/main/java/org/apache/sling/scripting/sightly/models/impl/ModelFactoryUseProvider.java
(original)
+++
sling/trunk/bundles/scripting/sightly/models-use-provider/src/main/java/org/apache/sling/scripting/sightly/models/impl/ModelFactoryUseProvider.java
Thu Sep 17 06:58:24 2015
@@ -80,6 +80,11 @@ public class ModelFactoryUseProvider imp
// next use provider will be queried
return ProviderOutcome.failure();
}
+ if (!modelFactory.isModelClass(cls)) {
+ log.debug("{} is no Sling Model (because it lacks the according
Model annotation or is not being picked up by the Bundle Listener)!");
+ // next use provider will be queried
+ return ProviderOutcome.failure();
+ }
Bindings globalBindings = renderContext.getBindings();
Bindings bindings = merge(globalBindings, arguments);
Resource resource = (Resource) bindings.get(SlingBindings.RESOURCE);
@@ -90,16 +95,11 @@ public class ModelFactoryUseProvider imp
if (request == null) {
return ProviderOutcome.failure(new IllegalStateException("Could
not get request from bindings"));
}
-
+
// pass parameters as request attributes
Map<String, Object> overrides = setRequestAttributes(request,
arguments);
Object obj = null;
try {
- if (!modelFactory.isModelClass(resource, cls)) {
- log.debug("{} is no Sling Model (because it lacks the
according Model annotation)!");
- // next use provider will be queried
- return ProviderOutcome.failure();
- }
// try to instantiate class via Sling Models (first via request,
then via resource)
if (modelFactory.canCreateFromAdaptable(request, cls)) {
obj = modelFactory.createModel(request, cls);