You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by bd...@apache.org on 2015/02/04 20:17:49 UTC
svn commit: r1657378 - in /sling/whiteboard/bdelacretaz/multisling2015: ./
resolver/ resolver/src/main/java/org/apache/sling/servlets/resolver/internal/
resolver/src/main/java/org/apache/sling/servlets/resolver/internal/helper/
resolver/src/main/java/o...
Author: bdelacretaz
Date: Wed Feb 4 19:17:48 2015
New Revision: 1657378
URL: http://svn.apache.org/r1657378
Log:
SLING-4386 - tenant-specific script search paths work, very basic MultitenantServletResolver for now
Added:
sling/whiteboard/bdelacretaz/multisling2015/resolver/src/main/java/org/apache/sling/servlets/resolver/multitenant/
sling/whiteboard/bdelacretaz/multisling2015/resolver/src/main/java/org/apache/sling/servlets/resolver/multitenant/MultitenantServletResolver.java
sling/whiteboard/bdelacretaz/multisling2015/test-content/src/main/resources/SLING-CONTENT/modules/blog/v43/
sling/whiteboard/bdelacretaz/multisling2015/test-content/src/main/resources/SLING-CONTENT/modules/blog/v43/scripts/
sling/whiteboard/bdelacretaz/multisling2015/test-content/src/main/resources/SLING-CONTENT/modules/blog/v43/scripts/blog/
sling/whiteboard/bdelacretaz/multisling2015/test-content/src/main/resources/SLING-CONTENT/modules/blog/v43/scripts/blog/homepage/
sling/whiteboard/bdelacretaz/multisling2015/test-content/src/main/resources/SLING-CONTENT/modules/blog/v43/scripts/blog/homepage/homepage.esp
sling/whiteboard/bdelacretaz/multisling2015/test-content/src/main/resources/SLING-CONTENT/modules/blog/v43/scripts/blog/page/
sling/whiteboard/bdelacretaz/multisling2015/test-content/src/main/resources/SLING-CONTENT/modules/blog/v43/scripts/blog/page/page.esp
Removed:
sling/whiteboard/bdelacretaz/multisling2015/tenant-resolver/
Modified:
sling/whiteboard/bdelacretaz/multisling2015/pom.xml
sling/whiteboard/bdelacretaz/multisling2015/resolver/pom.xml
sling/whiteboard/bdelacretaz/multisling2015/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/SlingServletResolver.java
sling/whiteboard/bdelacretaz/multisling2015/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/helper/AbstractResourceCollector.java
sling/whiteboard/bdelacretaz/multisling2015/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/helper/LocationIterator.java
sling/whiteboard/bdelacretaz/multisling2015/resolver/src/test/java/org/apache/sling/servlets/resolver/internal/helper/LocationIteratorTest.java
sling/whiteboard/bdelacretaz/multisling2015/resolver/src/test/java/org/apache/sling/servlets/resolver/internal/helper/ResourceCollectorTest.java
sling/whiteboard/bdelacretaz/multisling2015/resolver/src/test/java/org/apache/sling/servlets/resolver/internal/helper/ScriptSelectionTest.java
sling/whiteboard/bdelacretaz/multisling2015/test-content/src/main/resources/SLING-CONTENT/apps/blog/page/page.esp
sling/whiteboard/bdelacretaz/multisling2015/test-content/src/main/resources/SLING-CONTENT/content/T/example.com.json
sling/whiteboard/bdelacretaz/multisling2015/test-content/src/main/resources/SLING-CONTENT/modules/blog/v42/scripts/blog/page/page.esp
Modified: sling/whiteboard/bdelacretaz/multisling2015/pom.xml
URL: http://svn.apache.org/viewvc/sling/whiteboard/bdelacretaz/multisling2015/pom.xml?rev=1657378&r1=1657377&r2=1657378&view=diff
==============================================================================
--- sling/whiteboard/bdelacretaz/multisling2015/pom.xml (original)
+++ sling/whiteboard/bdelacretaz/multisling2015/pom.xml Wed Feb 4 19:17:48 2015
@@ -14,7 +14,7 @@
<name>Apache Sling MultiSling 2015 prototype - Reactor</name>
<modules>
- <module>tenant-resolver</module>
+ <module>cdtenants</module>
<module>test-content</module>
<module>resolver</module>
</modules>
Modified: sling/whiteboard/bdelacretaz/multisling2015/resolver/pom.xml
URL: http://svn.apache.org/viewvc/sling/whiteboard/bdelacretaz/multisling2015/resolver/pom.xml?rev=1657378&r1=1657377&r2=1657378&view=diff
==============================================================================
--- sling/whiteboard/bdelacretaz/multisling2015/resolver/pom.xml (original)
+++ sling/whiteboard/bdelacretaz/multisling2015/resolver/pom.xml Wed Feb 4 19:17:48 2015
@@ -120,6 +120,13 @@
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>org.apache.sling.ms2015.cdtenants</artifactId>
+ <version>0.1.1-SNAPSHOT</version>
+ <scope>provided</scope>
+ </dependency>
+
<!-- Testing -->
<dependency>
<groupId>org.apache.sling</groupId>
Modified: sling/whiteboard/bdelacretaz/multisling2015/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/SlingServletResolver.java
URL: http://svn.apache.org/viewvc/sling/whiteboard/bdelacretaz/multisling2015/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/SlingServletResolver.java?rev=1657378&r1=1657377&r2=1657378&view=diff
==============================================================================
--- sling/whiteboard/bdelacretaz/multisling2015/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/SlingServletResolver.java (original)
+++ sling/whiteboard/bdelacretaz/multisling2015/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/SlingServletResolver.java Wed Feb 4 19:17:48 2015
@@ -83,6 +83,7 @@ import org.apache.sling.api.servlets.Ser
import org.apache.sling.commons.osgi.OsgiUtil;
import org.apache.sling.engine.ResponseUtil;
import org.apache.sling.engine.servlets.ErrorHandler;
+import org.apache.sling.ms2015.cdtenants.ContentDrivenTenant;
import org.apache.sling.servlets.resolver.internal.defaults.DefaultErrorHandlerServlet;
import org.apache.sling.servlets.resolver.internal.defaults.DefaultServlet;
import org.apache.sling.servlets.resolver.internal.helper.AbstractResourceCollector;
@@ -92,6 +93,7 @@ import org.apache.sling.servlets.resolve
import org.apache.sling.servlets.resolver.internal.resource.ServletResourceProvider;
import org.apache.sling.servlets.resolver.internal.resource.ServletResourceProviderFactory;
import org.apache.sling.servlets.resolver.jmx.SlingServletResolverCacheMBean;
+import org.apache.sling.servlets.resolver.multitenant.MultitenantServletResolver;
import org.osgi.framework.BundleContext;
import org.osgi.framework.Constants;
import org.osgi.framework.ServiceReference;
@@ -216,6 +218,8 @@ public class SlingServletResolver
private String[] defaultExtensions;
private ServletResolverWebConsolePlugin plugin;
+
+ private MultitenantServletResolver multitenantServletResolver;
// ---------- ServletResolver interface -----------------------------------
@@ -224,7 +228,7 @@ public class SlingServletResolver
*/
public Servlet resolveServlet(final SlingHttpServletRequest request) {
final Resource resource = request.getResource();
-
+
// start tracking servlet resolution
final RequestProgressTracker tracker = request.getRequestProgressTracker();
final String timerName = "resolveServlet(" + resource + ")";
@@ -234,12 +238,17 @@ public class SlingServletResolver
if (LOGGER.isDebugEnabled()) {
LOGGER.debug("resolveServlet called for resource {}", resource);
}
-
- final ResourceResolver scriptResolver = this.getScriptResourceResolver();
+
Servlet servlet = null;
+
+ if(multitenantServletResolver.canResolve(resource)) {
+ servlet = multitenantServletResolver.resolveServlet(request);
+ } else {
+ final ResourceResolver scriptResolver = this.getScriptResourceResolver();
- if ( type != null && type.length() > 0 ) {
- servlet = resolveServletInternal(request, null, type, scriptResolver);
+ if ( type != null && type.length() > 0 ) {
+ servlet = resolveServletInternal(request, null, type, scriptResolver);
+ }
}
// last resort, use the core bundle default servlet
@@ -280,8 +289,14 @@ public class SlingServletResolver
LOGGER.debug("resolveServlet called for resource {} with script name {}", resource, scriptName);
}
- final ResourceResolver scriptResolver = this.getScriptResourceResolver();
- final Servlet servlet = resolveServletInternal(null, resource, scriptName, scriptResolver);
+ Servlet servlet = null;
+
+ if(multitenantServletResolver.canResolve(resource)) {
+ servlet = multitenantServletResolver.resolveServlet(resource, scriptName);
+ } else {
+ final ResourceResolver scriptResolver = this.getScriptResourceResolver();
+ servlet = resolveServletInternal(null, resource, scriptName, scriptResolver);
+ }
// log the servlet found
if (LOGGER.isDebugEnabled()) {
@@ -306,6 +321,7 @@ public class SlingServletResolver
LOGGER.debug("resolveServlet called for for script name {}", scriptName);
}
+ // TODO cannot use the MultitenantServletResolver as we don't have a Resource
final ResourceResolver scriptResolver = this.getScriptResourceResolver();
final Servlet servlet = resolveServletInternal(null, (Resource)null, scriptName, scriptResolver);
@@ -632,7 +648,7 @@ public class SlingServletResolver
return scriptServlet;
}
- final Collection<Resource> candidates = locationUtil.getServlets(resolver);
+ final Collection<Resource> candidates = locationUtil.getServlets(resolver, null);
if (LOGGER.isDebugEnabled()) {
if (candidates.isEmpty()) {
@@ -836,6 +852,7 @@ public class SlingServletResolver
}
}
this.defaultExtensions = OsgiUtil.toStringArray(properties.get(PROP_DEFAULT_EXTENSIONS), DEFAULT_DEFAULT_EXTENSIONS);
+ this.multitenantServletResolver = new MultitenantServletResolver(this.defaultExtensions);
// create cache - if a cache size is configured
this.cacheSize = OsgiUtil.toInteger(properties.get(PROP_CACHE_SIZE), DEFAULT_CACHE_SIZE);
@@ -1257,7 +1274,7 @@ public class SlingServletResolver
defaultExtensions,
method,
requestPathInfo.getSelectors());
- servlets = locationUtil.getServlets(resourceResolver);
+ servlets = locationUtil.getServlets(resourceResolver, null);
}
tr(pw);
tdLabel(pw, " ");
Modified: sling/whiteboard/bdelacretaz/multisling2015/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/helper/AbstractResourceCollector.java
URL: http://svn.apache.org/viewvc/sling/whiteboard/bdelacretaz/multisling2015/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/helper/AbstractResourceCollector.java?rev=1657378&r1=1657377&r2=1657378&view=diff
==============================================================================
--- sling/whiteboard/bdelacretaz/multisling2015/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/helper/AbstractResourceCollector.java (original)
+++ sling/whiteboard/bdelacretaz/multisling2015/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/helper/AbstractResourceCollector.java Wed Feb 4 19:17:48 2015
@@ -64,11 +64,11 @@ public abstract class AbstractResourceCo
this.executionPaths = executionPaths;
}
- public final Collection<Resource> getServlets(final ResourceResolver resolver) {
+ public final Collection<Resource> getServlets(final ResourceResolver resolver, String [] forcedSearchPath) {
final SortedSet<Resource> resources = new TreeSet<Resource>();
final Iterator<String> locations = new LocationIterator(resourceType, resourceSuperType,
- baseResourceType, resolver);
+ baseResourceType, resolver, forcedSearchPath);
while (locations.hasNext()) {
final String location = locations.next();
Modified: sling/whiteboard/bdelacretaz/multisling2015/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/helper/LocationIterator.java
URL: http://svn.apache.org/viewvc/sling/whiteboard/bdelacretaz/multisling2015/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/helper/LocationIterator.java?rev=1657378&r1=1657377&r2=1657378&view=diff
==============================================================================
--- sling/whiteboard/bdelacretaz/multisling2015/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/helper/LocationIterator.java (original)
+++ sling/whiteboard/bdelacretaz/multisling2015/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/helper/LocationIterator.java Wed Feb 4 19:17:48 2015
@@ -98,11 +98,11 @@ public class LocationIterator implements
* @param resolver The resource resolver
*/
public LocationIterator(String resourceType, String resourceSuperType, String baseResourceType,
- ResourceResolver resolver) {
+ ResourceResolver resolver, String [] forcedSearchPath) {
this.resolver = resolver;
this.baseResourceType = baseResourceType;
- String[] tmpPath = resolver.getSearchPath();
+ String[] tmpPath = forcedSearchPath != null ? forcedSearchPath : resolver.getSearchPath();
if (tmpPath == null || tmpPath.length == 0) {
tmpPath = new String[] { "/" };
}
Added: sling/whiteboard/bdelacretaz/multisling2015/resolver/src/main/java/org/apache/sling/servlets/resolver/multitenant/MultitenantServletResolver.java
URL: http://svn.apache.org/viewvc/sling/whiteboard/bdelacretaz/multisling2015/resolver/src/main/java/org/apache/sling/servlets/resolver/multitenant/MultitenantServletResolver.java?rev=1657378&view=auto
==============================================================================
--- sling/whiteboard/bdelacretaz/multisling2015/resolver/src/main/java/org/apache/sling/servlets/resolver/multitenant/MultitenantServletResolver.java (added)
+++ sling/whiteboard/bdelacretaz/multisling2015/resolver/src/main/java/org/apache/sling/servlets/resolver/multitenant/MultitenantServletResolver.java Wed Feb 4 19:17:48 2015
@@ -0,0 +1,87 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.sling.servlets.resolver.multitenant;
+
+import java.util.Collection;
+import java.util.Iterator;
+
+import javax.servlet.Servlet;
+
+import org.apache.sling.api.SlingHttpServletRequest;
+import org.apache.sling.api.request.RequestProgressTracker;
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.ms2015.cdtenants.ContentDrivenTenant;
+import org.apache.sling.servlets.resolver.internal.helper.ResourceCollector;
+
+/** Prototype ServletResolver used for content resources
+ * that adapt to a ContentDrivenTenant
+ */
+public class MultitenantServletResolver {
+
+ private String[] defaultExtensions;
+
+ public MultitenantServletResolver(String [] defaultExtensions) {
+ this.defaultExtensions = defaultExtensions;
+ }
+
+ public boolean canResolve(Resource r) {
+ return r.adaptTo(ContentDrivenTenant.class) != null;
+ }
+
+ public Servlet resolveServlet(Resource r, String scriptName) {
+ throw new UnsupportedOperationException("resolving with script names is not implemented yet");
+ }
+
+ public Servlet resolveServlet(SlingHttpServletRequest request) {
+ final RequestProgressTracker rpt = request.getRequestProgressTracker();
+
+ final Resource resource = request.getResource();
+ // TODO cache the canResolve adaptTo result?
+ final ContentDrivenTenant t = resource.adaptTo(ContentDrivenTenant.class);
+ if(t == null) {
+ throw new IllegalStateException("Resource does not adapt to ContentDrivenTenant:" + resource);
+ }
+
+ rpt.log(t.toString());
+
+ // TODO should use a script-specific ResourceResolver - for now we assume current
+ // user can read the scripts
+ final ResourceResolver scriptResolver = resource.getResourceResolver();
+
+ Servlet result = null;
+ final ResourceCollector rc = ResourceCollector.create(request, t.getSearchPath(), defaultExtensions);
+
+ // For now, simply return the first servlet found
+ // TODO handle OptingServlets, refactor code from SlingServletResolver
+ final Collection<Resource> candidates = rc.getServlets(scriptResolver, t.getSearchPath());
+ rpt.log("Found {0} Servlet candidates", candidates.size());
+ final Iterator<Resource> it = candidates.iterator();
+ if(it.hasNext()) {
+ final Resource sr = it.next();
+ result = sr.adaptTo(Servlet.class);
+ if(result == null) {
+ throw new IllegalStateException("Resource does not adapt to Servlet:" + sr);
+ }
+ }
+
+ rpt.log("Resolved servlet: {0}", result.toString());
+ return result;
+ }
+}
\ No newline at end of file
Modified: sling/whiteboard/bdelacretaz/multisling2015/resolver/src/test/java/org/apache/sling/servlets/resolver/internal/helper/LocationIteratorTest.java
URL: http://svn.apache.org/viewvc/sling/whiteboard/bdelacretaz/multisling2015/resolver/src/test/java/org/apache/sling/servlets/resolver/internal/helper/LocationIteratorTest.java?rev=1657378&r1=1657377&r2=1657378&view=diff
==============================================================================
--- sling/whiteboard/bdelacretaz/multisling2015/resolver/src/test/java/org/apache/sling/servlets/resolver/internal/helper/LocationIteratorTest.java (original)
+++ sling/whiteboard/bdelacretaz/multisling2015/resolver/src/test/java/org/apache/sling/servlets/resolver/internal/helper/LocationIteratorTest.java Wed Feb 4 19:17:48 2015
@@ -37,7 +37,7 @@ public class LocationIteratorTest extend
final LocationIterator li = new LocationIterator(resourceType,
resourceSuperType,
baseResourceType,
- this.resourceResolver);
+ this.resourceResolver, null);
return li;
}
Modified: sling/whiteboard/bdelacretaz/multisling2015/resolver/src/test/java/org/apache/sling/servlets/resolver/internal/helper/ResourceCollectorTest.java
URL: http://svn.apache.org/viewvc/sling/whiteboard/bdelacretaz/multisling2015/resolver/src/test/java/org/apache/sling/servlets/resolver/internal/helper/ResourceCollectorTest.java?rev=1657378&r1=1657377&r2=1657378&view=diff
==============================================================================
--- sling/whiteboard/bdelacretaz/multisling2015/resolver/src/test/java/org/apache/sling/servlets/resolver/internal/helper/ResourceCollectorTest.java (original)
+++ sling/whiteboard/bdelacretaz/multisling2015/resolver/src/test/java/org/apache/sling/servlets/resolver/internal/helper/ResourceCollectorTest.java Wed Feb 4 19:17:48 2015
@@ -271,7 +271,7 @@ public class ResourceCollectorTest exten
}
ResourceCollector lu = ResourceCollector.create(request, null, new String[] {"html"});
- Collection<Resource> res = lu.getServlets(request.getResourceResolver());
+ Collection<Resource> res = lu.getServlets(request.getResourceResolver(), null);
Iterator<Resource> rIter = res.iterator();
for (int index : indices) {
Modified: sling/whiteboard/bdelacretaz/multisling2015/resolver/src/test/java/org/apache/sling/servlets/resolver/internal/helper/ScriptSelectionTest.java
URL: http://svn.apache.org/viewvc/sling/whiteboard/bdelacretaz/multisling2015/resolver/src/test/java/org/apache/sling/servlets/resolver/internal/helper/ScriptSelectionTest.java?rev=1657378&r1=1657377&r2=1657378&view=diff
==============================================================================
--- sling/whiteboard/bdelacretaz/multisling2015/resolver/src/test/java/org/apache/sling/servlets/resolver/internal/helper/ScriptSelectionTest.java (original)
+++ sling/whiteboard/bdelacretaz/multisling2015/resolver/src/test/java/org/apache/sling/servlets/resolver/internal/helper/ScriptSelectionTest.java Wed Feb 4 19:17:48 2015
@@ -69,7 +69,7 @@ public class ScriptSelectionTest extends
// Create mock request and get scripts from ResourceCollector
final MockSlingHttpServletRequest req = makeRequest(method, selectors, extension);
final ResourceCollector u = ResourceCollector.create(req, null, new String[] {"html"});
- final Collection<Resource> s = u.getServlets(req.getResourceResolver());
+ final Collection<Resource> s = u.getServlets(req.getResourceResolver(), null);
if(expectedScript == null) {
assertFalse("No script must be found", s.iterator().hasNext());
Modified: sling/whiteboard/bdelacretaz/multisling2015/test-content/src/main/resources/SLING-CONTENT/apps/blog/page/page.esp
URL: http://svn.apache.org/viewvc/sling/whiteboard/bdelacretaz/multisling2015/test-content/src/main/resources/SLING-CONTENT/apps/blog/page/page.esp?rev=1657378&r1=1657377&r2=1657378&view=diff
==============================================================================
--- sling/whiteboard/bdelacretaz/multisling2015/test-content/src/main/resources/SLING-CONTENT/apps/blog/page/page.esp (original)
+++ sling/whiteboard/bdelacretaz/multisling2015/test-content/src/main/resources/SLING-CONTENT/apps/blog/page/page.esp Wed Feb 4 19:17:48 2015
@@ -1,6 +1,6 @@
<html>
<%
-var t = resource.adaptTo(Packages.org.apache.sling.tenant.Tenant);
+var t = resource.adaptTo(Packages.org.apache.sling.ms2015.cdtenants.ContentDrivenTenant);
%>
<body>
<p>
@@ -10,7 +10,7 @@ This is the default /apps rendering for
The current Resource is <b><%= resource %></b>.
</p>
<p>
-The current Tenant is <b><%= t %></b>.
+The current ContentDrivenTenant is <b><%= t %></b>.
</p>
<body>
</html>
\ No newline at end of file
Modified: sling/whiteboard/bdelacretaz/multisling2015/test-content/src/main/resources/SLING-CONTENT/content/T/example.com.json
URL: http://svn.apache.org/viewvc/sling/whiteboard/bdelacretaz/multisling2015/test-content/src/main/resources/SLING-CONTENT/content/T/example.com.json?rev=1657378&r1=1657377&r2=1657378&view=diff
==============================================================================
--- sling/whiteboard/bdelacretaz/multisling2015/test-content/src/main/resources/SLING-CONTENT/content/T/example.com.json (original)
+++ sling/whiteboard/bdelacretaz/multisling2015/test-content/src/main/resources/SLING-CONTENT/content/T/example.com.json Wed Feb 4 19:17:48 2015
@@ -9,6 +9,7 @@
},
"subsite" : {
"sling:tenantRoot" : "true",
+ "sling:resourceType" : "blog/homepage",
"somepage" : {
"sling:resourceType" : "blog/page",
"jcr:title" : "This is somepage from the example.com/subsite tenant"
Modified: sling/whiteboard/bdelacretaz/multisling2015/test-content/src/main/resources/SLING-CONTENT/modules/blog/v42/scripts/blog/page/page.esp
URL: http://svn.apache.org/viewvc/sling/whiteboard/bdelacretaz/multisling2015/test-content/src/main/resources/SLING-CONTENT/modules/blog/v42/scripts/blog/page/page.esp?rev=1657378&r1=1657377&r2=1657378&view=diff
==============================================================================
--- sling/whiteboard/bdelacretaz/multisling2015/test-content/src/main/resources/SLING-CONTENT/modules/blog/v42/scripts/blog/page/page.esp (original)
+++ sling/whiteboard/bdelacretaz/multisling2015/test-content/src/main/resources/SLING-CONTENT/modules/blog/v42/scripts/blog/page/page.esp Wed Feb 4 19:17:48 2015
@@ -1,16 +1,14 @@
<html>
<%
-var t = resource.adaptTo(Packages.org.apache.sling.tenant.Tenant);
+var t = resource.adaptTo(Packages.org.apache.sling.ms2015.cdtenants.ContentDrivenTenant);
%>
-<body color="blue">
-<p>
-This is the V42 blog/page rendering.
-</p>
+<body>
+<h1 style="color:blue">This is the V42 blog/page rendering</h1>
<p>
-The current Resource is <b><%= resource %></b>.
+The current Resource is <b><%= resource %></b>, resourceType <b><%= resource.getResourceType() %></b>.
</p>
<p>
-The current Tenant is <b><%= t %></b>.
+The current ContentDrivenTenant is <b><%= t %></b>.
</p>
<body>
</html>
\ No newline at end of file
Added: sling/whiteboard/bdelacretaz/multisling2015/test-content/src/main/resources/SLING-CONTENT/modules/blog/v43/scripts/blog/homepage/homepage.esp
URL: http://svn.apache.org/viewvc/sling/whiteboard/bdelacretaz/multisling2015/test-content/src/main/resources/SLING-CONTENT/modules/blog/v43/scripts/blog/homepage/homepage.esp?rev=1657378&view=auto
==============================================================================
--- sling/whiteboard/bdelacretaz/multisling2015/test-content/src/main/resources/SLING-CONTENT/modules/blog/v43/scripts/blog/homepage/homepage.esp (added)
+++ sling/whiteboard/bdelacretaz/multisling2015/test-content/src/main/resources/SLING-CONTENT/modules/blog/v43/scripts/blog/homepage/homepage.esp Wed Feb 4 19:17:48 2015
@@ -0,0 +1,14 @@
+<html>
+<%
+var t = resource.adaptTo(Packages.org.apache.sling.ms2015.cdtenants.ContentDrivenTenant);
+%>
+<body>
+<h1 style="color:green">Custom V43 blog/homepage rendering</h1>
+<p>
+The current Resource is <b><%= resource %></b>, resourceType <b><%= resource.getResourceType() %></b>.
+</p>
+<p>
+The current ContentDrivenTenant is <b><%= t %></b>.
+</p>
+<body>
+</html>
\ No newline at end of file
Added: sling/whiteboard/bdelacretaz/multisling2015/test-content/src/main/resources/SLING-CONTENT/modules/blog/v43/scripts/blog/page/page.esp
URL: http://svn.apache.org/viewvc/sling/whiteboard/bdelacretaz/multisling2015/test-content/src/main/resources/SLING-CONTENT/modules/blog/v43/scripts/blog/page/page.esp?rev=1657378&view=auto
==============================================================================
--- sling/whiteboard/bdelacretaz/multisling2015/test-content/src/main/resources/SLING-CONTENT/modules/blog/v43/scripts/blog/page/page.esp (added)
+++ sling/whiteboard/bdelacretaz/multisling2015/test-content/src/main/resources/SLING-CONTENT/modules/blog/v43/scripts/blog/page/page.esp Wed Feb 4 19:17:48 2015
@@ -0,0 +1,14 @@
+<html>
+<%
+var t = resource.adaptTo(Packages.org.apache.sling.ms2015.cdtenants.ContentDrivenTenant);
+%>
+<body>
+<h1 style="color:red">Now for the V43 blog/page rendering</h1>
+<p>
+The current Resource is <b><%= resource %></b>, resourceType <b><%= resource.getResourceType() %></b>.
+</p>
+<p>
+The current ContentDrivenTenant is <b><%= t %></b>.
+</p>
+<body>
+</html>
\ No newline at end of file