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;