Author: sseifert
Date: Tue Feb 23 00:55:22 2016
New Revision: 1731771

URL: http://svn.apache.org/viewvc?rev=1731771&view=rev
Log:
SLING-5547 Update sling-mock-oak to Sling API 2.11 and Oak 1.3.15

Modified:
    sling/trunk/testing/mocks/sling-mock-oak/pom.xml
    
sling/trunk/testing/mocks/sling-mock-oak/src/main/java/org/apache/sling/testing/mock/sling/oak/OakMockResourceResolverAdapter.java
    
sling/trunk/testing/mocks/sling-mock-oak/src/main/java/org/apache/sling/testing/mock/sling/oak/OakMockSlingRepository.java
    
sling/trunk/testing/mocks/sling-mock-oak/src/main/java/org/apache/sling/testing/mock/sling/oak/package-info.java
    
sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/MockJcrResourceResolverAdapter.java
    
sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/MockNoneResourceResolverAdapter.java
    
sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/MockSling.java
    
sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/RRMockMockResourceResolverAdapter.java
    
sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/ResourceResolverFactoryInitializer.java
    
sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/context/ModelAdapterFactoryUtil.java
    
sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/spi/ResourceResolverTypeAdapter.java
    
sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/spi/package-info.java

Modified: sling/trunk/testing/mocks/sling-mock-oak/pom.xml
URL: 
http://svn.apache.org/viewvc/sling/trunk/testing/mocks/sling-mock-oak/pom.xml?rev=1731771&r1=1731770&r2=1731771&view=diff
==============================================================================
--- sling/trunk/testing/mocks/sling-mock-oak/pom.xml (original)
+++ sling/trunk/testing/mocks/sling-mock-oak/pom.xml Tue Feb 23 00:55:22 2016
@@ -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>

Modified: 
sling/trunk/testing/mocks/sling-mock-oak/src/main/java/org/apache/sling/testing/mock/sling/oak/OakMockResourceResolverAdapter.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/testing/mocks/sling-mock-oak/src/main/java/org/apache/sling/testing/mock/sling/oak/OakMockResourceResolverAdapter.java?rev=1731771&r1=1731770&r2=1731771&view=diff
==============================================================================
--- 
sling/trunk/testing/mocks/sling-mock-oak/src/main/java/org/apache/sling/testing/mock/sling/oak/OakMockResourceResolverAdapter.java
 (original)
+++ 
sling/trunk/testing/mocks/sling-mock-oak/src/main/java/org/apache/sling/testing/mock/sling/oak/OakMockResourceResolverAdapter.java
 Tue Feb 23 00:55:22 2016
@@ -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 @@ import org.apache.sling.testing.mock.sli
 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();
     }
 

Modified: 
sling/trunk/testing/mocks/sling-mock-oak/src/main/java/org/apache/sling/testing/mock/sling/oak/OakMockSlingRepository.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/testing/mocks/sling-mock-oak/src/main/java/org/apache/sling/testing/mock/sling/oak/OakMockSlingRepository.java?rev=1731771&r1=1731770&r2=1731771&view=diff
==============================================================================
--- 
sling/trunk/testing/mocks/sling-mock-oak/src/main/java/org/apache/sling/testing/mock/sling/oak/OakMockSlingRepository.java
 (original)
+++ 
sling/trunk/testing/mocks/sling-mock-oak/src/main/java/org/apache/sling/testing/mock/sling/oak/OakMockSlingRepository.java
 Tue Feb 23 00:55:22 2016
@@ -143,4 +143,10 @@ public final class OakMockSlingRepositor
         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));
+    }
+
 }

Modified: 
sling/trunk/testing/mocks/sling-mock-oak/src/main/java/org/apache/sling/testing/mock/sling/oak/package-info.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/testing/mocks/sling-mock-oak/src/main/java/org/apache/sling/testing/mock/sling/oak/package-info.java?rev=1731771&r1=1731770&r2=1731771&view=diff
==============================================================================
--- 
sling/trunk/testing/mocks/sling-mock-oak/src/main/java/org/apache/sling/testing/mock/sling/oak/package-info.java
 (original)
+++ 
sling/trunk/testing/mocks/sling-mock-oak/src/main/java/org/apache/sling/testing/mock/sling/oak/package-info.java
 Tue Feb 23 00:55:22 2016
@@ -19,5 +19,5 @@
 /**
  * Sling Mock Jackrabbit Oak-based Resource Resolver
  */
[email protected]("1.0")
[email protected]("2.0")
 package org.apache.sling.testing.mock.sling.oak;

Modified: 
sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/MockJcrResourceResolverAdapter.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/MockJcrResourceResolverAdapter.java?rev=1731771&r1=1731770&r2=1731771&view=diff
==============================================================================
--- 
sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/MockJcrResourceResolverAdapter.java
 (original)
+++ 
sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/MockJcrResourceResolverAdapter.java
 Tue Feb 23 00:55:22 2016
@@ -21,6 +21,7 @@ package org.apache.sling.testing.mock.sl
 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 JCR Mocks implementation.
@@ -28,12 +29,12 @@ import org.apache.sling.testing.mock.sli
 class MockJcrResourceResolverAdapter implements ResourceResolverTypeAdapter {
 
     @Override
-    public ResourceResolverFactory newResourceResolverFactory() {
+    public ResourceResolverFactory newResourceResolverFactory(BundleContext 
bundleContext) {
         return null;
     }
 
     @Override
-    public SlingRepository newSlingRepository() {
+    public SlingRepository newSlingRepository(BundleContext bundleContext) {
         return new MockJcrSlingRepository();
     }
 

Modified: 
sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/MockNoneResourceResolverAdapter.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/MockNoneResourceResolverAdapter.java?rev=1731771&r1=1731770&r2=1731771&view=diff
==============================================================================
--- 
sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/MockNoneResourceResolverAdapter.java
 (original)
+++ 
sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/MockNoneResourceResolverAdapter.java
 Tue Feb 23 00:55:22 2016
@@ -21,6 +21,7 @@ package org.apache.sling.testing.mock.sl
 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 with no resource provider registered.
@@ -28,12 +29,12 @@ import org.apache.sling.testing.mock.sli
 class MockNoneResourceResolverAdapter implements ResourceResolverTypeAdapter {
 
     @Override
-    public ResourceResolverFactory newResourceResolverFactory() {
+    public ResourceResolverFactory newResourceResolverFactory(BundleContext 
bundleContext) {
         return null;
     }
 
     @Override
-    public SlingRepository newSlingRepository() {
+    public SlingRepository newSlingRepository(BundleContext bundleContext) {
         return null;
     }
 

Modified: 
sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/MockSling.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/MockSling.java?rev=1731771&r1=1731770&r2=1731771&view=diff
==============================================================================
--- 
sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/MockSling.java
 (original)
+++ 
sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/MockSling.java
 Tue Feb 23 00:55:22 2016
@@ -69,9 +69,9 @@ public final class MockSling {
     public static ResourceResolverFactory newResourceResolverFactory(final 
ResourceResolverType type,
             final BundleContext bundleContext) {
         ResourceResolverTypeAdapter adapter = 
getResourceResolverTypeAdapter(type);
-        ResourceResolverFactory factory = adapter.newResourceResolverFactory();
+        ResourceResolverFactory factory = 
adapter.newResourceResolverFactory(bundleContext);
         if (factory == null) {
-            SlingRepository repository = adapter.newSlingRepository();
+            SlingRepository repository = 
adapter.newSlingRepository(bundleContext);
             factory = ResourceResolverFactoryInitializer.setUp(repository, 
bundleContext, type.getNodeTypeMode());
         }
         else {

Modified: 
sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/RRMockMockResourceResolverAdapter.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/RRMockMockResourceResolverAdapter.java?rev=1731771&r1=1731770&r2=1731771&view=diff
==============================================================================
--- 
sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/RRMockMockResourceResolverAdapter.java
 (original)
+++ 
sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/RRMockMockResourceResolverAdapter.java
 Tue Feb 23 00:55:22 2016
@@ -23,6 +23,7 @@ import org.apache.sling.jcr.api.SlingRep
 import org.apache.sling.testing.mock.sling.spi.ResourceResolverTypeAdapter;
 import org.apache.sling.testing.resourceresolver.MockResourceResolverFactory;
 import 
org.apache.sling.testing.resourceresolver.MockResourceResolverFactoryOptions;
+import org.osgi.framework.BundleContext;
 
 /**
  * Resource resolver type adapter for Sling Resource Resolver Mock 
implementation.
@@ -40,12 +41,12 @@ class RRMockMockResourceResolverAdapter
     }
 
     @Override
-    public ResourceResolverFactory newResourceResolverFactory() {
+    public ResourceResolverFactory newResourceResolverFactory(BundleContext 
bundleContext) {
         return new MockResourceResolverFactory(options);
     }
 
     @Override
-    public SlingRepository newSlingRepository() {
+    public SlingRepository newSlingRepository(BundleContext bundleContext) {
         return null;
     }
 

Modified: 
sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/ResourceResolverFactoryInitializer.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/ResourceResolverFactoryInitializer.java?rev=1731771&r1=1731770&r2=1731771&view=diff
==============================================================================
--- 
sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/ResourceResolverFactoryInitializer.java
 (original)
+++ 
sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/ResourceResolverFactoryInitializer.java
 Tue Feb 23 00:55:22 2016
@@ -85,10 +85,10 @@ class ResourceResolverFactoryInitializer
      * @param bundleContext Bundle context
      */
     private static void ensureJcrResourceProviderDependencies(BundleContext 
bundleContext) {
-        bundleContext.registerService(DynamicClassLoaderManager.class, new 
MockDynamicClassLoaderManager(), null);
-        // setup PathMapper which is a mandatory service for 
JcrProviderFactory (since org.apache.sling.jcr.resource 2.5.4)
-        // use reflection to not depend on it if running with older version of 
org.apache.sling.jcr.resource
-        registerServiceIfFoundInClasspath(bundleContext, 
PathMapper.class.getName(), PathMapper.class.getName());
+        if (bundleContext.getServiceReference(DynamicClassLoaderManager.class) 
== null) {
+            bundleContext.registerService(DynamicClassLoaderManager.class, new 
MockDynamicClassLoaderManager(), null);
+        }
+        registerServiceIfNotPresent(bundleContext, PathMapper.class, new 
PathMapper());
     }
  
     /**
@@ -135,10 +135,11 @@ class ResourceResolverFactoryInitializer
      * @param serviceClass Service class
      * @param instance Service instance
      */
-    private static void registerServiceIfNotPresent(BundleContext 
bundleContext, Class<?> serviceClass, 
-            Object instance) {
+    private static <T> void registerServiceIfNotPresent(BundleContext 
bundleContext, Class<T> serviceClass, 
+            T instance) {
         registerServiceIfNotPresent(bundleContext, serviceClass, instance, new 
Hashtable<String, Object>());
     }
+    
     /**
      * Registers a service if the service class is found in classpath,
      * and if no service with this class is already registered.
@@ -147,35 +148,12 @@ class ResourceResolverFactoryInitializer
      * @param instance Service instance
      * @param config OSGi config
      */
-    private static void registerServiceIfNotPresent(BundleContext 
bundleContext, Class<?> serviceClass, 
-            Object instance, Dictionary<String, Object> config) {
+    private static <T> void registerServiceIfNotPresent(BundleContext 
bundleContext, Class<T> serviceClass, 
+            T instance, Dictionary<String, Object> config) {
         if (bundleContext.getServiceReference(serviceClass.getName()) == null) 
{
             MockOsgi.injectServices(instance, bundleContext);
             MockOsgi.activate(instance, bundleContext, config);
-            bundleContext.registerService(serviceClass.getName(), instance, 
config);
-        }
-    }
-    
-    /**
-     * Registers a service if the service class is found in classpath,
-     * and if no service with this class is already registered.
-     * @param className Service class name
-     */
-    private static void registerServiceIfFoundInClasspath(BundleContext 
bundleContext, String serviceClassName, String implClassName) {
-        try {
-            Class<?> serviceClass = Class.forName(serviceClassName);
-            Class<?> implClass = Class.forName(implClassName);
-            Object instance = implClass.newInstance();
-            registerServiceIfNotPresent(bundleContext, serviceClass, instance);
-        }
-        catch (ClassNotFoundException ex) {
-            // skip service registration
-        }
-        catch (InstantiationException e) {
-            // skip service registration
-        }
-        catch (IllegalAccessException e) {
-            // skip service registration
+            bundleContext.registerService(serviceClass, instance, config);
         }
     }
     

Modified: 
sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/context/ModelAdapterFactoryUtil.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/context/ModelAdapterFactoryUtil.java?rev=1731771&r1=1731770&r2=1731771&view=diff
==============================================================================
--- 
sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/context/ModelAdapterFactoryUtil.java
 (original)
+++ 
sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/context/ModelAdapterFactoryUtil.java
 Tue Feb 23 00:55:22 2016
@@ -47,6 +47,11 @@ import org.reflections.Reflections;
  */
 final class ModelAdapterFactoryUtil {
     
+    static {
+        // disable logging of reflections library to avoid spamming log files 
during unit tests
+        Reflections.log = null;
+    }
+    
     private ModelAdapterFactoryUtil() {
         // static methods only
     }

Modified: 
sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/spi/ResourceResolverTypeAdapter.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/spi/ResourceResolverTypeAdapter.java?rev=1731771&r1=1731770&r2=1731771&view=diff
==============================================================================
--- 
sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/spi/ResourceResolverTypeAdapter.java
 (original)
+++ 
sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/spi/ResourceResolverTypeAdapter.java
 Tue Feb 23 00:55:22 2016
@@ -20,6 +20,7 @@ package org.apache.sling.testing.mock.sl
 
 import org.apache.sling.api.resource.ResourceResolverFactory;
 import org.apache.sling.jcr.api.SlingRepository;
+import org.osgi.framework.BundleContext;
 
 /**
  * SPI interface for resource resolver type implementations to provide a mock
@@ -33,7 +34,7 @@ public interface ResourceResolverTypeAda
      * {@link #newSlingRepository()} has to return a value.
      * @return Resource resolver factory instance or null
      */
-    ResourceResolverFactory newResourceResolverFactory();
+    ResourceResolverFactory newResourceResolverFactory(BundleContext 
bundleContext);
 
     /**
      * Get SlingRepository instance. Can be null if a resource resolver factory
@@ -41,6 +42,6 @@ public interface ResourceResolverTypeAda
      * {@link #newResourceResolverFactory()} has to return a value.
      * @return Sling repository instance or null
      */
-    SlingRepository newSlingRepository();
+    SlingRepository newSlingRepository(BundleContext bundleContext);
 
 }

Modified: 
sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/spi/package-info.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/spi/package-info.java?rev=1731771&r1=1731770&r2=1731771&view=diff
==============================================================================
--- 
sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/spi/package-info.java
 (original)
+++ 
sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/spi/package-info.java
 Tue Feb 23 00:55:22 2016
@@ -19,5 +19,5 @@
 /**
  * SPI for hooking in alternative resource type adapter implementations.
  */
[email protected]("1.0")
[email protected]("2.0")
 package org.apache.sling.testing.mock.sling.spi;


Reply via email to