You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ss...@apache.org on 2021/12/15 18:12:47 UTC

[sling-org-apache-sling-caconfig-impl] branch master updated (81c56dc -> 619a89e)

This is an automated email from the ASF dual-hosted git repository.

sseifert pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-caconfig-impl.git.


    from 81c56dc  SLING-10676 - remove SECURITY.md which is not needed
     new 3909081  SLING-11009 update to sling-bundle-parent 46
     new 619a89e  SLING-11010 update to Sling API 2.16.4 and Scripting API 2.2.0 update to latest testing dependencies

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 pom.xml                                            |  35 +++---
 .../ConfigurationPersistenceStrategyBridge.java    |  32 ++---
 .../ConfigurationPersistenceStrategyPrinter.java   |   2 +-
 .../ConfigurationBindingsValueProviderTest.java    |  10 +-
 ...tionInheritanceStrategyMultiplexerImplTest.java |  24 ++--
 ...igurationProxyCachingInvocationHandlerTest.java |   8 +-
 ...nfigurationResolverPropertyInheritanceTest.java |  30 ++---
 ...efaultConfigurationPersistenceStrategyTest.java |  40 +++---
 .../impl/ConfigurationCollectionDataImplTest.java  |  14 +--
 .../management/impl/ConfigurationDataImplTest.java |  42 +++----
 ...igurationManagerImplCustomPersistence2Test.java |  16 +--
 ...figurationManagerImplCustomPersistenceTest.java |  14 +--
 .../ConfigurationManagerImplNoDefaultTest.java     |  20 +--
 .../impl/ConfigurationManagerImplTest.java         | 134 ++++++++++-----------
 ...tionPersistenceStrategyMultiplexerImplTest.java |  44 ++++---
 .../ContextPathStrategyMultiplexerImplTest.java    |  24 ++--
 .../impl/console/CAConfigInventoryPrinterTest.java |  22 ++--
 .../ConfigurationResourceResolverImplTest.java     |  16 +--
 ...sourceResolvingStrategyMultiplexerImplTest.java |  40 +++---
 ...tionResourceResolvingStrategyHierarchyTest.java |  54 ++++-----
 ...ConfigurationResourceResolvingStrategyTest.java |   2 +-
 .../impl/def/DefaultContextPathStrategyTest.java   |  20 +--
 .../ResourceEliminateDuplicatesIteratorTest.java   |   8 +-
 .../util/ResourcePathCollatingIteratorTest.java    |  24 ++--
 24 files changed, 338 insertions(+), 337 deletions(-)
 rename src/main/java/org/apache/sling/caconfig/{ => management}/impl/ConfigurationPersistenceStrategyBridge.java (97%)

[sling-org-apache-sling-caconfig-impl] 01/02: SLING-11009 update to sling-bundle-parent 46

Posted by ss...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

sseifert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-caconfig-impl.git

commit 3909081b0cb8e8eda218f525c69f709137901b57
Author: Stefan Seifert <st...@users.noreply.github.com>
AuthorDate: Wed Dec 15 18:30:29 2021 +0100

    SLING-11009 update to sling-bundle-parent 46
---
 pom.xml | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/pom.xml b/pom.xml
index e1c8691..d15d6f3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.sling</groupId>
         <artifactId>sling-bundle-parent</artifactId>
-        <version>36</version>
+        <version>46</version>
         <relativePath />
     </parent>
 
@@ -33,12 +33,16 @@
     <name>Apache Sling Context-Aware Configuration Implementation</name>
     <description>Apache Sling Context-Aware Configuration Implementation</description>
 
+    <properties>
+        <project.build.outputTimestamp>2021-12-15T00:00:00Z</project.build.outputTimestamp>
+    </properties>
+
     <scm>
         <connection>scm:git:https://gitbox.apache.org/repos/asf/sling-org-apache-sling-caconfig-impl.git</connection>
         <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/sling-org-apache-sling-caconfig-impl.git</developerConnection>
         <url>https://gitbox.apache.org/repos/asf?p=sling-org-apache-sling-caconfig-impl.git</url>
-      <tag>HEAD</tag>
-  </scm>
+        <tag>HEAD</tag>
+    </scm>
 
     <build>
         <plugins>

[sling-org-apache-sling-caconfig-impl] 02/02: SLING-11010 update to Sling API 2.16.4 and Scripting API 2.2.0 update to latest testing dependencies

Posted by ss...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

sseifert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-caconfig-impl.git

commit 619a89ee4358fbd556323548ad8b67b2fa23af0d
Author: Stefan Seifert <st...@users.noreply.github.com>
AuthorDate: Wed Dec 15 19:11:45 2021 +0100

    SLING-11010 update to Sling API 2.16.4 and Scripting API 2.2.0
    update to latest testing dependencies
---
 pom.xml                                            |  25 ++--
 .../ConfigurationPersistenceStrategyBridge.java    |  32 ++---
 .../ConfigurationPersistenceStrategyPrinter.java   |   2 +-
 .../ConfigurationBindingsValueProviderTest.java    |  10 +-
 ...tionInheritanceStrategyMultiplexerImplTest.java |  24 ++--
 ...igurationProxyCachingInvocationHandlerTest.java |   8 +-
 ...nfigurationResolverPropertyInheritanceTest.java |  30 ++---
 ...efaultConfigurationPersistenceStrategyTest.java |  40 +++---
 .../impl/ConfigurationCollectionDataImplTest.java  |  14 +--
 .../management/impl/ConfigurationDataImplTest.java |  42 +++----
 ...igurationManagerImplCustomPersistence2Test.java |  16 +--
 ...figurationManagerImplCustomPersistenceTest.java |  14 +--
 .../ConfigurationManagerImplNoDefaultTest.java     |  20 +--
 .../impl/ConfigurationManagerImplTest.java         | 134 ++++++++++-----------
 ...tionPersistenceStrategyMultiplexerImplTest.java |  44 ++++---
 .../ContextPathStrategyMultiplexerImplTest.java    |  24 ++--
 .../impl/console/CAConfigInventoryPrinterTest.java |  22 ++--
 .../ConfigurationResourceResolverImplTest.java     |  16 +--
 ...sourceResolvingStrategyMultiplexerImplTest.java |  40 +++---
 ...tionResourceResolvingStrategyHierarchyTest.java |  54 ++++-----
 ...ConfigurationResourceResolvingStrategyTest.java |   2 +-
 .../impl/def/DefaultContextPathStrategyTest.java   |  20 +--
 .../ResourceEliminateDuplicatesIteratorTest.java   |   8 +-
 .../util/ResourcePathCollatingIteratorTest.java    |  24 ++--
 24 files changed, 331 insertions(+), 334 deletions(-)

diff --git a/pom.xml b/pom.xml
index d15d6f3..0baec40 100644
--- a/pom.xml
+++ b/pom.xml
@@ -165,13 +165,13 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.api</artifactId>
-            <version>2.9.0</version>
+            <version>2.16.4</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.scripting.api</artifactId>
-            <version>2.1.6</version>
+            <version>2.2.0</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
@@ -216,14 +216,14 @@
         <!-- test dependencies -->
         <dependency>
             <groupId>org.apache.sling</groupId>
-            <artifactId>org.apache.sling.testing.osgi-mock</artifactId>
-            <version>2.2.4</version>
+            <artifactId>org.apache.sling.testing.sling-mock.junit4</artifactId>
+            <version>3.2.2</version>
             <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
-            <artifactId>org.apache.sling.testing.sling-mock</artifactId>
-            <version>1.9.6</version>
+            <artifactId>org.apache.sling.testing.logging-mock</artifactId>
+            <version>2.0.0</version>
             <scope>test</scope>
         </dependency>
         <dependency>
@@ -238,20 +238,9 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
             <groupId>org.mockito</groupId>
             <artifactId>mockito-core</artifactId>
-            <version>2.0.87-beta</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.johnzon</groupId>
-            <artifactId>johnzon-core</artifactId>
-            <version>1.0.0</version>
+            <version>4.1.0</version>
             <scope>test</scope>
         </dependency>
 
diff --git a/src/main/java/org/apache/sling/caconfig/impl/ConfigurationPersistenceStrategyBridge.java b/src/main/java/org/apache/sling/caconfig/management/impl/ConfigurationPersistenceStrategyBridge.java
similarity index 97%
rename from src/main/java/org/apache/sling/caconfig/impl/ConfigurationPersistenceStrategyBridge.java
rename to src/main/java/org/apache/sling/caconfig/management/impl/ConfigurationPersistenceStrategyBridge.java
index f860078..fc0a312 100644
--- a/src/main/java/org/apache/sling/caconfig/impl/ConfigurationPersistenceStrategyBridge.java
+++ b/src/main/java/org/apache/sling/caconfig/management/impl/ConfigurationPersistenceStrategyBridge.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.sling.caconfig.impl;
+package org.apache.sling.caconfig.management.impl;
 
 import java.util.Hashtable;
 import java.util.Map;
@@ -54,12 +54,12 @@ import org.osgi.service.component.annotations.ReferencePolicyOption;
 })
 @SuppressWarnings("deprecation")
 public final class ConfigurationPersistenceStrategyBridge {
-    
+
     private volatile BundleContext bundleContext;
     private final ConcurrentMap<Comparable<Object>, ServiceRegistration<ConfigurationPersistenceStrategy2>> services = new ConcurrentHashMap<>();
     private final ConcurrentMap<Comparable<Object>, ServiceInfo> preActivateServices = new ConcurrentHashMap<>();
-    
-    protected void bindConfigurationPersistenceStrategy(ConfigurationPersistenceStrategy item, Map<String, Object> props) {
+
+    void bindConfigurationPersistenceStrategy(ConfigurationPersistenceStrategy item, Map<String, Object> props) {
         ServiceInfo serviceInfo = new ServiceInfo(item, props);
         Comparable<Object> key = ServiceUtil.getComparableForServiceRanking(props, Order.ASCENDING);
         if (bundleContext != null) {
@@ -69,12 +69,12 @@ public final class ConfigurationPersistenceStrategyBridge {
             preActivateServices.put(key, serviceInfo);
         }
     }
-    
+
     protected void unbindConfigurationPersistenceStrategy(ConfigurationPersistenceStrategy item, Map<String, Object> props) {
         Comparable<Object> key = ServiceUtil.getComparableForServiceRanking(props, Order.ASCENDING);
         unregisterBridgeService(services.remove(key));
     }
-    
+
     /**
      * Register {@link ConfigurationPersistenceStrategy2} bridge service for {@link ConfigurationPersistenceStrategy} service.
      * @param serviceInfo Service information
@@ -84,7 +84,7 @@ public final class ConfigurationPersistenceStrategyBridge {
         return bundleContext.registerService(ConfigurationPersistenceStrategy2.class,
                 new Adapter(serviceInfo.getService()), new Hashtable<>(serviceInfo.getProps()));
     }
-    
+
     /**
      * Unregister {@link ConfigurationPersistenceStrategy2} bridge service.
      * @param service Service registration
@@ -94,7 +94,7 @@ public final class ConfigurationPersistenceStrategyBridge {
             service.unregister();
         }
     }
-    
+
     @Activate
     private void activate(BundleContext bundleContext) {
         this.bundleContext = bundleContext;
@@ -102,12 +102,12 @@ public final class ConfigurationPersistenceStrategyBridge {
             services.put(entry.getKey(), registerBridgeService(entry.getValue()));
         }
     }
-   
-    
+
+
     private static class ServiceInfo {
         private final ConfigurationPersistenceStrategy service;
         private final Map<String,Object> props;
-        
+
         public ServiceInfo(ConfigurationPersistenceStrategy service, Map<String, Object> props) {
             this.service = service;
             this.props = props;
@@ -119,8 +119,8 @@ public final class ConfigurationPersistenceStrategyBridge {
             return props;
         }
     }
-    
-    
+
+
     /**
      * Adapter which delegates {@link ConfigurationPersistenceStrategy2} methods to a {@link ConfigurationPersistenceStrategy} service.
      */
@@ -130,7 +130,7 @@ public final class ConfigurationPersistenceStrategyBridge {
         public Adapter(ConfigurationPersistenceStrategy delegate) {
             this.delegate = delegate;
         }
-        
+
         /**
          * @return Implementation class of the original service.
          */
@@ -202,7 +202,7 @@ public final class ConfigurationPersistenceStrategyBridge {
         public boolean deleteConfiguration(@NotNull ResourceResolver resourceResolver, @NotNull String configResourcePath) {
             return delegate.deleteConfiguration(resourceResolver, configResourcePath);
         }
-        
+
     }
-    
+
 }
diff --git a/src/main/java/org/apache/sling/caconfig/management/impl/console/ConfigurationPersistenceStrategyPrinter.java b/src/main/java/org/apache/sling/caconfig/management/impl/console/ConfigurationPersistenceStrategyPrinter.java
index fe6172c..be18aad 100644
--- a/src/main/java/org/apache/sling/caconfig/management/impl/console/ConfigurationPersistenceStrategyPrinter.java
+++ b/src/main/java/org/apache/sling/caconfig/management/impl/console/ConfigurationPersistenceStrategyPrinter.java
@@ -20,7 +20,7 @@ package org.apache.sling.caconfig.management.impl.console;
 
 import java.io.PrintWriter;
 
-import org.apache.sling.caconfig.impl.ConfigurationPersistenceStrategyBridge;
+import org.apache.sling.caconfig.management.impl.ConfigurationPersistenceStrategyBridge;
 import org.apache.sling.caconfig.spi.ConfigurationPersistenceStrategy2;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.ServiceReference;
diff --git a/src/test/java/org/apache/sling/caconfig/impl/ConfigurationBindingsValueProviderTest.java b/src/test/java/org/apache/sling/caconfig/impl/ConfigurationBindingsValueProviderTest.java
index c1cde26..c4836f5 100644
--- a/src/test/java/org/apache/sling/caconfig/impl/ConfigurationBindingsValueProviderTest.java
+++ b/src/test/java/org/apache/sling/caconfig/impl/ConfigurationBindingsValueProviderTest.java
@@ -48,7 +48,7 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
@@ -60,7 +60,7 @@ public class ConfigurationBindingsValueProviderTest {
 
     private final static ValueMap VALUEMAP = new ValueMapDecorator(
             ImmutableMap.<String, Object> of("param1", "value1"));
-    
+
     private static final SortedSet<String> CONFIG_NAMES = ImmutableSortedSet.of("name1", "name.2");
 
     @Rule
@@ -84,7 +84,7 @@ public class ConfigurationBindingsValueProviderTest {
         context.registerInjectActivateService(new ConfigurationMetadataProviderMultiplexerImpl());
         context.registerService(ConfigurationMetadataProvider.class, configMetadataProvider);
         when(configMetadataProvider.getConfigurationNames()).thenReturn(CONFIG_NAMES);
-        
+
         when(bindings.containsKey(SlingBindings.REQUEST)).thenReturn(true);
         when(bindings.get(SlingBindings.REQUEST)).thenReturn(request);
         when(request.getResource()).thenReturn(resource);
@@ -92,7 +92,7 @@ public class ConfigurationBindingsValueProviderTest {
         when(configBuilder.name(anyString())).thenReturn(configBuilder);
         when(configBuilder.asValueMap()).thenReturn(VALUEMAP);
         when(configBuilder.asValueMapCollection()).thenReturn(ImmutableList.of(VALUEMAP));
-        
+
         when(configMetadataProvider.getConfigurationMetadata("name1")).thenReturn(
                 new ConfigurationMetadata("name1", ImmutableList.<PropertyMetadata<?>>of(), false));
         when(configMetadataProvider.getConfigurationMetadata("name.2")).thenReturn(
@@ -106,7 +106,7 @@ public class ConfigurationBindingsValueProviderTest {
 
         ArgumentCaptor<Map<String, ValueMap>> configMapCaptor = ArgumentCaptor.forClass(Map.class);
         verify(bindings).put(eq(ConfigurationBindingsValueProvider.BINDING_VARIABLE), configMapCaptor.capture());
-        
+
         Map<String, ValueMap> configMap = configMapCaptor.getValue();
         assertEquals(CONFIG_NAMES, configMap.keySet());
         assertEquals(VALUEMAP, configMap.get("name1"));
diff --git a/src/test/java/org/apache/sling/caconfig/impl/ConfigurationInheritanceStrategyMultiplexerImplTest.java b/src/test/java/org/apache/sling/caconfig/impl/ConfigurationInheritanceStrategyMultiplexerImplTest.java
index 4e354a0..00a6f0b 100644
--- a/src/test/java/org/apache/sling/caconfig/impl/ConfigurationInheritanceStrategyMultiplexerImplTest.java
+++ b/src/test/java/org/apache/sling/caconfig/impl/ConfigurationInheritanceStrategyMultiplexerImplTest.java
@@ -38,14 +38,14 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.invocation.InvocationOnMock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.mockito.stubbing.Answer;
 
 import com.google.common.collect.ImmutableList;
 
 @RunWith(MockitoJUnitRunner.class)
 public class ConfigurationInheritanceStrategyMultiplexerImplTest {
-    
+
     @Rule
     public SlingContext context = new SlingContext();
 
@@ -53,10 +53,10 @@ public class ConfigurationInheritanceStrategyMultiplexerImplTest {
     private Resource resource1;
     @Mock
     private Resource resource2;
-    
+
     private Iterator<Resource> resources;
     private ConfigurationInheritanceStrategy underTest;
-    
+
     @Before
     public void setUp() {
         resources = ImmutableList.of(resource1, resource2).iterator();
@@ -67,12 +67,12 @@ public class ConfigurationInheritanceStrategyMultiplexerImplTest {
     public void testWithNoStrategies() {
         assertNull(underTest.getResource(resources));
     }
-    
+
     @SuppressWarnings("unchecked")
     @Test
     public void testWithOneStrategy() {
         ConfigurationInheritanceStrategy strategy = mock(ConfigurationInheritanceStrategy.class);
-        
+
         when(strategy.getResource((Iterator<Resource>)any())).thenAnswer(new Answer<Resource>() {
             @Override
             public Resource answer(InvocationOnMock invocation) throws Throwable {
@@ -80,9 +80,9 @@ public class ConfigurationInheritanceStrategyMultiplexerImplTest {
                 return items.next();
             }
         });
-        
+
         context.registerService(ConfigurationInheritanceStrategy.class, strategy);
-        
+
         assertSame(resource1, underTest.getResource(resources));
     }
 
@@ -92,7 +92,7 @@ public class ConfigurationInheritanceStrategyMultiplexerImplTest {
         ConfigurationInheritanceStrategy strategy1 = mock(ConfigurationInheritanceStrategy.class);
         ConfigurationInheritanceStrategy strategy2 = mock(ConfigurationInheritanceStrategy.class);
         ConfigurationInheritanceStrategy strategy3 = mock(ConfigurationInheritanceStrategy.class);
-        
+
         when(strategy1.getResource((Iterator<Resource>)any())).thenAnswer(new Answer<Resource>() {
             @Override
             public Resource answer(InvocationOnMock invocation) throws Throwable {
@@ -110,13 +110,13 @@ public class ConfigurationInheritanceStrategyMultiplexerImplTest {
                 return items.next();
             }
         });
-        
+
         context.registerService(ConfigurationInheritanceStrategy.class, strategy1);
         context.registerService(ConfigurationInheritanceStrategy.class, strategy2);
         context.registerService(ConfigurationInheritanceStrategy.class, strategy3);
-        
+
         assertSame(resource1, underTest.getResource(resources));
-        
+
         verify(strategy1, times(1)).getResource((Iterator<Resource>)any());
         verify(strategy2, times(1)).getResource((Iterator<Resource>)any());
         verifyNoMoreInteractions(strategy3);
diff --git a/src/test/java/org/apache/sling/caconfig/impl/ConfigurationProxyCachingInvocationHandlerTest.java b/src/test/java/org/apache/sling/caconfig/impl/ConfigurationProxyCachingInvocationHandlerTest.java
index 0888521..1fca693 100644
--- a/src/test/java/org/apache/sling/caconfig/impl/ConfigurationProxyCachingInvocationHandlerTest.java
+++ b/src/test/java/org/apache/sling/caconfig/impl/ConfigurationProxyCachingInvocationHandlerTest.java
@@ -32,18 +32,18 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 @RunWith(MockitoJUnitRunner.class)
 public class ConfigurationProxyCachingInvocationHandlerTest {
-    
+
     private InvocationHandler underTest;
-    
+
     @Mock
     private InvocationHandler invocationHandler;
     private Object testObject;
     private Method testMethod;
-    
+
     @Before
     public void setUp() throws Exception {
         underTest = new CachingInvocationHandler(invocationHandler);
diff --git a/src/test/java/org/apache/sling/caconfig/impl/def/ConfigurationResolverPropertyInheritanceTest.java b/src/test/java/org/apache/sling/caconfig/impl/def/ConfigurationResolverPropertyInheritanceTest.java
index c157fc2..0887eab 100644
--- a/src/test/java/org/apache/sling/caconfig/impl/def/ConfigurationResolverPropertyInheritanceTest.java
+++ b/src/test/java/org/apache/sling/caconfig/impl/def/ConfigurationResolverPropertyInheritanceTest.java
@@ -20,11 +20,11 @@ package org.apache.sling.caconfig.impl.def;
 
 import static org.apache.sling.caconfig.impl.def.ConfigurationDefNameConstants.PROPERTY_CONFIG_PROPERTY_INHERIT;
 import static org.apache.sling.caconfig.resource.impl.def.ConfigurationResourceNameConstants.PROPERTY_CONFIG_REF;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.allOf;
 import static org.hamcrest.Matchers.hasEntry;
 import static org.hamcrest.Matchers.hasKey;
 import static org.hamcrest.Matchers.not;
-import static org.junit.Assert.assertThat;
 
 import org.apache.sling.api.resource.Resource;
 import org.apache.sling.caconfig.ConfigurationResolver;
@@ -67,7 +67,7 @@ public class ConfigurationResolverPropertyInheritanceTest {
             .resource("/conf/global/sling:configs/test", "param1", "value1", "param2", "value2")
             .resource("/conf/brand1/tenant1/region1/site1/sling:configs/test", "param1", "value1a")
             .resource("/conf/brand1/tenant1/region1/site2/sling:configs/test", "param1", "value1b");
-        
+
         assertThat(underTest.get(site1Page1).name("test").asValueMap(), allOf(
                         hasEntry("param1", (Object)"value1a"),
                         not(hasKey("param2"))));
@@ -83,10 +83,10 @@ public class ConfigurationResolverPropertyInheritanceTest {
             .resource("/conf/brand1/tenant1/region1/site1/sling:configs/test", "param1", "value1a",
                     PROPERTY_CONFIG_PROPERTY_INHERIT, true)
             .resource("/conf/brand1/tenant1/region1/site2/sling:configs/test", "param1", "value1b");
-        
+
         assertThat(underTest.get(site1Page1).name("test").asValueMap(), allOf(
                 hasEntry("param1", (Object)"value1a"),
-                hasEntry("param2", (Object)"value2")));        
+                hasEntry("param2", (Object)"value2")));
         assertThat(underTest.get(site2Page1).name("test").asValueMap(), allOf(
                 hasEntry("param1", (Object)"value1b"),
                 not(hasKey("param2"))));
@@ -103,12 +103,12 @@ public class ConfigurationResolverPropertyInheritanceTest {
             .resource("/conf/brand1/tenant1/region1/site1/sling:configs/test", "param1", "value1c",
                     PROPERTY_CONFIG_PROPERTY_INHERIT, true)
             .resource("/conf/brand1/tenant1/region1/site2/sling:configs/test", "param1", "value1d");
-        
+
         assertThat(underTest.get(site1Page1).name("test").asValueMap(), allOf(
                 hasEntry("param1", (Object)"value1c"),
                 hasEntry("param2", (Object)"value2"),
                 hasEntry("param3", (Object)"value3"),
-                hasEntry("param4", (Object)"value4")));        
+                hasEntry("param4", (Object)"value4")));
         assertThat(underTest.get(site2Page1).name("test").asValueMap(), allOf(
                 hasEntry("param1", (Object)"value1d"),
                 not(hasKey("param2")),
@@ -126,10 +126,10 @@ public class ConfigurationResolverPropertyInheritanceTest {
                     PROPERTY_CONFIG_PROPERTY_INHERIT, true)
             .resource("/conf/brand1/tenant1/region1/site1/sling:configs/test", "param1", "value1a")
             .resource("/conf/brand1/tenant1/region1/site2/sling:configs/test", "param1", "value1b");
-        
+
         assertThat(underTest.get(site1Page1).name("test").asValueMap(), allOf(
                 hasEntry("param1", (Object)"value1a"),
-                not(hasKey("param2"))));        
+                not(hasKey("param2"))));
         assertThat(underTest.get(site2Page1).name("test").asValueMap(), allOf(
                 hasEntry("param1", (Object)"value1b"),
                 not(hasKey("param2"))));
@@ -144,7 +144,7 @@ public class ConfigurationResolverPropertyInheritanceTest {
                 .resource("item1", "param1", "value1a")
             .resource("/conf/brand1/tenant1/region1/site2/sling:configs/test")
                 .resource("item1", "param1", "value1b");
-        
+
         assertThat(underTest.get(site1Page1).name("test").asValueMapCollection().iterator().next(), allOf(
                 hasEntry("param1", (Object)"value1a"),
                 not(hasKey("param2"))));
@@ -162,10 +162,10 @@ public class ConfigurationResolverPropertyInheritanceTest {
                 .resource("item1", "param1", "value1a", PROPERTY_CONFIG_PROPERTY_INHERIT, true)
             .resource("/conf/brand1/tenant1/region1/site2/sling:configs/test")
                 .resource("item1", "param1", "value1b");
-        
+
         assertThat(underTest.get(site1Page1).name("test").asValueMapCollection().iterator().next(), allOf(
                 hasEntry("param1", (Object)"value1a"),
-                hasEntry("param2", (Object)"value2")));        
+                hasEntry("param2", (Object)"value2")));
         assertThat(underTest.get(site2Page1).name("test").asValueMapCollection().iterator().next(), allOf(
                 hasEntry("param1", (Object)"value1b"),
                 not(hasKey("param2"))));
@@ -184,12 +184,12 @@ public class ConfigurationResolverPropertyInheritanceTest {
                 .resource("item1", "param1", "value1c", PROPERTY_CONFIG_PROPERTY_INHERIT, true)
             .resource("/conf/brand1/tenant1/region1/site2/sling:configs/test")
                 .resource("item1", "param1", "value1d");
-        
+
         assertThat(underTest.get(site1Page1).name("test").asValueMapCollection().iterator().next(), allOf(
                 hasEntry("param1", (Object)"value1c"),
                 hasEntry("param2", (Object)"value2"),
                 hasEntry("param3", (Object)"value3"),
-                hasEntry("param4", (Object)"value4")));        
+                hasEntry("param4", (Object)"value4")));
         assertThat(underTest.get(site2Page1).name("test").asValueMapCollection().iterator().next(), allOf(
                 hasEntry("param1", (Object)"value1d"),
                 not(hasKey("param2")),
@@ -209,10 +209,10 @@ public class ConfigurationResolverPropertyInheritanceTest {
                 .resource("item1", "param1", "value1a")
             .resource("/conf/brand1/tenant1/region1/site2/sling:configs/test")
                 .resource("item1", "param1", "value1b");
-        
+
         assertThat(underTest.get(site1Page1).name("test").asValueMapCollection().iterator().next(), allOf(
                 hasEntry("param1", (Object)"value1a"),
-                not(hasKey("param2"))));        
+                not(hasKey("param2"))));
         assertThat(underTest.get(site2Page1).name("test").asValueMapCollection().iterator().next(), allOf(
                 hasEntry("param1", (Object)"value1b"),
                 not(hasKey("param2"))));
diff --git a/src/test/java/org/apache/sling/caconfig/impl/def/DefaultConfigurationPersistenceStrategyTest.java b/src/test/java/org/apache/sling/caconfig/impl/def/DefaultConfigurationPersistenceStrategyTest.java
index ded22e0..d2b8150 100644
--- a/src/test/java/org/apache/sling/caconfig/impl/def/DefaultConfigurationPersistenceStrategyTest.java
+++ b/src/test/java/org/apache/sling/caconfig/impl/def/DefaultConfigurationPersistenceStrategyTest.java
@@ -18,11 +18,11 @@
  */
 package org.apache.sling.caconfig.impl.def;
 
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertThat;
 import static org.junit.Assert.assertTrue;
 
 import org.apache.sling.api.resource.Resource;
@@ -46,16 +46,16 @@ public class DefaultConfigurationPersistenceStrategyTest {
 
     @Rule
     public SlingContext context = new SlingContext(ResourceResolverType.JCR_MOCK);
-    
+
     @Before
     public void setUp() {
         context.registerInjectActivateService(new ConfigurationManagementSettingsImpl());
     }
-    
+
     @Test
     public void testGetResource() {
         ConfigurationPersistenceStrategy2 underTest = context.registerInjectActivateService(new DefaultConfigurationPersistenceStrategy());
-        
+
         Resource resource = context.create().resource("/conf/test");
         assertSame(resource, underTest.getResource(resource));
         assertSame(resource, underTest.getCollectionParentResource(resource));
@@ -65,17 +65,17 @@ public class DefaultConfigurationPersistenceStrategyTest {
     @Test
     public void testGetResourcePath() {
         ConfigurationPersistenceStrategy2 underTest = context.registerInjectActivateService(new DefaultConfigurationPersistenceStrategy());
-        
+
         String path = "/conf/test";
         assertEquals(path, underTest.getResourcePath(path));
         assertEquals(path, underTest.getCollectionParentResourcePath(path));
         assertEquals(path, underTest.getCollectionItemResourcePath(path));
     }
-    
+
     @Test
     public void testGetConfigName() throws Exception {
         ConfigurationPersistenceStrategy2 underTest = context.registerInjectActivateService(new DefaultConfigurationPersistenceStrategy());
-        
+
         String path = "test";
         assertEquals(path, underTest.getConfigName(path, null));
         assertEquals(path, underTest.getCollectionParentConfigName(path, null));
@@ -85,12 +85,12 @@ public class DefaultConfigurationPersistenceStrategyTest {
     @Test
     public void testPersistConfiguration() throws Exception {
         ConfigurationPersistenceStrategy2 underTest = context.registerInjectActivateService(new DefaultConfigurationPersistenceStrategy());
-        
+
         // store config data
         assertTrue(underTest.persistConfiguration(context.resourceResolver(), "/conf/test",
                 new ConfigurationPersistData(ImmutableMap.<String,Object>of("prop1", "value1", "prop2", 5))));
         context.resourceResolver().commit();
-        
+
         ValueMap props = context.resourceResolver().getResource("/conf/test").getValueMap();
         assertEquals("value1", props.get("prop1", String.class));
         assertEquals((Integer)5, props.get("prop2", Integer.class));
@@ -103,7 +103,7 @@ public class DefaultConfigurationPersistenceStrategyTest {
         props = context.resourceResolver().getResource("/conf/test").getValueMap();
         assertNull(props.get("prop1", String.class));
         assertNull(props.get("prop2", Integer.class));
-        
+
         underTest.deleteConfiguration(context.resourceResolver(), "/conf/test");
         assertNull(context.resourceResolver().getResource("/conf/test"));
     }
@@ -111,7 +111,7 @@ public class DefaultConfigurationPersistenceStrategyTest {
     @Test
     public void testPersistConfigurationCollection() throws Exception {
         ConfigurationPersistenceStrategy2 underTest = context.registerInjectActivateService(new DefaultConfigurationPersistenceStrategy());
-        
+
         // store new config collection items
         assertTrue(underTest.persistConfigurationCollection(context.resourceResolver(), "/conf/test",
                 new ConfigurationCollectionPersistData(ImmutableList.of(
@@ -120,13 +120,13 @@ public class DefaultConfigurationPersistenceStrategyTest {
                 ).properties(ImmutableMap.<String, Object>of("prop1", "abc", "sling:resourceType", "/a/b/c"))
         ));
         context.resourceResolver().commit();
-        
+
         Resource resource = context.resourceResolver().getResource("/conf/test");
         assertThat(resource, ResourceMatchers.props("prop1", "abc", "sling:resourceType", "/a/b/c"));
         assertThat(resource, ResourceMatchers.containsChildren("item1", "item2"));
 
         assertThat(resource.getChild("item1"), ResourceMatchers.props("prop1", "value1"));
-        assertThat(resource.getChild("item2"), ResourceMatchers.props("prop2", 5L));        
+        assertThat(resource.getChild("item2"), ResourceMatchers.props("prop2", 5L));
 
         // remove config collection items
         assertTrue(underTest.persistConfigurationCollection(context.resourceResolver(), "/conf/test",
@@ -143,7 +143,7 @@ public class DefaultConfigurationPersistenceStrategyTest {
     @Test
     public void testPersistConfigurationCollection_Nested() throws Exception {
         ConfigurationPersistenceStrategy2 underTest = context.registerInjectActivateService(new DefaultConfigurationPersistenceStrategy());
-        
+
         // store new config collection items
         assertTrue(underTest.persistConfigurationCollection(context.resourceResolver(), "/conf/test",
                 new ConfigurationCollectionPersistData(ImmutableList.of(
@@ -164,10 +164,10 @@ public class DefaultConfigurationPersistenceStrategyTest {
                         new ConfigurationPersistData(ImmutableMap.<String,Object>of("prop1", "value21")).collectionItemName("sub1")
                 ))
         ));
-        
+
         context.resourceResolver().commit();
 
-        
+
         Resource resource = context.resourceResolver().getResource("/conf/test");
         assertThat(resource, ResourceMatchers.containsChildren("item1", "item2"));
 
@@ -175,7 +175,7 @@ public class DefaultConfigurationPersistenceStrategyTest {
         assertThat(resource.getChild("item1/subList"), ResourceMatchers.containsChildren("sub1", "sub2"));
         assertThat(resource.getChild("item1/subList/sub1"), ResourceMatchers.props("prop1", "value11"));
         assertThat(resource.getChild("item1/subList/sub2"), ResourceMatchers.props("prop1", "value12"));
-        
+
         assertThat(resource.getChild("item2"), ResourceMatchers.props("prop1", "value2"));
         assertThat(resource.getChild("item2/subList"), ResourceMatchers.containsChildren("sub1"));
         assertThat(resource.getChild("item2/subList/sub1"), ResourceMatchers.props("prop1", "value21"));
@@ -190,7 +190,7 @@ public class DefaultConfigurationPersistenceStrategyTest {
                 ))
         ));
         context.resourceResolver().commit();
-        
+
         resource = context.resourceResolver().getResource("/conf/test");
         assertThat(resource, ResourceMatchers.containsChildren("item1", "item2", "item3"));
 
@@ -198,7 +198,7 @@ public class DefaultConfigurationPersistenceStrategyTest {
         assertThat(resource.getChild("item1/subList"), ResourceMatchers.containsChildren("sub1", "sub2"));
         assertThat(resource.getChild("item1/subList/sub1"), ResourceMatchers.props("prop1", "value11"));
         assertThat(resource.getChild("item1/subList/sub2"), ResourceMatchers.props("prop1", "value12"));
-        
+
         assertThat(resource.getChild("item2"), ResourceMatchers.props("prop1", "value2-new"));
         assertThat(resource.getChild("item2/subList"), ResourceMatchers.containsChildren("sub1"));
         assertThat(resource.getChild("item2/subList/sub1"), ResourceMatchers.props("prop1", "value21"));
@@ -223,7 +223,7 @@ public class DefaultConfigurationPersistenceStrategyTest {
     public void testDisabled() {
         ConfigurationPersistenceStrategy2 underTest = context.registerInjectActivateService(new DefaultConfigurationPersistenceStrategy(),
                 "enabled", false);
-        
+
         Resource resource = context.create().resource("/conf/test");
         assertNull(underTest.getResource(resource));
         assertNull(underTest.getResourcePath(resource.getPath()));
diff --git a/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationCollectionDataImplTest.java b/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationCollectionDataImplTest.java
index 845d402..a04e635 100644
--- a/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationCollectionDataImplTest.java
+++ b/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationCollectionDataImplTest.java
@@ -35,17 +35,17 @@ import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
 
 @RunWith(MockitoJUnitRunner.class)
 public class ConfigurationCollectionDataImplTest {
-    
+
     @Rule
     public SlingContext context = new SlingContext();
-    
+
     @Mock
     private Collection<ConfigurationData> items;
     private ConfigurationManagementSettings configurationManagementSettings;
@@ -54,12 +54,12 @@ public class ConfigurationCollectionDataImplTest {
     public void setUp() {
         configurationManagementSettings = context.registerInjectActivateService(new ConfigurationManagementSettingsImpl());
     }
-    
+
     @Test
     public void testProperties() {
-        Map<String,Object> props = ImmutableMap.<String,Object>of("jcr:primaryType", "test", "prop1", "value1"); 
+        Map<String,Object> props = ImmutableMap.<String,Object>of("jcr:primaryType", "test", "prop1", "value1");
         ConfigurationCollectionData underTest = new ConfigurationCollectionDataImpl("name1", items, "/path1", props, configurationManagementSettings);
-        
+
         assertEquals("name1", underTest.getConfigName());
         assertSame(items, underTest.getItems());
         assertEquals("/path1", underTest.getResourcePath());
@@ -69,7 +69,7 @@ public class ConfigurationCollectionDataImplTest {
     @Test
     public void testEmpty() {
         ConfigurationCollectionData underTest = new ConfigurationCollectionDataImpl("name1", ImmutableList.<ConfigurationData>of(), "/path1", null, configurationManagementSettings);
-        
+
         assertEquals("name1", underTest.getConfigName());
         assertTrue(underTest.getItems().isEmpty());
         assertEquals("/path1", underTest.getResourcePath());
diff --git a/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationDataImplTest.java b/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationDataImplTest.java
index 3007d50..e9694d1 100644
--- a/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationDataImplTest.java
+++ b/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationDataImplTest.java
@@ -40,7 +40,7 @@ import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
@@ -48,7 +48,7 @@ import com.google.common.collect.ImmutableSet;
 @RunWith(MockitoJUnitRunner.class)
 @SuppressWarnings("null")
 public class ConfigurationDataImplTest {
-    
+
     @Rule
     public SlingContext context = new SlingContext();
     @Mock
@@ -59,15 +59,15 @@ public class ConfigurationDataImplTest {
     private ConfigurationManager configurationManager;
     private ConfigurationManagementSettings configurationManagementSettings;
     private ConfigurationPersistenceStrategy2 configurationPersistenceStrategy;
-    
+
     private Resource configResource;
     private ConfigurationMetadata configMetadata;
-    
+
     @Before
     public void setUp() {
         configurationManagementSettings = context.registerInjectActivateService(new ConfigurationManagementSettingsImpl());
         configurationPersistenceStrategy = context.registerInjectActivateService(new DefaultConfigurationPersistenceStrategy());
-        
+
         configResource = context.create().resource("/conf/test",
                 "prop1", "value1",
                 "prop4", true);
@@ -85,13 +85,13 @@ public class ConfigurationDataImplTest {
                 contextResource, "test", configurationManager, configurationManagementSettings,
                 configurationOverrideMultiplexer, configurationPersistenceStrategy,
                 true, "item1");
-        
+
         assertEquals("test", underTest.getConfigName());
         assertEquals("item1", underTest.getCollectionItemName());
-        
+
         assertEquals(configResource.getPath(), underTest.getResourcePath());
         assertEquals(ImmutableSet.of("prop1", "prop2", "prop3", "prop4", "propIntArray"), underTest.getPropertyNames());
-        
+
         ValueMap values = underTest.getValues();
         assertEquals("value1", values.get("prop1", String.class));
         assertNull(values.get("prop2", String.class));
@@ -103,7 +103,7 @@ public class ConfigurationDataImplTest {
         assertNull(effectiveValues.get("prop2", String.class));
         assertEquals((Integer)5, effectiveValues.get("prop3", Integer.class));
         assertEquals(true, effectiveValues.get("prop4", Boolean.class));
-        
+
         ValueInfo<?> prop1 = underTest.getValueInfo("prop1");
         assertEquals("prop1", prop1.getPropertyMetadata().getName());
         assertEquals("value1", prop1.getValue());
@@ -112,7 +112,7 @@ public class ConfigurationDataImplTest {
         ValueInfo<?> prop3 = underTest.getValueInfo("prop3");
         assertEquals("prop3", prop3.getPropertyMetadata().getName());
         assertNull(prop3.getValue());
-        assertEquals((Integer)5, prop3.getEffectiveValue());
+        assertEquals(5, prop3.getEffectiveValue());
 
         ValueInfo<?> prop4 = underTest.getValueInfo("prop4");
         assertNull("prop4", prop4.getPropertyMetadata());
@@ -130,12 +130,12 @@ public class ConfigurationDataImplTest {
                 contextResource, "test", configurationManager, configurationManagementSettings,
                 configurationOverrideMultiplexer, configurationPersistenceStrategy,
                 false, null);
-        
+
         assertEquals("test", underTest.getConfigName());
         assertNull(underTest.getCollectionItemName());
-        
+
         assertEquals(ImmutableSet.of("prop1", "prop4"), underTest.getPropertyNames());
-        
+
         ValueMap values = underTest.getValues();
         assertEquals("value1", values.get("prop1", String.class));
         assertEquals(true, values.get("prop4", Boolean.class));
@@ -143,7 +143,7 @@ public class ConfigurationDataImplTest {
         ValueMap effectiveValues = underTest.getEffectiveValues();
         assertEquals("value1", effectiveValues.get("prop1", String.class));
         assertEquals(true, effectiveValues.get("prop4", Boolean.class));
-        
+
         ValueInfo<?> prop1 = underTest.getValueInfo("prop1");
         assertNull(prop1.getPropertyMetadata());
         assertEquals("value1", prop1.getValue());
@@ -161,19 +161,19 @@ public class ConfigurationDataImplTest {
                 contextResource, "test", configurationManager, configurationManagementSettings,
                 configurationOverrideMultiplexer, configurationPersistenceStrategy,
                 false);
-        
+
         assertEquals("test", underTest.getConfigName());
         assertNull(underTest.getCollectionItemName());
-        
+
         assertEquals(ImmutableSet.of("prop1", "prop2", "prop3", "propIntArray"), underTest.getPropertyNames());
-        
+
         ValueMap values = underTest.getValues();
         assertTrue(values.isEmpty());
 
         ValueMap effectiveValues = underTest.getEffectiveValues();
         assertEquals("defValue", effectiveValues.get("prop1", String.class));
         assertEquals((Integer)5, effectiveValues.get("prop3", Integer.class));
-        
+
         ValueInfo<?> prop1 = underTest.getValueInfo("prop1");
         assertEquals("prop1", prop1.getPropertyMetadata().getName());
         assertNull(prop1.getValue());
@@ -182,7 +182,7 @@ public class ConfigurationDataImplTest {
         ValueInfo<?> prop3 = underTest.getValueInfo("prop3");
         assertEquals("prop3", prop3.getPropertyMetadata().getName());
         assertNull(prop3.getValue());
-        assertEquals((Integer)5, prop3.getEffectiveValue());
+        assertEquals(5, prop3.getEffectiveValue());
     }
 
     @Test
@@ -196,9 +196,9 @@ public class ConfigurationDataImplTest {
                 contextResource, "test", configurationManager, configurationManagementSettings,
                 configurationOverrideMultiplexer, configurationPersistenceStrategy,
                 false, null);
-        
+
         assertEquals(ImmutableSet.of("prop1", "prop4"), underTest.getPropertyNames());
-        
+
         assertNull(underTest.getValues().get("jcr:primaryType"));
         assertNull(underTest.getEffectiveValues().get("jcr:primaryType"));
     }
diff --git a/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImplCustomPersistence2Test.java b/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImplCustomPersistence2Test.java
index 11605e2..739dba8 100644
--- a/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImplCustomPersistence2Test.java
+++ b/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImplCustomPersistence2Test.java
@@ -27,7 +27,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.apache.sling.caconfig.spi.ConfigurationPersistenceStrategy2;
 import org.junit.Before;
 import org.junit.runner.RunWith;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.osgi.framework.Constants;
 import org.osgi.service.cm.ConfigurationAdmin;
 
@@ -36,7 +36,7 @@ import org.osgi.service.cm.ConfigurationAdmin;
  */
 @RunWith(MockitoJUnitRunner.class)
 public class ConfigurationManagerImplCustomPersistence2Test extends ConfigurationManagerImplTest {
-    
+
     @Override
     protected void provideCustomOsgiConfig() throws Exception {
         // provide custom lookup resource name for collection properties
@@ -63,7 +63,7 @@ public class ConfigurationManagerImplCustomPersistence2Test extends Configuratio
             return replaceBucketName(path) + "/jcr:content";
         }
     }
-    
+
     @Override
     protected String getConfigPersistPath(String path) {
         if (containsJcrContent(path)) {
@@ -73,7 +73,7 @@ public class ConfigurationManagerImplCustomPersistence2Test extends Configuratio
             return path + "/jcr:content";
         }
     }
-    
+
     @Override
     protected String getConfigCollectionParentResolvePath(String path) {
         if (containsJcrContent(path)) {
@@ -83,7 +83,7 @@ public class ConfigurationManagerImplCustomPersistence2Test extends Configuratio
             return replaceBucketName(path) + "/jcr:content";
         }
     }
-    
+
     @Override
     protected String getConfigCollectionParentPersistPath(String path) {
         if (containsJcrContent(path)) {
@@ -93,17 +93,17 @@ public class ConfigurationManagerImplCustomPersistence2Test extends Configuratio
             return path + "/jcr:content";
         }
     }
-    
+
     @Override
     protected String getConfigCollectionItemResolvePath(String path) {
         return path;
     }
-    
+
     @Override
     protected String getConfigCollectionItemPersistPath(String path) {
         return path;
     }
-    
+
     private String replaceBucketName(String path) {
         return StringUtils.replace(path, "/sling:configs/", "/settings/");
     }
diff --git a/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImplCustomPersistenceTest.java b/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImplCustomPersistenceTest.java
index 07f8b23..34a4580 100644
--- a/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImplCustomPersistenceTest.java
+++ b/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImplCustomPersistenceTest.java
@@ -22,7 +22,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.apache.sling.caconfig.spi.ConfigurationPersistenceStrategy2;
 import org.junit.Before;
 import org.junit.runner.RunWith;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.osgi.framework.Constants;
 
 /**
@@ -30,7 +30,7 @@ import org.osgi.framework.Constants;
  */
 @RunWith(MockitoJUnitRunner.class)
 public class ConfigurationManagerImplCustomPersistenceTest extends ConfigurationManagerImplTest {
-    
+
     @Before
     public void setUpCustomPersistence() {
         // custom strategy which redirects all config resources to a jcr:content subnode
@@ -42,27 +42,27 @@ public class ConfigurationManagerImplCustomPersistenceTest extends Configuration
     protected String getConfigResolvePath(String path) {
         return replaceBucketName(path) + "/jcr:content";
     }
-    
+
     @Override
     protected String getConfigPersistPath(String path) {
         return path + "/jcr:content";
     }
-    
+
     @Override
     protected String getConfigCollectionParentResolvePath(String path) {
         return replaceBucketName(path);
     }
-    
+
     @Override
     protected String getConfigCollectionParentPersistPath(String path) {
         return path;
     }
-    
+
     @Override
     protected String getConfigCollectionItemResolvePath(String path) {
         return replaceBucketName(path) + "/jcr:content";
     }
-    
+
     @Override
     protected String getConfigCollectionItemPersistPath(String path) {
         return path + "/jcr:content";
diff --git a/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImplNoDefaultTest.java b/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImplNoDefaultTest.java
index 0e957d5..5733cfe 100644
--- a/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImplNoDefaultTest.java
+++ b/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImplNoDefaultTest.java
@@ -40,7 +40,7 @@ import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
@@ -51,30 +51,30 @@ import com.google.common.collect.ImmutableSet;
 @RunWith(MockitoJUnitRunner.class)
 @SuppressWarnings("null")
 public class ConfigurationManagerImplNoDefaultTest {
-    
+
     @Rule
     public SlingContext context = new SlingContext();
 
     @Mock
     private ConfigurationMetadataProvider configurationMetadataProvider;
-    
+
     private ConfigurationManager underTest;
-    
+
     private Resource contextResourceNoConfig;
     private ConfigurationMetadata configMetadata;
-    
+
     private static final String CONFIG_NAME = "testConfig";
     private static final String CONFIG_COL_NAME = "testConfigCol";
-   
+
     @Before
     public void setUp() {
         context.registerService(ConfigurationMetadataProvider.class, configurationMetadataProvider);
         ConfigurationTestUtils.registerConfigurationResolverWithoutDefaultImpl(context);
         underTest = context.registerInjectActivateService(new ConfigurationManagerImpl());
-        
+
         contextResourceNoConfig = context.create().resource("/content/testNoConfig",
                 PROPERTY_CONFIG_REF, "/conf/testNoConfig");
-        
+
         configMetadata = new ConfigurationMetadata(CONFIG_NAME, ImmutableList.<PropertyMetadata<?>>of(
                 new PropertyMetadata<>("prop1", "defValue"),
                 new PropertyMetadata<>("prop2", String.class),
@@ -89,11 +89,11 @@ public class ConfigurationManagerImplNoDefaultTest {
                 true);
         when(configurationMetadataProvider.getConfigurationMetadata(CONFIG_COL_NAME)).thenReturn(configMetadata);
     }
-    
+
     protected String getConfigPropertiesPath(String path) {
         return path;
     }
-    
+
     @Test
     public void testGet_NoConfigResource() {
         ConfigurationData configData = underTest.getConfiguration(contextResourceNoConfig, CONFIG_NAME);
diff --git a/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImplTest.java b/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImplTest.java
index 10591b1..1851fcc 100644
--- a/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImplTest.java
+++ b/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImplTest.java
@@ -53,7 +53,7 @@ import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
@@ -63,33 +63,33 @@ import com.google.common.collect.ImmutableSortedSet;
 @RunWith(MockitoJUnitRunner.class)
 @SuppressWarnings("null")
 public class ConfigurationManagerImplTest {
-    
+
     @Rule
     public SlingContext context = new SlingContext();
 
     @Mock
     private ConfigurationMetadataProvider configurationMetadataProvider;
-    
+
     private ConfigurationManager underTest;
-    
+
     private Resource contextResource;
     private Resource contextResourceLevel2;
     private Resource contextResourceLevel3;
     private Resource contextResourceNoConfig;
-    
+
     private static final String CONFIG_NAME = "testConfig";
     private static final String CONFIG_COL_NAME = "testConfigCol";
     private static final String CONFIG_NESTED_NAME = "testConfigNested";
-   
+
     @Before
     public void setUp() throws Exception {
         provideCustomOsgiConfig();
-        
+
         context.registerService(ConfigurationMetadataProvider.class, configurationMetadataProvider);
         ConfigurationTestUtils.registerConfigurationResolver(context,
                 "configBucketNames", getAlternativeBucketNames());
         underTest = context.registerInjectActivateService(new ConfigurationManagerImpl());
-        
+
         contextResource = context.create().resource("/content/test",
                 PROPERTY_CONFIG_REF, "/conf/test");
         contextResourceLevel2 = context.create().resource("/content/test/level2",
@@ -98,7 +98,7 @@ public class ConfigurationManagerImplTest {
                 PROPERTY_CONFIG_REF, "/conf/test/level2/level3");
         contextResourceNoConfig = context.create().resource("/content/testNoConfig",
                 PROPERTY_CONFIG_REF, "/conf/testNoConfig");
-        
+
         context.create().resource(getConfigResolvePath("/conf/test/sling:configs/" + CONFIG_NAME),
                 "prop1", "value1",
                 "prop4", true);
@@ -106,13 +106,13 @@ public class ConfigurationManagerImplTest {
                 "prop1", "value1");
         context.create().resource(getConfigCollectionItemResolvePath(getConfigCollectionParentResolvePath("/conf/test/sling:configs/" + CONFIG_COL_NAME) + "/2"),
                 "prop4", true);
-        
+
         // test fixture with resource collection inheritance on level 2
         context.create().resource(getConfigCollectionParentResolvePath("/conf/test/level2/sling:configs/" + CONFIG_COL_NAME),
                 PROPERTY_CONFIG_COLLECTION_INHERIT, true);
         context.create().resource(getConfigCollectionItemResolvePath(getConfigCollectionParentResolvePath("/conf/test/level2/sling:configs/" + CONFIG_COL_NAME) + "/1"),
                 "prop1", "value1_level2");
-        
+
         // test fixture with property inheritance and resource collection inheritance on level 3
         context.create().resource(getConfigResolvePath("/conf/test/level2/level3/sling:configs/" + CONFIG_NAME),
                 "prop4", false,
@@ -142,8 +142,8 @@ public class ConfigurationManagerImplTest {
         context.create().resource(getConfigResolvePath(getConfigCollectionItemResolvePath(getConfigCollectionParentResolvePath(getConfigResolvePath("/conf/test/sling:configs/" + CONFIG_NESTED_NAME) + "/propSubList") + "/item1") + "/propSub"),
                 "prop1", "propSubList1_proSubValue1",
                 "prop4", true);
-        
-        
+
+
         // config metadata singleton config
         ConfigurationMetadata configMetadata = new ConfigurationMetadata(CONFIG_NAME, ImmutableList.<PropertyMetadata<?>>of(
                 new PropertyMetadata<>("prop1", "defValue"),
@@ -198,39 +198,39 @@ public class ConfigurationManagerImplTest {
 
         when(configurationMetadataProvider.getConfigurationNames()).thenReturn(ImmutableSortedSet.of(CONFIG_NAME, CONFIG_COL_NAME, CONFIG_NESTED_NAME));
     }
-    
+
     protected void provideCustomOsgiConfig() throws Exception {
         // may be overwritten by sublcasses
     }
-    
+
     protected String getConfigResolvePath(String path) {
         return path;
     }
-    
+
     protected String getConfigPersistPath(String path) {
         return path;
     }
-    
+
     protected String getConfigCollectionParentResolvePath(String path) {
         return path;
     }
-    
+
     protected String getConfigCollectionParentPersistPath(String path) {
         return path;
     }
-    
+
     protected String getConfigCollectionItemResolvePath(String path) {
         return path;
     }
-    
+
     protected String getConfigCollectionItemPersistPath(String path) {
         return path;
     }
-    
+
     protected String[] getAlternativeBucketNames() {
         return new String[0];
     }
-    
+
     @Test
     public void testGetConfiguration() {
         ConfigurationData configData = underTest.getConfiguration(contextResource, CONFIG_NAME);
@@ -266,7 +266,7 @@ public class ConfigurationManagerImplTest {
 
         assertFalse(configData.getValues().get(ConfigurationDefNameConstants.PROPERTY_CONFIG_PROPERTY_INHERIT, false));
     }
-    
+
     @Test
     public void testGetConfiguration_WithPropertyInheritance() {
         ConfigurationData configData = underTest.getConfiguration(contextResourceLevel3, CONFIG_NAME);
@@ -279,7 +279,7 @@ public class ConfigurationManagerImplTest {
         assertNull(configData.getValues().get("prop3", Integer.class));
         assertFalse(configData.getValues().get("prop4", Boolean.class));
         assertEquals("value5_level3", configData.getValues().get("prop5", String.class));
-        
+
         assertEquals("value1", configData.getEffectiveValues().get("prop1", String.class));
         assertNull(configData.getEffectiveValues().get("prop2", String.class));
         assertEquals((Integer)5, configData.getEffectiveValues().get("prop3", 0));
@@ -298,7 +298,7 @@ public class ConfigurationManagerImplTest {
         assertEquals(configPathLevel3, configData.getValueInfo("prop4").getConfigSourcePath());
         assertFalse(configData.getValueInfo("prop5").isInherited());
         assertEquals(configPathLevel3, configData.getValueInfo("prop5").getConfigSourcePath());
-        
+
         assertTrue(configData.getValues().get(ConfigurationDefNameConstants.PROPERTY_CONFIG_PROPERTY_INHERIT, false));
     }
 
@@ -306,7 +306,7 @@ public class ConfigurationManagerImplTest {
     public void testGetConfiguration_WithOverride() {
         context.registerService(ConfigurationOverrideProvider.class, new DummyConfigurationOverrideProvider(
                 "[/content]" + CONFIG_NAME + "={\"prop1\":\"override1\"}"));
-        
+
         ConfigurationData configData = underTest.getConfiguration(contextResource, CONFIG_NAME);
         assertNotNull(configData);
         assertFalse(configData.isInherited());
@@ -330,12 +330,12 @@ public class ConfigurationManagerImplTest {
     public void testGetConfiguration_WithOverride_NoExistingConfig() throws PersistenceException {
         context.registerService(ConfigurationOverrideProvider.class, new DummyConfigurationOverrideProvider(
                 "[/content]" + CONFIG_NAME + "={\"prop1\":\"override1\"}"));
-        
+
         // delete all existing config
         ResourceResolver resolver = context.resourceResolver();
         Resource existingConf = resolver.getResource("/conf/test");
         resolver.delete(existingConf);
-        
+
         ConfigurationData configData = underTest.getConfiguration(contextResource, CONFIG_NAME);
         assertNotNull(configData);
         assertFalse(configData.isInherited());
@@ -405,7 +405,7 @@ public class ConfigurationManagerImplTest {
 
         assertFalse(configData1.getValueInfo("prop1").isInherited());
         assertFalse(configData1.getValueInfo("prop3").isInherited());
-        
+
         ConfigurationData configData2 = configDatas.get(1);
         assertFalse(configData2.isInherited());
         assertEquals("2", configData2.getCollectionItemName());
@@ -424,7 +424,7 @@ public class ConfigurationManagerImplTest {
         ConfigurationCollectionData configCollectionData = underTest.getConfigurationCollection(contextResourceLevel2, CONFIG_COL_NAME);
         List<ConfigurationData> configDatas = ImmutableList.copyOf(configCollectionData.getItems());
         assertEquals(2, configDatas.size());
-        
+
         ConfigurationData configData1 = configDatas.get(0);
         assertFalse(configData1.isInherited());
         assertEquals(ImmutableSet.of("prop1", "prop2", "prop3"), configData1.getPropertyNames());
@@ -437,7 +437,7 @@ public class ConfigurationManagerImplTest {
         assertEquals(configPath1, configData1.getValueInfo("prop1").getConfigSourcePath());
         assertFalse(configData1.getValueInfo("prop3").isInherited());
         assertNull(configData1.getValueInfo("prop3").getConfigSourcePath());
-        
+
         ConfigurationData configData2 = configDatas.get(1);
         assertTrue(configData2.isInherited());
         assertEquals(ImmutableSet.of("prop1", "prop2", "prop3", "prop4"), configData2.getPropertyNames());
@@ -449,7 +449,7 @@ public class ConfigurationManagerImplTest {
         assertEquals(configPath2, configData2.getValueInfo("prop4").getConfigSourcePath());
         assertFalse(configData2.getValueInfo("prop3").isInherited());
         assertNull(configData2.getValueInfo("prop3").getConfigSourcePath());
-        
+
         assertTrue((Boolean)configCollectionData.getProperties().get(ConfigurationResourceNameConstants.PROPERTY_CONFIG_COLLECTION_INHERIT));
     }
 
@@ -458,7 +458,7 @@ public class ConfigurationManagerImplTest {
         ConfigurationCollectionData configCollectionData = underTest.getConfigurationCollection(contextResourceLevel3, CONFIG_COL_NAME);
         List<ConfigurationData> configDatas = ImmutableList.copyOf(configCollectionData.getItems());
         assertEquals(2, configDatas.size());
-        
+
         ConfigurationData configData1 = configDatas.get(0);
         assertFalse(configData1.isInherited());
         assertTrue(configData1.getPropertyNames().containsAll(ImmutableSet.of("prop1", "prop2", "prop3", "prop4", "prop5")));
@@ -469,7 +469,7 @@ public class ConfigurationManagerImplTest {
         assertNull(configData1.getValues().get("prop3", Integer.class));
         assertFalse(configData1.getValues().get("prop4", Boolean.class));
         assertEquals("value5_level3", configData1.getValues().get("prop5", String.class));
-        
+
         assertEquals("value1_level2", configData1.getEffectiveValues().get("prop1", String.class));
         assertNull(configData1.getEffectiveValues().get("prop2", String.class));
         assertEquals((Integer)5, configData1.getEffectiveValues().get("prop3", 0));
@@ -488,7 +488,7 @@ public class ConfigurationManagerImplTest {
         assertEquals(configPathLevel3, configData1.getValueInfo("prop4").getConfigSourcePath());
         assertFalse(configData1.getValueInfo("prop5").isInherited());
         assertEquals(configPathLevel3, configData1.getValueInfo("prop5").getConfigSourcePath());
-                
+
         ConfigurationData configData2 = configDatas.get(1);
         assertFalse(configData1.isInherited());
         assertEquals(ImmutableSet.of("prop1", "prop2", "prop3", "prop4"), configData2.getPropertyNames());
@@ -509,7 +509,7 @@ public class ConfigurationManagerImplTest {
     public void testGetConfigurationCollection_WithOverride() {
         context.registerService(ConfigurationOverrideProvider.class, new DummyConfigurationOverrideProvider(
                 "[/content]" + CONFIG_COL_NAME + "/prop1=\"override1\""));
-        
+
         List<ConfigurationData> configDatas = ImmutableList.copyOf(underTest.getConfigurationCollection(contextResource, CONFIG_COL_NAME).getItems());
         assertEquals(2, configDatas.size());
 
@@ -525,7 +525,7 @@ public class ConfigurationManagerImplTest {
         assertTrue(configData1.getValueInfo("prop1").isOverridden());
         assertFalse(configData1.getValueInfo("prop3").isInherited());
         assertFalse(configData1.getValueInfo("prop3").isOverridden());
-        
+
         ConfigurationData configData2 = configDatas.get(1);
         assertFalse(configData2.isInherited());
         assertFalse(configData2.isOverridden());
@@ -549,10 +549,10 @@ public class ConfigurationManagerImplTest {
     @Test
     public void testGetConfigurationCollection_NoConfigMetadata() {
         when(configurationMetadataProvider.getConfigurationMetadata(CONFIG_COL_NAME)).thenReturn(null);
-        
+
         List<ConfigurationData> configDatas = ImmutableList.copyOf(underTest.getConfigurationCollection(contextResource, CONFIG_COL_NAME).getItems());
         assertEquals(2, configDatas.size());
-        
+
         ConfigurationData configData1 = configDatas.get(0);
         assertFalse(configData1.isInherited());
         assertEquals(ImmutableSet.of("prop1"), configData1.getPropertyNames());
@@ -607,8 +607,8 @@ public class ConfigurationManagerImplTest {
 
         String configPath1 = getConfigCollectionItemPersistPath(getConfigCollectionParentPersistPath("/conf/testNoConfig/sling:configs/" + CONFIG_COL_NAME) + "/1");
         ValueMap props1 = context.resourceResolver().getResource(configPath1).getValueMap();
-        assertEquals((Integer)5, props1.get("prop2"));
-        
+        assertEquals(5, props1.get("prop2"));
+
         ConfigurationCollectionData colData = underTest.getConfigurationCollection(contextResourceNoConfig, CONFIG_COL_NAME);
         assertEquals(true, colData.getProperties().get("sling:configCollectionInherit"));
     }
@@ -649,16 +649,16 @@ public class ConfigurationManagerImplTest {
         assertEquals("value1", configData.getEffectiveValues().get("prop1", String.class));
         assertTrue(configData.getValues().get("prop4", false));
         assertTrue(configData.getEffectiveValues().get("prop4", false));
-        
+
         assertEquals(ConfigurationMetadata.class, configData.getValueInfo("propSub").getPropertyMetadata().getType());
         assertEquals(ConfigurationMetadata[].class, configData.getValueInfo("propSubList").getPropertyMetadata().getType());
-        
+
         // propSub
         ConfigurationData subData = configData.getValues().get("propSub", ConfigurationData.class);
         ConfigurationData subDataEffective = configData.getEffectiveValues().get("propSub", ConfigurationData.class);
         assertNotNull(subData);
         assertNotNull(subDataEffective);
-        
+
         assertTrue(ConfigurationData.class.isAssignableFrom(configData.getValueInfo("propSub").getValue().getClass()));
         assertTrue(ConfigurationData.class.isAssignableFrom(configData.getValueInfo("propSub").getEffectiveValue().getClass()));
         assertTrue(ConfigurationData[].class.isAssignableFrom(configData.getValueInfo("propSubList").getValue().getClass()));
@@ -668,13 +668,13 @@ public class ConfigurationManagerImplTest {
         assertEquals("propSubValue1", subData.getEffectiveValues().get("prop1", String.class));
         assertFalse(subData.getValues().get("prop4", false));
         assertTrue(subData.getEffectiveValues().get("prop4", false));
-        
+
         // propSub/propSubLevel2
         ConfigurationData subDataLevel2 = subData.getValues().get("propSubLevel2", ConfigurationData.class);
         ConfigurationData subDataLevel2Effective = subData.getEffectiveValues().get("propSubLevel2", ConfigurationData.class);
         assertNotNull(subDataLevel2);
         assertNotNull(subDataLevel2Effective);
-        
+
         assertTrue(ConfigurationData.class.isAssignableFrom(subData.getValueInfo("propSubLevel2").getValue().getClass()));
         assertTrue(ConfigurationData.class.isAssignableFrom(subData.getValueInfo("propSubLevel2").getEffectiveValue().getClass()));
 
@@ -682,22 +682,22 @@ public class ConfigurationManagerImplTest {
         assertEquals("propSubLevel2Value1", subDataLevel2.getEffectiveValues().get("prop1", String.class));
         assertFalse(subDataLevel2.getValues().get("prop4", false));
         assertTrue(subDataLevel2.getEffectiveValues().get("prop4", false));
-        
+
         // propSubList
         ConfigurationData[] subListData = configData.getValues().get("propSubList", ConfigurationData[].class);
         ConfigurationData[] subListDataEffective = configData.getEffectiveValues().get("propSubList", ConfigurationData[].class);
         assertNotNull(subListData);
         assertNotNull(subListDataEffective);
-        
+
         assertTrue(ConfigurationData[].class.isAssignableFrom(configData.getValueInfo("propSubList").getValue().getClass()));
         assertTrue(ConfigurationData[].class.isAssignableFrom(configData.getValueInfo("propSubList").getEffectiveValue().getClass()));
-        
+
         assertEquals(2, subListData.length);
         assertEquals("propSubListValue1.1", subListData[0].getValues().get("prop1", String.class));
         assertEquals("propSubListValue1.1", subListData[0].getEffectiveValues().get("prop1", String.class));
         assertEquals("propSubListValue1.2", subListData[1].getValues().get("prop1", String.class));
         assertEquals("propSubListValue1.2", subListData[1].getEffectiveValues().get("prop1", String.class));
-        
+
         ConfigurationData subListDataItem1Sub = subListData[0].getValues().get("propSub", ConfigurationData.class);
         ConfigurationData subListDataItem1SubEffecive = subListData[0].getEffectiveValues().get("propSub", ConfigurationData.class);
         assertNotNull(subListDataItem1Sub);
@@ -717,15 +717,15 @@ public class ConfigurationManagerImplTest {
         assertEquals(ImmutableSet.of("prop1", "propSub", "propSubList"), configData.getPropertyNames());
         assertNull(configData.getValues().get("prop1", String.class));
         assertEquals("defValue", configData.getEffectiveValues().get("prop1", String.class));
-        
+
         assertEquals(ConfigurationMetadata.class, configData.getValueInfo("propSub").getPropertyMetadata().getType());
         assertEquals(ConfigurationMetadata[].class, configData.getValueInfo("propSubList").getPropertyMetadata().getType());
-        
+
         ConfigurationData subData = configData.getValues().get("propSub", ConfigurationData.class);
         ConfigurationData subDataEffective = configData.getEffectiveValues().get("propSub", ConfigurationData.class);
         assertNotNull(subData);
         assertNotNull(subDataEffective);
-        
+
         assertTrue(ConfigurationData.class.isAssignableFrom(configData.getValueInfo("propSub").getValue().getClass()));
         assertTrue(ConfigurationData.class.isAssignableFrom(configData.getValueInfo("propSub").getEffectiveValue().getClass()));
         assertTrue(ConfigurationData[].class.isAssignableFrom(configData.getValueInfo("propSubList").getValue().getClass()));
@@ -733,15 +733,15 @@ public class ConfigurationManagerImplTest {
 
         assertNull(subData.getValues().get("prop1", String.class));
         assertEquals("defValue", subData.getEffectiveValues().get("prop1", String.class));
-        
+
         ConfigurationData[] subListData = configData.getValues().get("propSubList", ConfigurationData[].class);
         ConfigurationData[] subListDataEffective = configData.getEffectiveValues().get("propSubList", ConfigurationData[].class);
         assertNotNull(subListData);
         assertNotNull(subListDataEffective);
-        
+
         assertTrue(ConfigurationData[].class.isAssignableFrom(configData.getValueInfo("propSubList").getValue().getClass()));
         assertTrue(ConfigurationData[].class.isAssignableFrom(configData.getValueInfo("propSubList").getEffectiveValue().getClass()));
-        
+
         assertEquals(0, subListData.length);
     }
 
@@ -763,14 +763,14 @@ public class ConfigurationManagerImplTest {
         assertNotNull(configMetadata);
         assertEquals(CONFIG_NESTED_NAME, configMetadata.getName());
     }
-    
+
     @Test
     public void testGetConfigurationMetadata_Nested_Sub() {
         ConfigurationMetadata configMetadataSub = underTest.getConfigurationMetadata(getConfigResolvePath(CONFIG_NESTED_NAME) + "/propSub");
         assertNotNull(configMetadataSub);
         assertEquals("propSub", configMetadataSub.getName());
     }
-    
+
     @Test
     public void testGetConfigurationMetadata_Nested_SubLevel2() {
         ConfigurationMetadata configMetadataSubLevel2 = underTest.getConfigurationMetadata(getConfigResolvePath(getConfigResolvePath(CONFIG_NESTED_NAME)
@@ -778,14 +778,14 @@ public class ConfigurationManagerImplTest {
         assertNotNull(configMetadataSubLevel2);
         assertEquals("propSubLevel2", configMetadataSubLevel2.getName());
     }
-    
+
     @Test
     public void testGetConfigurationMetadata_Nested_SubList() {
         ConfigurationMetadata configMetadataSubList = underTest.getConfigurationMetadata(getConfigResolvePath(CONFIG_NESTED_NAME) + "/propSubList");
         assertNotNull(configMetadataSubList);
         assertEquals("propSubList", configMetadataSubList.getName());
     }
-    
+
     @Test
     public void testGetConfigurationMetadata_Nested_SubList_Sub() throws Exception {
         // delete resource already existing in test fixture to test with non-existing resource but existing collection item as parent
@@ -798,7 +798,7 @@ public class ConfigurationManagerImplTest {
         assertNotNull(subListDataItem1Sub);
         assertEquals("propSub", subListDataItem1Sub.getName());
     }
-    
+
     @Test
     public void testGetConfigurationMetadata_Nested_SubList_SubLevel2() throws Exception {
         // delete resource already existing in test fixture to test with non-existing resource but existing collection item as parent
@@ -811,12 +811,12 @@ public class ConfigurationManagerImplTest {
         assertNotNull(subListDataItem1SubLevel2);
         assertEquals("propSubLevel2", subListDataItem1SubLevel2.getName());
     }
-    
+
     @Test
     public void testNewCollectionItem_Nested_SubList() {
         ConfigurationData configData = underTest.newCollectionItem(contextResource, getConfigResolvePath(CONFIG_NESTED_NAME) + "/propSubList");
         assertEquals(getConfigResolvePath(CONFIG_NESTED_NAME) + "/propSubList", configData.getConfigName());
-        
+
         assertNull(configData.getValues().get("prop1", String.class));
         assertEquals("defValueSubList", configData.getEffectiveValues().get("prop1", String.class));
     }
@@ -827,7 +827,7 @@ public class ConfigurationManagerImplTest {
         assertEquals(getConfigResolvePath("/a/b/c"), underTest.getPersistenceResourcePath("/a/b/c"));
         assertEquals(getConfigResolvePath("a/b"), underTest.getPersistenceResourcePath("a/b"));
     }
-        
+
     @Test
     public void testPersistConfiguration_Nested() throws Exception {
         underTest.persistConfiguration(contextResourceLevel2, getConfigResolvePath(getConfigResolvePath(CONFIG_NESTED_NAME)
@@ -857,7 +857,7 @@ public class ConfigurationManagerImplTest {
 
         ConfigurationData configData = underTest.getConfiguration(contextResourceLevel2, CONFIG_NESTED_NAME);
         ConfigurationData[] subListData = configData.getValues().get("propSubList", ConfigurationData[].class);
-        
+
         assertEquals(3, subListData.length);
         assertEquals("value1_persist", subListData[0].getValues().get("prop1", String.class));
         assertEquals("value2_persist", subListData[1].getValues().get("prop1", String.class));
@@ -867,7 +867,7 @@ public class ConfigurationManagerImplTest {
     @Test
     public void testDeleteConfiguration() throws Exception {
         underTest.deleteConfiguration(contextResource, CONFIG_NAME);
-        
+
         ConfigurationData configData = underTest.getConfiguration(contextResource, CONFIG_NAME);
         assertEquals(ImmutableSet.of("prop1", "prop2", "prop3"), configData.getPropertyNames());
 
@@ -882,7 +882,7 @@ public class ConfigurationManagerImplTest {
     @Test
     public void testDeleteConfigurationCollection() throws Exception {
         underTest.deleteConfiguration(contextResource, CONFIG_COL_NAME);
-        
+
         ConfigurationCollectionData configCollectionData = underTest.getConfigurationCollection(contextResource, CONFIG_COL_NAME);
         List<ConfigurationData> configDatas = ImmutableList.copyOf(configCollectionData.getItems());
         assertEquals(0, configDatas.size());
diff --git a/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationPersistenceStrategyMultiplexerImplTest.java b/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationPersistenceStrategyMultiplexerImplTest.java
index 1370f78..dddec63 100644
--- a/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationPersistenceStrategyMultiplexerImplTest.java
+++ b/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationPersistenceStrategyMultiplexerImplTest.java
@@ -26,12 +26,14 @@ import static org.junit.Assert.assertTrue;
 
 import org.apache.sling.api.resource.Resource;
 import org.apache.sling.api.resource.ResourceResolver;
-import org.apache.sling.caconfig.impl.ConfigurationPersistenceStrategyBridge;
 import org.apache.sling.caconfig.impl.def.DefaultConfigurationPersistenceStrategy;
 import org.apache.sling.caconfig.management.multiplexer.ConfigurationPersistenceStrategyMultiplexer;
 import org.apache.sling.caconfig.spi.ConfigurationCollectionPersistData;
 import org.apache.sling.caconfig.spi.ConfigurationPersistData;
+import org.apache.sling.caconfig.spi.ConfigurationPersistenceStrategy;
 import org.apache.sling.caconfig.spi.ConfigurationPersistenceStrategy2;
+import org.apache.sling.testing.mock.osgi.MapUtil;
+import org.apache.sling.testing.mock.osgi.MockOsgi;
 import org.apache.sling.testing.mock.sling.junit.SlingContext;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
@@ -46,21 +48,24 @@ public class ConfigurationPersistenceStrategyMultiplexerImplTest {
 
     @Rule
     public SlingContext context = new SlingContext();
-    
+
     private ConfigurationPersistenceStrategyMultiplexer underTest;
-    
+    private ConfigurationPersistenceStrategyBridge bridge;
+
     private Resource resource1;
     private Resource resource2;
-    
+
     @Before
     public void setUp() {
-        context.registerInjectActivateService(new ConfigurationManagementSettingsImpl());
-        underTest = context.registerInjectActivateService(new ConfigurationPersistenceStrategyMultiplexerImpl());
-        context.registerInjectActivateService(new ConfigurationPersistenceStrategyBridge());
+        context.registerInjectActivateService(ConfigurationManagementSettingsImpl.class);
+        underTest = context.registerInjectActivateService(ConfigurationPersistenceStrategyMultiplexerImpl.class);
+
+        bridge = MockOsgi.activateInjectServices(ConfigurationPersistenceStrategyBridge.class, context.bundleContext());
+
         resource1 = context.create().resource("/conf/test1");
         resource2 = context.create().resource("/conf/test2");
     }
-    
+
     @Test
     public void testWithNoStrategies() {
         assertNull(underTest.getResource(resource1));
@@ -86,13 +91,13 @@ public class ConfigurationPersistenceStrategyMultiplexerImplTest {
                         new ConfigurationPersistData(resource2.getValueMap()).collectionItemName(resource2.getName())))));
         assertTrue(underTest.deleteConfiguration(context.resourceResolver(), "/conf/test1"));
     }
-    
-    @SuppressWarnings("deprecation")
+
     @Test
+    @SuppressWarnings({ "deprecation", "null" })
     public void testMultipleStrategies() {
-        
-        // strategy 1 (using old ConfigurationPersistenceStrategy with bridge to  ConfigurationPersistenceStrategy2)
-        context.registerService(org.apache.sling.caconfig.spi.ConfigurationPersistenceStrategy.class,
+
+        // strategy 1 (using old ConfigurationPersistenceStrategy with bridge to ConfigurationPersistenceStrategy2)
+        ConfigurationPersistenceStrategy oldStrategy = context.registerService(org.apache.sling.caconfig.spi.ConfigurationPersistenceStrategy.class,
                 new org.apache.sling.caconfig.spi.ConfigurationPersistenceStrategy() {
             @Override
             public Resource getResource(@NotNull Resource resource) {
@@ -117,7 +122,10 @@ public class ConfigurationPersistenceStrategyMultiplexerImplTest {
                 return false;
             }
         }, Constants.SERVICE_RANKING, 2000);
-        
+
+        // bind manually as mock-osgi currently does not support tracking references to OSGi components which are not OSGi services
+        bridge.bindConfigurationPersistenceStrategy(oldStrategy, MapUtil.toMap(Constants.SERVICE_RANKING, 2000));
+
         // strategy 2
         context.registerService(ConfigurationPersistenceStrategy2.class, new ConfigurationPersistenceStrategy2() {
             @Override
@@ -171,10 +179,10 @@ public class ConfigurationPersistenceStrategyMultiplexerImplTest {
                 return true;
             }
         }, Constants.SERVICE_RANKING, 1000);
-        
-        assertSame(resource2, underTest.getResource(resource1));
-        assertSame(resource1, underTest.getCollectionParentResource(resource1));
-        assertSame(resource2, underTest.getCollectionItemResource(resource1));
+
+        assertEquals(resource2.getPath(), underTest.getResource(resource1).getPath());
+        assertEquals(resource1.getPath(), underTest.getCollectionParentResource(resource1).getPath());
+        assertEquals(resource2.getPath(), underTest.getCollectionItemResource(resource1).getPath());
         assertEquals(resource2.getPath(), underTest.getResourcePath(resource1.getPath()));
         assertEquals(resource1.getPath(), underTest.getCollectionParentResourcePath(resource1.getPath()));
         assertEquals(resource2.getPath(), underTest.getCollectionItemResourcePath(resource1.getPath()));
diff --git a/src/test/java/org/apache/sling/caconfig/management/impl/ContextPathStrategyMultiplexerImplTest.java b/src/test/java/org/apache/sling/caconfig/management/impl/ContextPathStrategyMultiplexerImplTest.java
index 7a33a3d..d1510ce 100644
--- a/src/test/java/org/apache/sling/caconfig/management/impl/ContextPathStrategyMultiplexerImplTest.java
+++ b/src/test/java/org/apache/sling/caconfig/management/impl/ContextPathStrategyMultiplexerImplTest.java
@@ -21,8 +21,8 @@ package org.apache.sling.caconfig.management.impl;
 import static org.apache.sling.caconfig.resource.impl.def.ConfigurationResourceNameConstants.PROPERTY_CONFIG_REF;
 import static org.apache.sling.caconfig.resource.impl.util.ContextResourceTestUtil.toContextResourceIterator;
 import static org.apache.sling.caconfig.resource.impl.util.ContextResourceTestUtil.toResourceIterator;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertThat;
 
 import java.util.ArrayList;
 import java.util.Iterator;
@@ -43,9 +43,9 @@ public class ContextPathStrategyMultiplexerImplTest {
 
     @Rule
     public SlingContext context = new SlingContext();
-    
+
     private ContextPathStrategyMultiplexerImpl underTest;
-    
+
     private Resource site1Page1;
     private Resource site2Page1;
 
@@ -62,7 +62,7 @@ public class ContextPathStrategyMultiplexerImplTest {
         site1Page1 = context.create().resource("/content/tenant1/region1/site1/page1");
         site2Page1 = context.create().resource("/content/tenant1/region1/site2/page1");
     }
-    
+
     @Test
     public void testWithNoStrategies() {
         assertFalse(underTest.findContextResources(site1Page1).hasNext());
@@ -72,39 +72,39 @@ public class ContextPathStrategyMultiplexerImplTest {
     public void testWithDefaultStrategy() {
         context.registerInjectActivateService(new DefaultContextPathStrategy());
 
-        assertThat(toResourceIterator(underTest.findContextResources(site1Page1)), ResourceIteratorMatchers.paths( 
+        assertThat(toResourceIterator(underTest.findContextResources(site1Page1)), ResourceIteratorMatchers.paths(
                 "/content/tenant1/region1/site1",
                 "/content/tenant1/region1",
                 "/content/tenant1"));
 
-        assertThat(toResourceIterator(underTest.findContextResources(site2Page1)), ResourceIteratorMatchers.paths( 
+        assertThat(toResourceIterator(underTest.findContextResources(site2Page1)), ResourceIteratorMatchers.paths(
                 "/content/tenant1/region1/site2",
                 "/content/tenant1/region1",
                 "/content/tenant1"));
     }
-    
+
     @Test
     public void testWithNonoverlappingStrategies() {
         registerContextPathStrategy("/content/tenant1");
         registerContextPathStrategy("/content/tenant1/region1/site1", "/content/tenant1/region1");
-        
+
         assertThat(toResourceIterator(underTest.findContextResources(site1Page1)), ResourceIteratorMatchers.paths(
                 "/content/tenant1/region1/site1",
                 "/content/tenant1/region1",
                 "/content/tenant1"));
     }
-    
+
     @Test
     public void testWithOverlappingStrategies() {
         registerContextPathStrategy("/content/tenant1", "/content/tenant1/region1");
         registerContextPathStrategy("/content/tenant1/region1/site1", "/content/tenant1/region1");
-        
-        assertThat(toResourceIterator(underTest.findContextResources(site1Page1)), ResourceIteratorMatchers.paths( 
+
+        assertThat(toResourceIterator(underTest.findContextResources(site1Page1)), ResourceIteratorMatchers.paths(
                 "/content/tenant1/region1/site1",
                 "/content/tenant1/region1",
                 "/content/tenant1"));
     }
-    
+
     private void registerContextPathStrategy(String... paths) {
         final List<Resource> resources = new ArrayList<>();
         for (String path : paths) {
diff --git a/src/test/java/org/apache/sling/caconfig/management/impl/console/CAConfigInventoryPrinterTest.java b/src/test/java/org/apache/sling/caconfig/management/impl/console/CAConfigInventoryPrinterTest.java
index c3ee828..8acf9e4 100644
--- a/src/test/java/org/apache/sling/caconfig/management/impl/console/CAConfigInventoryPrinterTest.java
+++ b/src/test/java/org/apache/sling/caconfig/management/impl/console/CAConfigInventoryPrinterTest.java
@@ -39,34 +39,34 @@ import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSortedSet;
 
 @RunWith(MockitoJUnitRunner.class)
 public class CAConfigInventoryPrinterTest {
-    
+
     private static final String SAMPLE_CONFIG_NAME = "sample.config.Name";
     private static final String SAMPLE_OVERRIDE_STRING = "[/sample]override/string='abc'";
-    
+
     @Rule
     public SlingContext context = new SlingContext();
-    
+
     @Mock
     private ConfigurationMetadataProvider configurationMetadataProvider;
     @Mock
     private ConfigurationOverrideProvider configurationOverrideProvider;
-    
+
     private CAConfigInventoryPrinter underTest;
-    
+
     @Before
     public void setUp() {
         context.registerService(ConfigurationMetadataProvider.class, configurationMetadataProvider);
         context.registerService(ConfigurationOverrideProvider.class, configurationOverrideProvider);
         ConfigurationTestUtils.registerConfigurationResolver(context);
         underTest = context.registerInjectActivateService(new CAConfigInventoryPrinter());
-    
+
         ConfigurationMetadata configMetadata = new ConfigurationMetadata(SAMPLE_CONFIG_NAME, ImmutableList.<PropertyMetadata<?>>of(
                 new PropertyMetadata<>("prop1", "defValue"),
                 new PropertyMetadata<>("prop2", String.class),
@@ -74,7 +74,7 @@ public class CAConfigInventoryPrinterTest {
                 false);
         when(configurationMetadataProvider.getConfigurationMetadata(SAMPLE_CONFIG_NAME)).thenReturn(configMetadata);
         when(configurationMetadataProvider.getConfigurationNames()).thenReturn(ImmutableSortedSet.of(SAMPLE_CONFIG_NAME));
-        
+
         when(configurationOverrideProvider.getOverrideStrings()).thenReturn(ImmutableList.of(SAMPLE_OVERRIDE_STRING));
     }
 
@@ -83,14 +83,14 @@ public class CAConfigInventoryPrinterTest {
         StringWriter sw = new StringWriter();
         underTest.print(new PrintWriter(sw), Format.TEXT, false);
         String result = sw.toString();
-        
+
         // test existance of some strategy names
         assertTrue(StringUtils.contains(result, DefaultConfigurationInheritanceStrategy.class.getName()));
         assertTrue(StringUtils.contains(result, DefaultConfigurationPersistenceStrategy.class.getName()));
-        
+
         // ensure config metadata
         assertTrue(StringUtils.contains(result, SAMPLE_CONFIG_NAME));
-        
+
         // ensure overrides strings
         assertTrue(StringUtils.contains(result, SAMPLE_OVERRIDE_STRING));
     }
diff --git a/src/test/java/org/apache/sling/caconfig/resource/impl/ConfigurationResourceResolverImplTest.java b/src/test/java/org/apache/sling/caconfig/resource/impl/ConfigurationResourceResolverImplTest.java
index c723cc0..02c52b9 100644
--- a/src/test/java/org/apache/sling/caconfig/resource/impl/ConfigurationResourceResolverImplTest.java
+++ b/src/test/java/org/apache/sling/caconfig/resource/impl/ConfigurationResourceResolverImplTest.java
@@ -20,8 +20,8 @@ package org.apache.sling.caconfig.resource.impl;
 
 import static org.apache.sling.caconfig.resource.impl.def.ConfigurationResourceNameConstants.PROPERTY_CONFIG_COLLECTION_INHERIT;
 import static org.apache.sling.caconfig.resource.impl.def.ConfigurationResourceNameConstants.PROPERTY_CONFIG_REF;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertThat;
 
 import org.apache.sling.api.resource.Resource;
 import org.apache.sling.caconfig.resource.ConfigurationResourceResolver;
@@ -35,7 +35,7 @@ import com.google.common.collect.ImmutableList;
 
 @SuppressWarnings("null")
 public class ConfigurationResourceResolverImplTest {
-    
+
     private static final String BUCKET = "sling:test";
 
     @Rule
@@ -56,7 +56,7 @@ public class ConfigurationResourceResolverImplTest {
             .resource("/content/site2", PROPERTY_CONFIG_REF, "/conf/site2");
         site1Page1 = context.create().resource("/content/site1/page1");
         site2Page1 = context.create().resource("/content/site2/page1");
-        
+
         // configuration
         context.build()
             .resource("/conf/site1/sling:test/test")
@@ -81,12 +81,12 @@ public class ConfigurationResourceResolverImplTest {
 
     @Test
     public void testGetResourceCollection() {
-        assertThat(underTest.getResourceCollection(site1Page1, BUCKET, "feature"), ResourceCollectionMatchers.paths( 
+        assertThat(underTest.getResourceCollection(site1Page1, BUCKET, "feature"), ResourceCollectionMatchers.paths(
                 "/conf/site1/sling:test/feature/c",
-                "/apps/conf/sling:test/feature/a", 
+                "/apps/conf/sling:test/feature/a",
                 "/libs/conf/sling:test/feature/b"));
-        
-        assertThat(underTest.getResourceCollection(site2Page1, BUCKET, "feature"), ResourceCollectionMatchers.paths( 
+
+        assertThat(underTest.getResourceCollection(site2Page1, BUCKET, "feature"), ResourceCollectionMatchers.paths(
                 "/conf/site2/sling:test/feature/c",
                 "/conf/site2/sling:test/feature/d",
                 "/apps/conf/sling:test/feature/a",
@@ -104,5 +104,5 @@ public class ConfigurationResourceResolverImplTest {
         assertEquals(ImmutableList.of("/content/site1"), underTest.getAllContextPaths(site1Page1));
         assertEquals(ImmutableList.of("/content/site2"), underTest.getAllContextPaths(site2Page1));
     }
-    
+
 }
diff --git a/src/test/java/org/apache/sling/caconfig/resource/impl/ConfigurationResourceResolvingStrategyMultiplexerImplTest.java b/src/test/java/org/apache/sling/caconfig/resource/impl/ConfigurationResourceResolvingStrategyMultiplexerImplTest.java
index c3e4998..7b7ebf2 100644
--- a/src/test/java/org/apache/sling/caconfig/resource/impl/ConfigurationResourceResolvingStrategyMultiplexerImplTest.java
+++ b/src/test/java/org/apache/sling/caconfig/resource/impl/ConfigurationResourceResolvingStrategyMultiplexerImplTest.java
@@ -20,9 +20,9 @@ package org.apache.sling.caconfig.resource.impl;
 
 import static org.apache.sling.caconfig.resource.impl.def.ConfigurationResourceNameConstants.PROPERTY_CONFIG_COLLECTION_INHERIT;
 import static org.apache.sling.caconfig.resource.impl.def.ConfigurationResourceNameConstants.PROPERTY_CONFIG_REF;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertThat;
 
 import java.util.Collection;
 import java.util.Collections;
@@ -53,12 +53,12 @@ public class ConfigurationResourceResolvingStrategyMultiplexerImplTest {
 
     private static final String BUCKET = "sling:test";
     private static final Collection<String> BUCKETS = Collections.singleton(BUCKET);
-    
+
     @Rule
     public SlingContext context = new SlingContext();
-    
+
     private ConfigurationResourceResolvingStrategyMultiplexerImpl underTest;
-    
+
     private Resource site1Page1;
 
     @Before
@@ -72,7 +72,7 @@ public class ConfigurationResourceResolvingStrategyMultiplexerImplTest {
             .resource("/content/site1", PROPERTY_CONFIG_REF, "/conf/site1")
             .resource("/content/site2", PROPERTY_CONFIG_REF, "/conf/site2");
         site1Page1 = context.create().resource("/content/site1/page1");
-        
+
         // configuration
         context.build()
             .resource("/conf/site1/sling:test/test")
@@ -88,7 +88,7 @@ public class ConfigurationResourceResolvingStrategyMultiplexerImplTest {
             .resource("/libs/conf/sling:test/feature")
                 .resource("b");
     }
-    
+
     @Test
     public void testWithNoStrategies() {
         assertNull(underTest.getResource(site1Page1, BUCKETS, "test"));
@@ -106,24 +106,24 @@ public class ConfigurationResourceResolvingStrategyMultiplexerImplTest {
         context.registerInjectActivateService(new DefaultConfigurationResourceResolvingStrategy());
 
         assertThat(underTest.getResource(site1Page1, BUCKETS, "test"), ResourceMatchers.path("/conf/site1/sling:test/test"));
-        assertThat(underTest.getResourceCollection(site1Page1, BUCKETS, "feature"), ResourceCollectionMatchers.paths( 
+        assertThat(underTest.getResourceCollection(site1Page1, BUCKETS, "feature"), ResourceCollectionMatchers.paths(
                 "/conf/site1/sling:test/feature/c",
-                "/apps/conf/sling:test/feature/a", 
+                "/apps/conf/sling:test/feature/a",
                 "/libs/conf/sling:test/feature/b"));
 
         assertThat(first(underTest.getResourceInheritanceChain(site1Page1, BUCKETS, "test")), ResourceMatchers.path("/conf/site1/sling:test/test"));
-        assertThat(first(underTest.getResourceCollectionInheritanceChain(site1Page1, BUCKETS, "feature")), ResourceCollectionMatchers.paths( 
+        assertThat(first(underTest.getResourceCollectionInheritanceChain(site1Page1, BUCKETS, "feature")), ResourceCollectionMatchers.paths(
                 "/conf/site1/sling:test/feature/c",
-                "/apps/conf/sling:test/feature/a", 
+                "/apps/conf/sling:test/feature/a",
                 "/libs/conf/sling:test/feature/b"));
 
         assertEquals("/conf/site1/sling:test/test", underTest.getResourcePath(site1Page1, BUCKET, "test"));
         assertEquals("/conf/site1/sling:test/feature", underTest.getResourceCollectionParentPath(site1Page1, BUCKET, "feature"));
     }
-    
+
     @Test
     public void testMultipleStrategies() {
-        
+
         // strategy 1
         context.registerService(ConfigurationResourceResolvingStrategy.class, new ConfigurationResourceResolvingStrategy() {
             @Override
@@ -157,7 +157,7 @@ public class ConfigurationResourceResolvingStrategyMultiplexerImplTest {
                 return "/conf/site1/sling:test/feature";
             }
         }, Constants.SERVICE_RANKING, 2000);
-        
+
         // strategy 2
         context.registerService(ConfigurationResourceResolvingStrategy.class, new ConfigurationResourceResolvingStrategy() {
             @Override
@@ -191,15 +191,15 @@ public class ConfigurationResourceResolvingStrategyMultiplexerImplTest {
                 return null;
             }
         }, Constants.SERVICE_RANKING, 1000);
-        
+
         assertThat(underTest.getResource(site1Page1, BUCKETS, "test"), ResourceMatchers.path("/conf/site1/sling:test/test"));
-        assertThat(underTest.getResourceCollection(site1Page1, BUCKETS, "feature"), ResourceCollectionMatchers.paths( 
+        assertThat(underTest.getResourceCollection(site1Page1, BUCKETS, "feature"), ResourceCollectionMatchers.paths(
                 "/conf/site1/sling:test/feature/c"));
-        
+
         assertThat(first(underTest.getResourceInheritanceChain(site1Page1, BUCKETS, "test")), ResourceMatchers.path("/conf/site1/sling:test/test"));
-        assertThat(first(underTest.getResourceCollectionInheritanceChain(site1Page1, BUCKETS, "feature")), ResourceCollectionMatchers.paths( 
+        assertThat(first(underTest.getResourceCollectionInheritanceChain(site1Page1, BUCKETS, "feature")), ResourceCollectionMatchers.paths(
                 "/conf/site1/sling:test/feature/c"));
-        
+
         assertEquals("/conf/site1/sling:test/test", underTest.getResourcePath(site1Page1, BUCKET, "test"));
         assertEquals("/conf/site1/sling:test/feature", underTest.getResourceCollectionParentPath(site1Page1, BUCKET, "feature"));
     }
@@ -212,7 +212,7 @@ public class ConfigurationResourceResolvingStrategyMultiplexerImplTest {
             return null;
         }
     }
-    
+
     private Collection<Resource> first(Collection<Iterator<Resource>> resources) {
         return Collections2.transform(underTest.getResourceCollectionInheritanceChain(site1Page1, BUCKETS, "feature"),
                 new Function<Iterator<Resource>, Resource>() {
@@ -222,5 +222,5 @@ public class ConfigurationResourceResolvingStrategyMultiplexerImplTest {
                 }
             });
     }
-    
+
 }
diff --git a/src/test/java/org/apache/sling/caconfig/resource/impl/def/DefaultConfigurationResourceResolvingStrategyHierarchyTest.java b/src/test/java/org/apache/sling/caconfig/resource/impl/def/DefaultConfigurationResourceResolvingStrategyHierarchyTest.java
index 5fb28b4..2408658 100644
--- a/src/test/java/org/apache/sling/caconfig/resource/impl/def/DefaultConfigurationResourceResolvingStrategyHierarchyTest.java
+++ b/src/test/java/org/apache/sling/caconfig/resource/impl/def/DefaultConfigurationResourceResolvingStrategyHierarchyTest.java
@@ -20,9 +20,9 @@ package org.apache.sling.caconfig.resource.impl.def;
 
 import static org.apache.sling.caconfig.resource.impl.def.ConfigurationResourceNameConstants.PROPERTY_CONFIG_COLLECTION_INHERIT;
 import static org.apache.sling.caconfig.resource.impl.def.ConfigurationResourceNameConstants.PROPERTY_CONFIG_REF;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertThat;
 
 import java.util.Collection;
 import java.util.Collections;
@@ -46,7 +46,7 @@ import com.google.common.collect.ImmutableList;
  */
 @SuppressWarnings("null")
 public class DefaultConfigurationResourceResolvingStrategyHierarchyTest {
-    
+
     private static final String BUCKET = "sling:test";
     private static final Collection<String> BUCKETS = Collections.singleton(BUCKET);
     private static final String PROPERTY_CONFIG_COLLECTION_INHERIT_CUSTOM = "custom:configCollectionInherit";
@@ -118,7 +118,7 @@ public class DefaultConfigurationResourceResolvingStrategyHierarchyTest {
             .resource("/conf/global/sling:test/test")
             .resource("/apps/conf/sling:test/test")
             .resource("/libs/conf/sling:test/test");
-        
+
         assertThat(underTest.getResourceInheritanceChain(site1Page1, BUCKETS, "test"), ResourceIteratorMatchers.paths(
                 "/conf/brand1/tenant1/region1/site1/sling:test/test",
                 "/conf/brand1/tenant1/sling:test/test",
@@ -147,21 +147,21 @@ public class DefaultConfigurationResourceResolvingStrategyHierarchyTest {
 
         assertThat(underTest.getResourceCollection(site1Page1, BUCKETS, "cfgCol"), ResourceCollectionMatchers.paths(
                 "/conf/brand1/tenant1/region1/site1/sling:test/cfgCol/site1",
-                "/conf/brand1/tenant1/region1/sling:test/cfgCol/region1", 
-                "/conf/brand1/tenant1/sling:test/cfgCol/tenant1", 
-                "/conf/brand1/sling:test/cfgCol/brand1", 
-                "/conf/global/sling:test/cfgCol/confGlobal", 
-                "/apps/conf/sling:test/cfgCol/appsGlobal", 
-                "/libs/conf/sling:test/cfgCol/libsGlobal1", 
+                "/conf/brand1/tenant1/region1/sling:test/cfgCol/region1",
+                "/conf/brand1/tenant1/sling:test/cfgCol/tenant1",
+                "/conf/brand1/sling:test/cfgCol/brand1",
+                "/conf/global/sling:test/cfgCol/confGlobal",
+                "/apps/conf/sling:test/cfgCol/appsGlobal",
+                "/libs/conf/sling:test/cfgCol/libsGlobal1",
                 "/libs/conf/sling:test/cfgCol/libsGlobal2"));
 
-        assertThat(underTest.getResourceCollection(site2Page1, BUCKETS, "cfgCol"), ResourceCollectionMatchers.paths( 
-                "/conf/brand1/tenant1/region1/sling:test/cfgCol/region1", 
-                "/conf/brand1/tenant1/sling:test/cfgCol/tenant1", 
-                "/conf/brand1/sling:test/cfgCol/brand1", 
-                "/conf/global/sling:test/cfgCol/confGlobal", 
-                "/apps/conf/sling:test/cfgCol/appsGlobal", 
-                "/libs/conf/sling:test/cfgCol/libsGlobal1", 
+        assertThat(underTest.getResourceCollection(site2Page1, BUCKETS, "cfgCol"), ResourceCollectionMatchers.paths(
+                "/conf/brand1/tenant1/region1/sling:test/cfgCol/region1",
+                "/conf/brand1/tenant1/sling:test/cfgCol/tenant1",
+                "/conf/brand1/sling:test/cfgCol/brand1",
+                "/conf/global/sling:test/cfgCol/confGlobal",
+                "/apps/conf/sling:test/cfgCol/appsGlobal",
+                "/libs/conf/sling:test/cfgCol/libsGlobal1",
                 "/libs/conf/sling:test/cfgCol/libsGlobal2"));
     }
 
@@ -186,10 +186,10 @@ public class DefaultConfigurationResourceResolvingStrategyHierarchyTest {
                 .siblingsMode()
                 .resource("item2")
                 .resource("item3");
-        
+
         List<Iterator<Resource>> resources = ImmutableList.copyOf(underTest.getResourceCollectionInheritanceChain(site1Page1, BUCKETS, "cfgCol"));
         assertEquals(4, resources.size());
-        
+
         assertThat(resources.get(0), ResourceIteratorMatchers.paths(
                 "/conf/brand1/tenant1/region1/site1/sling:test/cfgCol/item1",
                 "/conf/brand1/tenant1/region1/sling:test/cfgCol/item1",
@@ -216,17 +216,17 @@ public class DefaultConfigurationResourceResolvingStrategyHierarchyTest {
             .resource("/conf/global/sling:test/cfgCol", PROPERTY_CONFIG_COLLECTION_INHERIT, true).resource("confGlobal")
             .resource("/apps/conf/sling:test/cfgCol", PROPERTY_CONFIG_COLLECTION_INHERIT, true).resource("appsGlobal")
             .resource("/libs/conf/sling:test/cfgCol/libsGlobal");
-        
+
         Resource level1_2 = context.resourceResolver().getResource("/content/level1/level2");
 
-        assertThat(underTest.getResourceCollection(level1_2, BUCKETS, "cfgCol"), ResourceCollectionMatchers.paths( 
-                "/conf/b1/b2/sling:test/cfgCol/b1_b2", 
-                "/conf/b1/sling:test/cfgCol/b1", 
-                "/conf/a1/a2/sling:test/cfgCol/a1_a2", 
-                "/conf/a1/sling:test/cfgCol/a1", 
-                "/conf/global/sling:test/cfgCol/confGlobal", 
-                "/apps/conf/sling:test/cfgCol/appsGlobal", 
+        assertThat(underTest.getResourceCollection(level1_2, BUCKETS, "cfgCol"), ResourceCollectionMatchers.paths(
+                "/conf/b1/b2/sling:test/cfgCol/b1_b2",
+                "/conf/b1/sling:test/cfgCol/b1",
+                "/conf/a1/a2/sling:test/cfgCol/a1_a2",
+                "/conf/a1/sling:test/cfgCol/a1",
+                "/conf/global/sling:test/cfgCol/confGlobal",
+                "/apps/conf/sling:test/cfgCol/appsGlobal",
                 "/libs/conf/sling:test/cfgCol/libsGlobal"));
     }
-    
+
 }
diff --git a/src/test/java/org/apache/sling/caconfig/resource/impl/def/DefaultConfigurationResourceResolvingStrategyTest.java b/src/test/java/org/apache/sling/caconfig/resource/impl/def/DefaultConfigurationResourceResolvingStrategyTest.java
index e224541..87e5f19 100644
--- a/src/test/java/org/apache/sling/caconfig/resource/impl/def/DefaultConfigurationResourceResolvingStrategyTest.java
+++ b/src/test/java/org/apache/sling/caconfig/resource/impl/def/DefaultConfigurationResourceResolvingStrategyTest.java
@@ -20,9 +20,9 @@ package org.apache.sling.caconfig.resource.impl.def;
 
 import static org.apache.sling.caconfig.resource.impl.def.ConfigurationResourceNameConstants.PROPERTY_CONFIG_COLLECTION_INHERIT;
 import static org.apache.sling.caconfig.resource.impl.def.ConfigurationResourceNameConstants.PROPERTY_CONFIG_REF;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertThat;
 
 import java.util.Collection;
 import java.util.Collections;
diff --git a/src/test/java/org/apache/sling/caconfig/resource/impl/def/DefaultContextPathStrategyTest.java b/src/test/java/org/apache/sling/caconfig/resource/impl/def/DefaultContextPathStrategyTest.java
index 25bd9e6..7fab832 100644
--- a/src/test/java/org/apache/sling/caconfig/resource/impl/def/DefaultContextPathStrategyTest.java
+++ b/src/test/java/org/apache/sling/caconfig/resource/impl/def/DefaultContextPathStrategyTest.java
@@ -21,8 +21,8 @@ package org.apache.sling.caconfig.resource.impl.def;
 import static org.apache.sling.caconfig.resource.impl.def.ConfigurationResourceNameConstants.PROPERTY_CONFIG_REF;
 import static org.apache.sling.caconfig.resource.impl.util.ContextResourceTestUtil.toConfigRefIterator;
 import static org.apache.sling.caconfig.resource.impl.util.ContextResourceTestUtil.toResourceIterator;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertThat;
 
 import org.apache.sling.api.resource.Resource;
 import org.apache.sling.caconfig.resource.spi.ContextPathStrategy;
@@ -36,10 +36,10 @@ import org.junit.Test;
 import com.google.common.collect.ImmutableList;
 
 public class DefaultContextPathStrategyTest {
-    
+
     @Rule
     public SlingContext context = new SlingContext();
-    
+
     private Resource site1Page1;
     private Resource site2Page1;
 
@@ -59,11 +59,11 @@ public class DefaultContextPathStrategyTest {
     public void testFindContextPaths() {
         ContextPathStrategy underTest = context.registerInjectActivateService(new DefaultContextPathStrategy());
 
-        assertThat(toResourceIterator(underTest.findContextResources(site1Page1)), ResourceIteratorMatchers.paths( 
+        assertThat(toResourceIterator(underTest.findContextResources(site1Page1)), ResourceIteratorMatchers.paths(
                 "/content/tenant1/region1/site1",
                 "/content/tenant1/region1",
                 "/content/tenant1"));
-        assertThat(ImmutableList.copyOf(toConfigRefIterator(underTest.findContextResources(site1Page1))), Matchers.contains( 
+        assertThat(ImmutableList.copyOf(toConfigRefIterator(underTest.findContextResources(site1Page1))), Matchers.contains(
                 "/conf/tenant1/region1/site1",
                 "/conf/tenant1/region1",
                 "/conf/tenant1"));
@@ -72,7 +72,7 @@ public class DefaultContextPathStrategyTest {
                 "/content/tenant1/region1/site2",
                 "/content/tenant1/region1",
                 "/content/tenant1"));
-        assertThat(ImmutableList.copyOf(toConfigRefIterator(underTest.findContextResources(site2Page1))), Matchers.contains( 
+        assertThat(ImmutableList.copyOf(toConfigRefIterator(underTest.findContextResources(site2Page1))), Matchers.contains(
                 "/conf/tenant1/region1/site2",
                 "/conf/tenant1/region1",
                 "/conf/tenant1"));
@@ -94,15 +94,15 @@ public class DefaultContextPathStrategyTest {
 
         context.build()
             .resource("/content/tenant1/region1/jcr:content", PROPERTY_CONFIG_REF, "/conf/tenant1/region1");
-        
-        assertThat(toResourceIterator(underTest.findContextResources(site1Page1)), ResourceIteratorMatchers.paths( 
+
+        assertThat(toResourceIterator(underTest.findContextResources(site1Page1)), ResourceIteratorMatchers.paths(
                 "/content/tenant1/region1"));
-        assertThat(ImmutableList.copyOf(toConfigRefIterator(underTest.findContextResources(site1Page1))), Matchers.contains( 
+        assertThat(ImmutableList.copyOf(toConfigRefIterator(underTest.findContextResources(site1Page1))), Matchers.contains(
                 "/conf/tenant1/region1"));
 
         assertThat(toResourceIterator(underTest.findContextResources(site2Page1)), ResourceIteratorMatchers.paths(
                 "/content/tenant1/region1"));
-        assertThat(ImmutableList.copyOf(toConfigRefIterator(underTest.findContextResources(site2Page1))), Matchers.contains( 
+        assertThat(ImmutableList.copyOf(toConfigRefIterator(underTest.findContextResources(site2Page1))), Matchers.contains(
                 "/conf/tenant1/region1"));
     }
 
diff --git a/src/test/java/org/apache/sling/caconfig/resource/impl/util/ResourceEliminateDuplicatesIteratorTest.java b/src/test/java/org/apache/sling/caconfig/resource/impl/util/ResourceEliminateDuplicatesIteratorTest.java
index 65f7dd8..66b571b 100644
--- a/src/test/java/org/apache/sling/caconfig/resource/impl/util/ResourceEliminateDuplicatesIteratorTest.java
+++ b/src/test/java/org/apache/sling/caconfig/resource/impl/util/ResourceEliminateDuplicatesIteratorTest.java
@@ -19,7 +19,7 @@
 package org.apache.sling.caconfig.resource.impl.util;
 
 import static org.apache.sling.caconfig.resource.impl.util.ContextResourceTestUtil.toResourceIterator;
-import static org.junit.Assert.assertThat;
+import static org.hamcrest.MatcherAssert.assertThat;
 
 import java.util.Iterator;
 import java.util.List;
@@ -46,15 +46,15 @@ public class ResourceEliminateDuplicatesIteratorTest {
             .resource("/content/a")
             .resource("/content/a/b")
             .resource("/content/a/b/c");
-        
+
         ResourceResolver rr = context.resourceResolver();
         List<ContextResource> list = ImmutableList.of(
-                new ContextResource(rr.getResource("/content/a"), "/conf/a", 0), 
+                new ContextResource(rr.getResource("/content/a"), "/conf/a", 0),
                 new ContextResource(rr.getResource("/content/a/b"), "/conf/a/b", 0),
                 new ContextResource(rr.getResource("/content/a"), "/conf/a", 0),
                 new ContextResource(rr.getResource("/content/a"), null, 0),
                 new ContextResource(rr.getResource("/content/a/b/c"), "/conf/a/b", 0));
-        
+
         Iterator<Resource> result = toResourceIterator(new ResourceEliminateDuplicatesIterator(list.iterator()));
         assertThat(result, ResourceIteratorMatchers.paths(
                 "/content/a",
diff --git a/src/test/java/org/apache/sling/caconfig/resource/impl/util/ResourcePathCollatingIteratorTest.java b/src/test/java/org/apache/sling/caconfig/resource/impl/util/ResourcePathCollatingIteratorTest.java
index 793735a..a0e6228 100644
--- a/src/test/java/org/apache/sling/caconfig/resource/impl/util/ResourcePathCollatingIteratorTest.java
+++ b/src/test/java/org/apache/sling/caconfig/resource/impl/util/ResourcePathCollatingIteratorTest.java
@@ -20,9 +20,9 @@ package org.apache.sling.caconfig.resource.impl.util;
 
 import static org.apache.sling.caconfig.resource.impl.util.ContextResourceTestUtil.toContextResourceIterator;
 import static org.apache.sling.caconfig.resource.impl.util.ContextResourceTestUtil.toResourceIterator;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertThat;
 
 import java.util.Iterator;
 import java.util.List;
@@ -42,7 +42,7 @@ public class ResourcePathCollatingIteratorTest {
 
     @Rule
     public SlingContext context = new SlingContext();
-    
+
     @Test
     public void testIterator() {
         context.build()
@@ -50,16 +50,16 @@ public class ResourcePathCollatingIteratorTest {
             .resource("/content/a/b")
             .resource("/content/a/b/c")
             .resource("/content/a/b/c/d");
-        
+
         ResourceResolver rr = context.resourceResolver();
         List<Resource> list1 = ImmutableList.of(
-                rr.getResource("/content/a/b/c/d"), 
+                rr.getResource("/content/a/b/c/d"),
                 rr.getResource("/content/a"));
         List<Resource> list2 = ImmutableList.of(
-                rr.getResource("/content/a/b/c"), 
+                rr.getResource("/content/a/b/c"),
                 rr.getResource("/content/a/b"),
                 rr.getResource("/content/a"));
-        
+
         Iterator<Resource> result = toResourceIterator(new ResourcePathCollatingIterator(ImmutableList.of(
                 toContextResourceIterator(list1.iterator()), toContextResourceIterator(list2.iterator()))));
         assertThat(result, ResourceIteratorMatchers.paths(
@@ -77,18 +77,18 @@ public class ResourcePathCollatingIteratorTest {
             .resource("/content/a/b")
             .resource("/content/a/b/c")
             .resource("/content/a/b/c/d");
-        
+
         ResourceResolver rr = context.resourceResolver();
         List<ContextResource> list1 = ImmutableList.of(
                 new ContextResource(rr.getResource("/content/a"), "/conf/z", 0));
         List<ContextResource> list2 = ImmutableList.of(
                 new ContextResource(rr.getResource("/content/a"), "/conf/a", 0));
-        
+
         Iterator<ContextResource> result = new ResourcePathCollatingIterator(ImmutableList.of(list1.iterator(), list2.iterator()));
         ContextResource item1 = result.next();
         ContextResource item2 = result.next();
         assertFalse(result.hasNext());
-        
+
         assertEquals("/content/a", item1.getResource().getPath());
         assertEquals("/conf/a", item1.getConfigRef());
 
@@ -103,18 +103,18 @@ public class ResourcePathCollatingIteratorTest {
             .resource("/content/a/b")
             .resource("/content/a/b/c")
             .resource("/content/a/b/c/d");
-        
+
         ResourceResolver rr = context.resourceResolver();
         List<ContextResource> list1 = ImmutableList.of(
                 new ContextResource(rr.getResource("/content/a"), "/conf/z", 500));
         List<ContextResource> list2 = ImmutableList.of(
                 new ContextResource(rr.getResource("/content/a"), "/conf/a", 100));
-        
+
         Iterator<ContextResource> result = new ResourcePathCollatingIterator(ImmutableList.of(list1.iterator(), list2.iterator()));
         ContextResource item1 = result.next();
         ContextResource item2 = result.next();
         assertFalse(result.hasNext());
-        
+
         assertEquals("/content/a", item1.getResource().getPath());
         assertEquals("/conf/z", item1.getConfigRef());