SLING-5547 Update sling-mock-oak to Sling API 2.11 and Oak 1.3.15
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1731771 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/pom.xml b/pom.xml
index 5d4d022..8da88a2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -28,15 +28,15 @@
</parent>
<artifactId>org.apache.sling.testing.sling-mock-oak</artifactId>
- <version>1.0.1-SNAPSHOT</version>
+ <version>2.0.0-SNAPSHOT</version>
<packaging>bundle</packaging>
<name>Apache Sling Testing Sling Mock Oak-based Resource Resolver</name>
<description>Implements a resource resolver type for Jackrabbit Oak that can be used in unit tests based on Sling Mocks.</description>
<properties>
- <oak.version>1.2.2</oak.version>
- <jackrabbit.version>2.10.1</jackrabbit.version>
+ <oak.version>1.3.15</oak.version>
+ <jackrabbit.version>2.11.3</jackrabbit.version>
</properties>
<scm>
@@ -50,14 +50,14 @@
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.testing.sling-mock</artifactId>
- <version>1.6.2</version>
+ <version>2.0.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.testing.sling-mock</artifactId>
- <version>1.6.2</version>
+ <version>2.0.0-SNAPSHOT</version>
<classifier>tests</classifier>
<scope>test</scope>
</dependency>
diff --git a/src/main/java/org/apache/sling/testing/mock/sling/oak/OakMockResourceResolverAdapter.java b/src/main/java/org/apache/sling/testing/mock/sling/oak/OakMockResourceResolverAdapter.java
index cefb70b..91e984d 100644
--- a/src/main/java/org/apache/sling/testing/mock/sling/oak/OakMockResourceResolverAdapter.java
+++ b/src/main/java/org/apache/sling/testing/mock/sling/oak/OakMockResourceResolverAdapter.java
@@ -18,9 +18,13 @@
*/
package org.apache.sling.testing.mock.sling.oak;
+import java.util.concurrent.Executor;
+
+import org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardExecutor;
import org.apache.sling.api.resource.ResourceResolverFactory;
import org.apache.sling.jcr.api.SlingRepository;
import org.apache.sling.testing.mock.sling.spi.ResourceResolverTypeAdapter;
+import org.osgi.framework.BundleContext;
/**
* Resource resolver type adapter for Jackrabbit Oak repository.
@@ -28,12 +32,15 @@
public class OakMockResourceResolverAdapter implements ResourceResolverTypeAdapter {
@Override
- public ResourceResolverFactory newResourceResolverFactory() {
+ public ResourceResolverFactory newResourceResolverFactory(BundleContext bundleContext) {
return null;
}
@Override
- public SlingRepository newSlingRepository() {
+ public SlingRepository newSlingRepository(BundleContext bundleContext) {
+ if (bundleContext.getServiceReference(Executor.class) == null) {
+ bundleContext.registerService(Executor.class, new WhiteboardExecutor(), null);
+ }
return new OakMockSlingRepository();
}
diff --git a/src/main/java/org/apache/sling/testing/mock/sling/oak/OakMockSlingRepository.java b/src/main/java/org/apache/sling/testing/mock/sling/oak/OakMockSlingRepository.java
index 1bee5d8..ff14d11 100644
--- a/src/main/java/org/apache/sling/testing/mock/sling/oak/OakMockSlingRepository.java
+++ b/src/main/java/org/apache/sling/testing/mock/sling/oak/OakMockSlingRepository.java
@@ -143,4 +143,10 @@
return repository.isStandardDescriptor(key);
}
+ @Override
+ public Session impersonateFromService(String subServiceName, Credentials credentials, String workspaceName)
+ throws LoginException, RepositoryException {
+ return repository.login(credentials, (workspaceName == null ? getDefaultWorkspace() : workspaceName));
+ }
+
}
diff --git a/src/main/java/org/apache/sling/testing/mock/sling/oak/package-info.java b/src/main/java/org/apache/sling/testing/mock/sling/oak/package-info.java
index b4e676f..c9adfb7 100644
--- a/src/main/java/org/apache/sling/testing/mock/sling/oak/package-info.java
+++ b/src/main/java/org/apache/sling/testing/mock/sling/oak/package-info.java
@@ -19,5 +19,5 @@
/**
* Sling Mock Jackrabbit Oak-based Resource Resolver
*/
-@aQute.bnd.annotation.Version("1.0")
+@aQute.bnd.annotation.Version("2.0")
package org.apache.sling.testing.mock.sling.oak;