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:49 UTC

[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

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());