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;