You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2010/04/30 16:24:35 UTC
svn commit: r939684 - in /sling/trunk/bundles/servlets/resolver: ./
src/main/java/org/apache/sling/servlets/resolver/internal/
src/test/java/org/apache/sling/servlets/resolver/internal/
Author: cziegeler
Date: Fri Apr 30 14:24:35 2010
New Revision: 939684
URL: http://svn.apache.org/viewvc?rev=939684&view=rev
Log:
SLING-1514 : Remove the dependency to the Sling JCR API
Modified:
sling/trunk/bundles/servlets/resolver/pom.xml
sling/trunk/bundles/servlets/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/SlingServletResolver.java
sling/trunk/bundles/servlets/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/WorkspaceResourceResolver.java
sling/trunk/bundles/servlets/resolver/src/test/java/org/apache/sling/servlets/resolver/internal/ResolveFromRequestAndDefaultSlingServletResolverTest.java
sling/trunk/bundles/servlets/resolver/src/test/java/org/apache/sling/servlets/resolver/internal/ResolveFromRequestNoDefaultSlingServletResolverTest.java
sling/trunk/bundles/servlets/resolver/src/test/java/org/apache/sling/servlets/resolver/internal/SlingServletResolverTest.java
Modified: sling/trunk/bundles/servlets/resolver/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/servlets/resolver/pom.xml?rev=939684&r1=939683&r2=939684&view=diff
==============================================================================
--- sling/trunk/bundles/servlets/resolver/pom.xml (original)
+++ sling/trunk/bundles/servlets/resolver/pom.xml Fri Apr 30 14:24:35 2010
@@ -54,6 +54,9 @@
<extensions>true</extensions>
<configuration>
<instructions>
+ <Import-Package>
+ javax.jcr;resolution:=optional,*
+ </Import-Package>
<Private-Package>
org.apache.sling.servlets.resolver.*
</Private-Package>
Modified: sling/trunk/bundles/servlets/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/SlingServletResolver.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/servlets/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/SlingServletResolver.java?rev=939684&r1=939683&r2=939684&view=diff
==============================================================================
--- sling/trunk/bundles/servlets/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/SlingServletResolver.java (original)
+++ sling/trunk/bundles/servlets/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/SlingServletResolver.java Fri Apr 30 14:24:35 2010
@@ -38,10 +38,6 @@ import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
-import javax.jcr.Credentials;
-import javax.jcr.RepositoryException;
-import javax.jcr.Session;
-import javax.jcr.SimpleCredentials;
import javax.servlet.Servlet;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
@@ -54,9 +50,11 @@ import org.apache.sling.api.SlingHttpSer
import org.apache.sling.api.SlingHttpServletResponse;
import org.apache.sling.api.request.RequestProgressTracker;
import org.apache.sling.api.request.RequestUtil;
+import org.apache.sling.api.resource.LoginException;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ResourceProvider;
import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.api.resource.ResourceResolverFactory;
import org.apache.sling.api.resource.SyntheticResource;
import org.apache.sling.api.scripting.SlingScript;
import org.apache.sling.api.scripting.SlingScriptResolver;
@@ -64,8 +62,6 @@ import org.apache.sling.api.servlets.Opt
import org.apache.sling.api.servlets.ServletResolver;
import org.apache.sling.commons.osgi.OsgiUtil;
import org.apache.sling.engine.servlets.ErrorHandler;
-import org.apache.sling.jcr.api.SlingRepository;
-import org.apache.sling.jcr.resource.JcrResourceResolverFactory;
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;
@@ -166,15 +162,7 @@ public class SlingServletResolver implem
private ServletContext servletContext;
/** @scr.reference */
- private JcrResourceResolverFactory jcrResourceResolverFactory;
-
- /** @scr.reference */
- private SlingRepository repository;
-
- /** The session used for script resolution. */
- private ConcurrentHashMap<String, Session> scriptSessions;
-
- private Session defaultScriptSession;
+ private ResourceResolverFactory resourceResolverFactory;
/** The resource resolver used for script resolution. */
private ConcurrentHashMap<String, WorkspaceResourceResolver> scriptResolvers;
@@ -205,12 +193,6 @@ public class SlingServletResolver implem
private ServiceRegistration eventHandlerReg;
/**
- * The workspace name which should be used as a default for script
- * resolution.
- */
- private String defaultScriptWorkspaceName;
-
- /**
* If true, the primary workspace name for script resolution will be the
* same as that used to resolve the request's resource.
*/
@@ -247,15 +229,16 @@ public class SlingServletResolver implem
}
Servlet servlet = null;
- String wspName = getWorkspaceName(request);
if (this.useRequestWorkspace) {
+ final String wspName = getWorkspaceName(request);
// First, we use a resource resolver using the same workspace as the
// resource
WorkspaceResourceResolver scriptResolver = getScriptResolver(wspName);
servlet = resolveServlet(request, type, scriptResolver);
- if (servlet == null && defaultScriptWorkspaceName != wspName && this.useDefaultWorkspace) {
+ if (servlet == null && this.useDefaultWorkspace
+ && !WorkspaceResourceResolver.isSameWorkspace(wspName, defaultScriptResolver.getWorkspaceName()) ) {
servlet = resolveServlet(request, type, defaultScriptResolver);
}
@@ -425,8 +408,6 @@ public class SlingServletResolver implem
*/
public void handleError(int status, String message, SlingHttpServletRequest request,
SlingHttpServletResponse response) throws IOException {
- String wspName = getWorkspaceName(request);
- WorkspaceResourceResolver scriptResolver = getScriptResolver(wspName);
// do not handle, if already handling ....
if (request.getAttribute(SlingConstants.ERROR_REQUEST_URI) != null) {
@@ -440,6 +421,7 @@ public class SlingServletResolver implem
tracker.startTimer(timerName);
try {
+ final WorkspaceResourceResolver scriptResolver = getScriptResolver(getWorkspaceName(request));
// find the error handler component
Resource resource = getErrorResource(request);
@@ -480,10 +462,7 @@ public class SlingServletResolver implem
}
public void handleError(Throwable throwable, SlingHttpServletRequest request, SlingHttpServletResponse response)
- throws IOException {
- String wspName = getWorkspaceName(request);
- WorkspaceResourceResolver scriptResolver = getScriptResolver(wspName);
-
+ throws IOException {
// do not handle, if already handling ....
if (request.getAttribute(SlingConstants.ERROR_REQUEST_URI) != null) {
log.error("handleError: Recursive invocation. Not further handling Throwable:", throwable);
@@ -496,6 +475,7 @@ public class SlingServletResolver implem
tracker.startTimer(timerName);
try {
+ final WorkspaceResourceResolver scriptResolver = getScriptResolver(getWorkspaceName(request));
// find the error handler component
Servlet servlet = null;
@@ -527,7 +507,6 @@ public class SlingServletResolver implem
tracker.logTimer(timerName, "Using handler {0}", RequestUtil.getServletName(servlet));
handleError(servlet, request, response);
-
} finally {
tracker.logTimer(timerName, "Error handler finished");
@@ -759,11 +738,17 @@ public class SlingServletResolver implem
* Package scoped to help with testing.
*/
String getWorkspaceName(SlingHttpServletRequest request) {
- return request.getResourceResolver().adaptTo(Session.class).getWorkspace().getName();
+ return WorkspaceResourceResolver.getWorkspaceName(request.getResourceResolver());
}
+ /**
+ * Get a resource resolver for the given workspace.
+ * If the login to the given workspace does not work, we return the default resource resolver!
+ * @param wspName The workspace name or null for the default workspace
+ * @return A resource resolver
+ */
private WorkspaceResourceResolver getScriptResolver(String wspName) {
- if (wspName.equals(defaultScriptWorkspaceName)) {
+ if (wspName == null || wspName.equals(defaultScriptResolver.getWorkspaceName())) {
return defaultScriptResolver;
}
@@ -772,47 +757,33 @@ public class SlingServletResolver implem
return scriptResolver;
}
- // create the script session
- Session scriptSession = createScriptSession(wspName);
-
- Session sessionFromMap = scriptSessions.putIfAbsent(wspName, scriptSession);
- if (sessionFromMap != null) {
- // another session was bound while this session was being created
- // abandon ship
- scriptSession.logout();
- scriptSession = sessionFromMap;
- }
-
- scriptResolver = new WorkspaceResourceResolver(this.jcrResourceResolverFactory.getResourceResolver(scriptSession),
- wspName);
- WorkspaceResourceResolver resolverFromMap = scriptResolvers.putIfAbsent(wspName, scriptResolver);
- if (resolverFromMap != null) {
- // another resolver was bound while this resolver was being created
- // abandon ship
- scriptResolver = resolverFromMap;
+ try {
+ scriptResolver = new WorkspaceResourceResolver(this.resourceResolverFactory.getResourceResolver(createAuthenticationInfo(wspName)));
+ WorkspaceResourceResolver resolverFromMap = scriptResolvers.putIfAbsent(wspName, scriptResolver);
+ if (resolverFromMap != null) {
+ // another resolver was bound while this resolver was being created
+ // abandon ship
+ scriptResolver.close();
+ scriptResolver = resolverFromMap;
+ }
+ } catch (LoginException le) {
+ log.warn("Unable to login into workspace " + wspName + " : " + le.getMessage(), le);
+ scriptResolver = defaultScriptResolver;
}
-
return scriptResolver;
}
- private Session createScriptSession(String wspName) {
- Session scriptSession = null;
- try {
- scriptSession = this.repository.loginAdministrative(wspName);
- } catch (RepositoryException e) {
- throw new SlingException("Unable to create new admin session.", e);
- }
+ private Map<String, Object> createAuthenticationInfo(String wspName) {
+ final Map<String, Object> authInfo = new HashMap<String, Object>();
// if a script user is configured we use this user to read the scripts
final String scriptUser = OsgiUtil.toString(context.getProperties().get(PROP_SCRIPT_USER), null);
if (scriptUser != null && scriptUser.length() > 0) {
- Credentials creds = new SimpleCredentials(scriptUser, new char[0]);
- try {
- scriptSession = scriptSession.impersonate(creds);
- } catch (RepositoryException e) {
- throw new SlingException("Unable to impersonate to script user: " + scriptUser, e);
- }
+ authInfo.put(ResourceResolverFactory.SUDO_USER_ID, scriptUser);
+ }
+ if ( wspName != null ) {
+ authInfo.put("user.jcr.workspace", wspName);
}
- return scriptSession;
+ return authInfo;
}
// ---------- SCR Integration ----------------------------------------------
@@ -820,7 +791,7 @@ public class SlingServletResolver implem
/**
* Activate this component.
*/
- protected void activate(ComponentContext context) {
+ protected void activate(ComponentContext context) throws LoginException {
// from configuration if available
final Dictionary<?, ?> properties = context.getProperties();
Object servletRoot = properties.get(PROP_SERVLET_ROOT);
@@ -841,20 +812,15 @@ public class SlingServletResolver implem
this.useDefaultWorkspace = OsgiUtil.toBoolean(properties.get(PROP_USE_DEFAULT_WORKSPACE), DEFAULT_USE_DEFAULT_WORKSPACE);
this.useRequestWorkspace = OsgiUtil.toBoolean(properties.get(PROP_USE_REQUEST_WORKSPACE), DEFAULT_USE_REQUEST_WORKSPACE);
- this.scriptSessions = new ConcurrentHashMap<String, Session>();
this.scriptResolvers = new ConcurrentHashMap<String, WorkspaceResourceResolver>();
String defaultWorkspaceProp = (String) properties.get(PROP_DEFAULT_SCRIPT_WORKSPACE);
if ( defaultWorkspaceProp != null && defaultWorkspaceProp.trim().length() == 0 ) {
defaultWorkspaceProp = null;
}
- this.defaultScriptSession = createScriptSession(defaultWorkspaceProp);
- // we load the workspaceName out of the session to ensure the value is
- // non-null
- this.defaultScriptWorkspaceName = this.defaultScriptSession.getWorkspace().getName();
- this.defaultScriptResolver = new WorkspaceResourceResolver(jcrResourceResolverFactory
- .getResourceResolver(defaultScriptSession), defaultScriptWorkspaceName);
+ this.defaultScriptResolver = new WorkspaceResourceResolver(
+ resourceResolverFactory.getAdministrativeResourceResolver(this.createAuthenticationInfo(defaultWorkspaceProp)));
servletResourceProviderFactory = new ServletResourceProviderFactory(servletRoot,
this.defaultScriptResolver.getSearchPath());
@@ -924,19 +890,17 @@ public class SlingServletResolver implem
}
// close sessions
- if (this.scriptSessions != null && (!this.scriptSessions.isEmpty())) {
- for (Session session : this.scriptSessions.values()) {
- session.logout();
+ if (this.scriptResolvers != null ) {
+ for (final ResourceResolver resolver : this.scriptResolvers.values()) {
+ resolver.close();
}
+ this.scriptResolvers = null;
}
- this.scriptSessions = null;
- this.scriptResolvers = null;
- if (this.defaultScriptSession != null) {
- this.defaultScriptSession.logout();
+ if (this.defaultScriptResolver != null) {
+ this.defaultScriptResolver.close();
+ this.defaultScriptResolver = null;
}
- this.defaultScriptSession = null;
- this.defaultScriptResolver = null;
this.context = null;
this.cache = null;
Modified: sling/trunk/bundles/servlets/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/WorkspaceResourceResolver.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/servlets/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/WorkspaceResourceResolver.java?rev=939684&r1=939683&r2=939684&view=diff
==============================================================================
--- sling/trunk/bundles/servlets/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/WorkspaceResourceResolver.java (original)
+++ sling/trunk/bundles/servlets/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/WorkspaceResourceResolver.java Fri Apr 30 14:24:35 2010
@@ -19,6 +19,7 @@ package org.apache.sling.servlets.resolv
import java.util.Iterator;
import java.util.Map;
+import javax.jcr.Session;
import javax.servlet.http.HttpServletRequest;
import org.apache.sling.api.resource.Resource;
@@ -27,17 +28,15 @@ import org.apache.sling.api.resource.Res
/**
* This is a facade around ResourceResolver in order to provide access to the
* workspace name.
- *
- * TODO - should ResourceResolver have a getWorkspaceName() method?
*/
public class WorkspaceResourceResolver implements ResourceResolver {
- private ResourceResolver delegate;
- private String workspaceName;
+ private final ResourceResolver delegate;
+ private final String workspaceName;
- public WorkspaceResourceResolver(ResourceResolver delegate, String workspaceName) {
+ public WorkspaceResourceResolver(ResourceResolver delegate) {
this.delegate = delegate;
- this.workspaceName = workspaceName;
+ this.workspaceName = getWorkspaceName(delegate);
}
/** {@inheritDoc} */
@@ -107,4 +106,23 @@ public class WorkspaceResourceResolver i
public void close() {
delegate.close();
}
+
+ public static boolean isSameWorkspace(final String wspName1, final String wspName2) {
+ if ( wspName1 == null && wspName2 == null ) {
+ return true;
+ }
+ return wspName1.equals(wspName2);
+ }
+
+ public static String getWorkspaceName(final ResourceResolver resolver) {
+ try {
+ final Session s = resolver.adaptTo(Session.class);
+ if ( s != null ) {
+ return s.getWorkspace().getName();
+ }
+ } catch (NoClassDefFoundError t) {
+ // if the session class is not available - we have no workspaces
+ }
+ return null;
+ }
}
Modified: sling/trunk/bundles/servlets/resolver/src/test/java/org/apache/sling/servlets/resolver/internal/ResolveFromRequestAndDefaultSlingServletResolverTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/servlets/resolver/src/test/java/org/apache/sling/servlets/resolver/internal/ResolveFromRequestAndDefaultSlingServletResolverTest.java?rev=939684&r1=939683&r2=939684&view=diff
==============================================================================
--- sling/trunk/bundles/servlets/resolver/src/test/java/org/apache/sling/servlets/resolver/internal/ResolveFromRequestAndDefaultSlingServletResolverTest.java (original)
+++ sling/trunk/bundles/servlets/resolver/src/test/java/org/apache/sling/servlets/resolver/internal/ResolveFromRequestAndDefaultSlingServletResolverTest.java Fri Apr 30 14:24:35 2010
@@ -16,13 +16,7 @@
*/
package org.apache.sling.servlets.resolver.internal;
-import javax.jcr.RepositoryException;
-import javax.jcr.Session;
-import javax.jcr.Workspace;
-
import org.apache.sling.commons.testing.osgi.MockComponentContext;
-import org.apache.sling.jcr.api.SlingRepository;
-import org.jmock.Expectations;
import org.jmock.Mockery;
/**
@@ -44,22 +38,4 @@ public class ResolveFromRequestAndDefaul
return "default";
}
- @Override
- protected void addExpectations(final SlingRepository repository)
- throws RepositoryException {
- final Session defaultSession = this.context.mock(Session.class);
- final Workspace defaultWorkspace = this.context.mock(Workspace.class);
-
- this.context.checking(new Expectations() {
- {
- one(repository).loginAdministrative(with(aNull(String.class)));
- will(returnValue(defaultSession));
- one(defaultSession).getWorkspace();
- will(returnValue(defaultWorkspace));
- one(defaultWorkspace).getName();
- will(returnValue("default"));
- }
- });
- }
-
}
Modified: sling/trunk/bundles/servlets/resolver/src/test/java/org/apache/sling/servlets/resolver/internal/ResolveFromRequestNoDefaultSlingServletResolverTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/servlets/resolver/src/test/java/org/apache/sling/servlets/resolver/internal/ResolveFromRequestNoDefaultSlingServletResolverTest.java?rev=939684&r1=939683&r2=939684&view=diff
==============================================================================
--- sling/trunk/bundles/servlets/resolver/src/test/java/org/apache/sling/servlets/resolver/internal/ResolveFromRequestNoDefaultSlingServletResolverTest.java (original)
+++ sling/trunk/bundles/servlets/resolver/src/test/java/org/apache/sling/servlets/resolver/internal/ResolveFromRequestNoDefaultSlingServletResolverTest.java Fri Apr 30 14:24:35 2010
@@ -16,13 +16,7 @@
*/
package org.apache.sling.servlets.resolver.internal;
-import javax.jcr.RepositoryException;
-import javax.jcr.Session;
-import javax.jcr.Workspace;
-
import org.apache.sling.commons.testing.osgi.MockComponentContext;
-import org.apache.sling.jcr.api.SlingRepository;
-import org.jmock.Expectations;
import org.jmock.Mockery;
/**
@@ -39,29 +33,4 @@ public class ResolveFromRequestNoDefault
protected void configureComponentContext(MockComponentContext mockComponentContext) {
mockComponentContext.setProperty(SlingServletResolver.PROP_USE_REQUEST_WORKSPACE, "true");
}
-
- @Override
- protected void addExpectations(final SlingRepository repository)
- throws RepositoryException {
- final Session defaultSession = this.context.mock(Session.class);
- final Workspace defaultWorkspace = this.context.mock(Workspace.class);
-
- final Session requestSession = this.context.mock(Session.class);
-
- this.context.checking(new Expectations() {
- {
- one(repository).loginAdministrative(with(aNull(String.class)));
- will(returnValue(defaultSession));
- one(defaultSession).getWorkspace();
- will(returnValue(defaultWorkspace));
- one(defaultWorkspace).getName();
- will(returnValue("default"));
-
-
- one(repository).loginAdministrative(with(equal("fromRequest")));
- will(returnValue(requestSession));
- }
- });
- }
-
}
Modified: sling/trunk/bundles/servlets/resolver/src/test/java/org/apache/sling/servlets/resolver/internal/SlingServletResolverTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/servlets/resolver/src/test/java/org/apache/sling/servlets/resolver/internal/SlingServletResolverTest.java?rev=939684&r1=939683&r2=939684&view=diff
==============================================================================
--- sling/trunk/bundles/servlets/resolver/src/test/java/org/apache/sling/servlets/resolver/internal/SlingServletResolverTest.java (original)
+++ sling/trunk/bundles/servlets/resolver/src/test/java/org/apache/sling/servlets/resolver/internal/SlingServletResolverTest.java Fri Apr 30 14:24:35 2010
@@ -25,16 +25,16 @@ import static org.junit.Assert.assertTru
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
-import javax.jcr.RepositoryException;
-import javax.jcr.Session;
-import javax.jcr.Workspace;
import javax.servlet.Servlet;
import javax.servlet.http.HttpServlet;
import org.apache.sling.api.SlingHttpServletRequest;
+import org.apache.sling.api.resource.LoginException;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.api.resource.ResourceResolverFactory;
import org.apache.sling.api.resource.ResourceUtil;
import org.apache.sling.api.servlets.OptingServlet;
import org.apache.sling.commons.testing.osgi.MockBundle;
@@ -43,10 +43,7 @@ import org.apache.sling.commons.testing.
import org.apache.sling.commons.testing.sling.MockResource;
import org.apache.sling.commons.testing.sling.MockResourceResolver;
import org.apache.sling.commons.testing.sling.MockSlingHttpServletRequest;
-import org.apache.sling.jcr.api.SlingRepository;
-import org.apache.sling.jcr.resource.JcrResourceResolverFactory;
import org.apache.sling.servlets.resolver.internal.resource.MockServletResource;
-import org.jmock.Expectations;
import org.jmock.Mockery;
import org.jmock.integration.junit4.JMock;
import org.jmock.integration.junit4.JUnit4Mockery;
@@ -77,12 +74,25 @@ public class SlingServletResolverTest {
public void close() {
// nothing to do;
}
+
+ @Override
+ public <AdapterType> AdapterType adaptTo(Class<AdapterType> type) {
+ return null;
+ }
};
mockResourceResolver.setSearchPath("/");
- final JcrResourceResolverFactory factory = new JcrResourceResolverFactory() {
+ final ResourceResolverFactory factory = new ResourceResolverFactory() {
+
+ public ResourceResolver getAdministrativeResourceResolver(
+ Map<String, Object> authenticationInfo)
+ throws LoginException {
+ return mockResourceResolver;
+ }
- public ResourceResolver getResourceResolver(Session session) {
+ public ResourceResolver getResourceResolver(
+ Map<String, Object> authenticationInfo)
+ throws LoginException {
return mockResourceResolver;
}
};
@@ -97,21 +107,13 @@ public class SlingServletResolverTest {
};
- // set sling repository
- final SlingRepository repository = this.context.mock(SlingRepository.class);
- addExpectations(repository);
-
Class<?> resolverClass = servletResolver.getClass().getSuperclass();
// set resource resolver factory
- final Field resolverField = resolverClass.getDeclaredField("jcrResourceResolverFactory");
+ final Field resolverField = resolverClass.getDeclaredField("resourceResolverFactory");
resolverField.setAccessible(true);
resolverField.set(servletResolver, factory);
- final Field repositoryField = resolverClass.getDeclaredField("repository");
- repositoryField.setAccessible(true);
- repositoryField.set(servletResolver, repository);
-
MockBundle bundle = new MockBundle(1L);
MockComponentContext mockComponentContext = new MockComponentContext(
bundle, SlingServletResolverTest.this.servlet);
@@ -156,20 +158,6 @@ public class SlingServletResolverTest {
protected void configureComponentContext(MockComponentContext mockComponentContext) {
}
- protected void addExpectations(final SlingRepository repository)
- throws RepositoryException {
- final Session session = this.context.mock(Session.class);
- final Workspace workspace = this.context.mock(Workspace.class);
- this.context.checking(new Expectations() {{
- one(repository).loginAdministrative(with(aNull(String.class)));
- will(returnValue(session));
- one(session).getWorkspace();
- will(returnValue(workspace));
- one(workspace).getName();
- will(returnValue("default"));
- }});
- }
-
@Test public void testAcceptsRequest() {
MockSlingHttpServletRequest secureRequest = new MockSlingHttpServletRequest(
SERVLET_PATH, null, SERVLET_EXTENSION, null, null);