SLING-7768 - Fixed all the issues reported by SonarCube and improved code coverage
diff --git a/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntries.java b/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntries.java
index b13b25a..1e23be7 100644
--- a/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntries.java
+++ b/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntries.java
@@ -25,7 +25,6 @@
 import java.io.IOException;
 import java.net.MalformedURLException;
 import java.net.URL;
-import java.text.ParseException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
@@ -53,9 +52,7 @@
 import javax.servlet.http.HttpServletResponse;
 
 import org.apache.sling.api.SlingConstants;
-import org.apache.sling.api.SlingException;
 import org.apache.sling.api.resource.LoginException;
-import org.apache.sling.api.resource.QuerySyntaxException;
 import org.apache.sling.api.resource.Resource;
 import org.apache.sling.api.resource.ResourceResolver;
 import org.apache.sling.api.resource.ResourceUtil;
@@ -64,7 +61,6 @@
 import org.apache.sling.api.resource.observation.ResourceChange;
 import org.apache.sling.api.resource.observation.ResourceChangeListener;
 import org.apache.sling.api.resource.path.Path;
-import org.apache.sling.resourceresolver.impl.ResourceResolverFactoryImpl;
 import org.apache.sling.resourceresolver.impl.ResourceResolverImpl;
 import org.apache.sling.resourceresolver.impl.mapping.MapConfigurationProvider.VanityPathConfig;
 import org.osgi.framework.BundleContext;
@@ -111,9 +107,7 @@
 
     private static final String JCR_SYSTEM_PREFIX = "/jcr:system/";
 
-    final static String ALIAS_QUERY_DEFAULT = "SELECT sling:alias FROM nt:base WHERE sling:alias IS NOT NULL";
-
-    final static String ALIAS_QUERY_NO_TRAVERSAL = ALIAS_QUERY_DEFAULT + " option(traversal fail)";
+    static final String ALIAS_QUERY_DEFAULT = "SELECT sling:alias FROM nt:base WHERE sling:alias IS NOT NULL";
 
     static final String ANY_SCHEME_HOST = "[^/]+/[^/]+";
 
@@ -1040,7 +1034,7 @@
      */
     private Map<String, Map<String, String>> loadAliases(final ResourceResolver resolver) {
         final Map<String, Map<String, String>> map = new ConcurrentHashMap<>();
-        final String queryString = "SELECT sling:alias FROM nt:base WHERE sling:alias IS NOT NULL";
+        final String queryString = ALIAS_QUERY_DEFAULT;
 		        final Iterator<Resource> i = resolver.findResources(queryString, "sql");
 		        while (i.hasNext()) {
 		            final Resource resource = i.next();
diff --git a/src/main/java/org/apache/sling/resourceresolver/impl/mapping/StringInterpolationProvider.java b/src/main/java/org/apache/sling/resourceresolver/impl/mapping/StringInterpolationProvider.java
index eabf1d2..12db6f5 100644
--- a/src/main/java/org/apache/sling/resourceresolver/impl/mapping/StringInterpolationProvider.java
+++ b/src/main/java/org/apache/sling/resourceresolver/impl/mapping/StringInterpolationProvider.java
@@ -18,8 +18,6 @@
  */
 package org.apache.sling.resourceresolver.impl.mapping;
 
-import java.util.List;
-
 /**
  * This class provides placeholders for Sling configuration settings
  * that depend on the environment like host names / ports for dev, test,
@@ -31,11 +29,6 @@
  */
 public interface StringInterpolationProvider {
 
-    String DEFAULT_PREFIX = "${";
-    String DEFAULT_SUFFIX = "}";
-    char DEFAULT_ESCAPE_CHARACTER = '$';
-    boolean DEFAULT_IN_VARIABLE_SUBSTITUTION = false;
-
     /**
      * Replaces any placeholders with the replacement value
      *
diff --git a/src/main/java/org/apache/sling/resourceresolver/impl/mapping/StringInterpolationProviderConfiguration.java b/src/main/java/org/apache/sling/resourceresolver/impl/mapping/StringInterpolationProviderConfiguration.java
index 8b5f371..7a688f9 100644
--- a/src/main/java/org/apache/sling/resourceresolver/impl/mapping/StringInterpolationProviderConfiguration.java
+++ b/src/main/java/org/apache/sling/resourceresolver/impl/mapping/StringInterpolationProviderConfiguration.java
@@ -21,32 +21,32 @@
 import org.osgi.service.metatype.annotations.AttributeDefinition;
 import org.osgi.service.metatype.annotations.ObjectClassDefinition;
 
-import static org.apache.sling.resourceresolver.impl.mapping.StringInterpolationProvider.DEFAULT_ESCAPE_CHARACTER;
-import static org.apache.sling.resourceresolver.impl.mapping.StringInterpolationProvider.DEFAULT_IN_VARIABLE_SUBSTITUTION;
-import static org.apache.sling.resourceresolver.impl.mapping.StringInterpolationProvider.DEFAULT_PREFIX;
-import static org.apache.sling.resourceresolver.impl.mapping.StringInterpolationProvider.DEFAULT_SUFFIX;
-
 @ObjectClassDefinition(name = "Apache Sling String Interpolation Provider",
     description = "Configures the String Interpolation Provider and the location of its key/value pairs")
 public @interface StringInterpolationProviderConfiguration {
 
+    String DEFAULT_PREFIX = "${";
+    String DEFAULT_SUFFIX = "}";
+    char DEFAULT_ESCAPE_CHARACTER = '$';
+    boolean DEFAULT_IN_VARIABLE_SUBSTITUTION = false;
+
     // Setup for the String Substitution
     @AttributeDefinition(
         name = "Substitution Prefix",
         description = "The Prefix of the Variable to be replaced (default = '${')")
-    String substitution_prefix() default DEFAULT_PREFIX;
+    String substitutionPrefix() default DEFAULT_PREFIX;
     @AttributeDefinition(
         name = "Substitution Suffix",
         description = "The Suffix of the Variable to be replaced (deault = '}'")
-    String substitution_suffix() default DEFAULT_SUFFIX;
+    String substitutionSuffix() default DEFAULT_SUFFIX;
     @AttributeDefinition(
         name = "Substitution Escape Character",
         description = "The Escape Character for Prefix or Suffix (default = '$'")
-    char substitution_escape_character() default DEFAULT_ESCAPE_CHARACTER;
+    char substitutionEscapeCharacter() default DEFAULT_ESCAPE_CHARACTER;
     @AttributeDefinition(
         name = "Enable Substitution in Variables",
         description = "Flag that indicates if substitution is allowed in Variables (default = false")
-    boolean substitution_in_variables() default DEFAULT_IN_VARIABLE_SUBSTITUTION;
+    boolean substitutionInVariables() default DEFAULT_IN_VARIABLE_SUBSTITUTION;
 
     @AttributeDefinition(
         name = "Placeholder Values",
@@ -54,10 +54,11 @@
             "The key is not permitted to contain a '=' sign and the first occurrence of '=' " +
             "separates the key from the value. If no '=' is found the entire key / value pair " +
             "is dropped.")
-    String[] place_holder_key_value_pairs() default {"phv.default.host.name=localhost"};
+    String[] placeHolderKeyValuePairs() default {"phv.default.host.name=localhost"};
 
-    @AttributeDefinition(
-        name = "Placeholder Source URL",
-        description = "A URL pointing to a source text file with key/value pairs (one value per line)")
-    String[] place_holder_key_value_source_url();
+//AS TODO: Future Development
+//    @AttributeDefinition(
+//        name = "Placeholder Source URL",
+//        description = "A URL pointing to a source text file with key/value pairs (one value per line)")
+//    String[] placeHolderKeyValueSourceUrl();
 }
diff --git a/src/main/java/org/apache/sling/resourceresolver/impl/mapping/StringInterpolationProviderImpl.java b/src/main/java/org/apache/sling/resourceresolver/impl/mapping/StringInterpolationProviderImpl.java
index f5bfab9..5ebc4c4 100644
--- a/src/main/java/org/apache/sling/resourceresolver/impl/mapping/StringInterpolationProviderImpl.java
+++ b/src/main/java/org/apache/sling/resourceresolver/impl/mapping/StringInterpolationProviderImpl.java
@@ -24,12 +24,11 @@
 import org.osgi.service.component.annotations.Deactivate;
 import org.osgi.service.component.annotations.Modified;
 import org.osgi.service.metatype.annotations.Designate;
+import org.osgi.service.metatype.annotations.ObjectClassDefinition;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
+import java.lang.annotation.Annotation;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -41,39 +40,8 @@
     /** Logger. */
     private final Logger logger = LoggerFactory.getLogger(this.getClass());
 
-    public static StringInterpolationProviderConfiguration DEFAULT_CONFIG;
+    public static final StringInterpolationProviderConfiguration DEFAULT_CONFIG = new StringInterpolationProviderConfigurationImpl();
 
-    static {
-        final InvocationHandler handler = new InvocationHandler() {
-
-            @Override
-            public Object invoke(final Object obj, final Method calledMethod, final Object[] args)
-                throws Throwable {
-                if ( calledMethod.getDeclaringClass().isAssignableFrom(StringInterpolationProviderConfiguration.class) ) {
-                    return calledMethod.getDefaultValue();
-                }
-                if ( calledMethod.getDeclaringClass() == Object.class ) {
-                    if ( calledMethod.getName().equals("toString") && (args == null || args.length == 0) ) {
-                        return "Generated @" + StringInterpolationProviderConfiguration.class.getName() + " instance";
-                    }
-                    if ( calledMethod.getName().equals("hashCode") && (args == null || args.length == 0) ) {
-                        return this.hashCode();
-                    }
-                    if ( calledMethod.getName().equals("equals") && args != null && args.length == 1 ) {
-                        return Boolean.FALSE;
-                    }
-                }
-                throw new InternalError("unexpected method dispatched: " + calledMethod);
-            }
-        };
-        DEFAULT_CONFIG = (StringInterpolationProviderConfiguration) Proxy.newProxyInstance(
-            StringInterpolationProviderConfiguration.class.getClassLoader(),
-            new Class[] { StringInterpolationProviderConfiguration.class },
-            handler
-        );
-    }
-
-//    private StringInterpolationProviderConfiguration config = DEFAULT_CONFIG;
     private Map<String, String> placeholderEntries = new HashMap<>();
     private StrSubstitutor substitutor = new StrSubstitutor();
 
@@ -84,12 +52,14 @@
      */
     @Activate
     protected void activate(final StringInterpolationProviderConfiguration config) {
-        String prefix = config.substitution_prefix();
-        String suffix = config.substitution_suffix();
-        char escapeCharacter = config.substitution_escape_character();
-        boolean substitudeInVariables = config.substitution_in_variables();
+        String prefix = config.substitutionPrefix();
+        String suffix = config.substitutionSuffix();
+        char escapeCharacter = config.substitutionEscapeCharacter();
+        boolean substitudeInVariables = config.substitutionInVariables();
 
-        String[] valueMap = config.place_holder_key_value_pairs();
+        String[] valueMap = config.placeHolderKeyValuePairs();
+        // Clear out any existing values
+        placeholderEntries.clear();
         for(String line: valueMap) {
             // Ignore no or empty lines
             if(line == null || line.isEmpty()) { continue; }
@@ -136,4 +106,38 @@
     public String substitute(String text) {
         return substitutor.replace(text);
     }
+
+    private static class StringInterpolationProviderConfigurationImpl
+        implements StringInterpolationProviderConfiguration
+    {
+        @Override
+        public String substitutionPrefix() {
+            return DEFAULT_PREFIX;
+        }
+
+        @Override
+        public String substitutionSuffix() {
+            return DEFAULT_SUFFIX;
+        }
+
+        @Override
+        public char substitutionEscapeCharacter() {
+            return DEFAULT_ESCAPE_CHARACTER;
+        }
+
+        @Override
+        public boolean substitutionInVariables() {
+            return DEFAULT_IN_VARIABLE_SUBSTITUTION;
+        }
+
+        @Override
+        public String[] placeHolderKeyValuePairs() {
+            return new String[0];
+        }
+
+        @Override
+        public Class<? extends Annotation> annotationType() {
+            return ObjectClassDefinition.class;
+        }
+    }
 }
diff --git a/src/test/java/org/apache/sling/resourceresolver/impl/mapping/StringInterpolationProviderImplTest.java b/src/test/java/org/apache/sling/resourceresolver/impl/mapping/StringInterpolationProviderImplTest.java
index 3c0b461..a986aca 100644
--- a/src/test/java/org/apache/sling/resourceresolver/impl/mapping/StringInterpolationProviderImplTest.java
+++ b/src/test/java/org/apache/sling/resourceresolver/impl/mapping/StringInterpolationProviderImplTest.java
@@ -28,6 +28,7 @@
 import java.util.HashMap;
 import java.util.Map;
 
+import static org.apache.sling.resourceresolver.impl.mapping.StringInterpolationProviderImpl.DEFAULT_CONFIG;
 import static org.junit.Assert.assertEquals;
 import static org.mockito.Mockito.when;
 
@@ -43,10 +44,10 @@
     @Before
     public void setup() throws Exception {
         MockitoAnnotations.initMocks(this);
-        when(stringInterpolationProviderConfiguration.substitution_prefix()).thenReturn("${");
-        when(stringInterpolationProviderConfiguration.substitution_suffix()).thenReturn("}");
-        when(stringInterpolationProviderConfiguration.substitution_escape_character()).thenReturn('$');
-        when(stringInterpolationProviderConfiguration.substitution_in_variables()).thenReturn(false);
+        when(stringInterpolationProviderConfiguration.substitutionPrefix()).thenReturn("${");
+        when(stringInterpolationProviderConfiguration.substitutionSuffix()).thenReturn("}");
+        when(stringInterpolationProviderConfiguration.substitutionEscapeCharacter()).thenReturn('$');
+        when(stringInterpolationProviderConfiguration.substitutionInVariables()).thenReturn(false);
     }
 
     @Test
@@ -60,7 +61,7 @@
 
     @Test
     public void test_simple_one_placeholder() {
-        when(stringInterpolationProviderConfiguration.place_holder_key_value_pairs()).thenReturn(
+        when(stringInterpolationProviderConfiguration.placeHolderKeyValuePairs()).thenReturn(
             new String[] { "one=two"}
         );
 
@@ -74,7 +75,7 @@
 
     @Test
     public void test_simple_text_one_placeholder() {
-        when(stringInterpolationProviderConfiguration.place_holder_key_value_pairs()).thenReturn(
+        when(stringInterpolationProviderConfiguration.placeHolderKeyValuePairs()).thenReturn(
             new String[] { "one=two"}
         );
         StringInterpolationProviderImpl placeholderProvider = new StringInterpolationProviderImpl();
@@ -87,7 +88,7 @@
 
     @Test
     public void test_two_placeholders() {
-        when(stringInterpolationProviderConfiguration.place_holder_key_value_pairs()).thenReturn(
+        when(stringInterpolationProviderConfiguration.placeHolderKeyValuePairs()).thenReturn(
             new String[] { "one=two", "three=four"}
         );
         StringInterpolationProviderImpl placeholderProvider = new StringInterpolationProviderImpl();
@@ -100,7 +101,7 @@
 
     @Test
     public void test_three_placeholders() {
-        when(stringInterpolationProviderConfiguration.place_holder_key_value_pairs()).thenReturn(
+        when(stringInterpolationProviderConfiguration.placeHolderKeyValuePairs()).thenReturn(
             new String[] { "one=two", "three=four", "five=six"}
         );
 
@@ -114,7 +115,7 @@
 
     @Test
     public void test_no_placeholders() {
-        when(stringInterpolationProviderConfiguration.place_holder_key_value_pairs()).thenReturn(
+        when(stringInterpolationProviderConfiguration.placeHolderKeyValuePairs()).thenReturn(
             new String[] { "one=two", "three=four", "five=six"}
         );
 
@@ -128,7 +129,7 @@
 
     @Test
     public void test_unkown_placeholders() {
-        when(stringInterpolationProviderConfiguration.place_holder_key_value_pairs()).thenReturn(
+        when(stringInterpolationProviderConfiguration.placeHolderKeyValuePairs()).thenReturn(
             new String[] { "one=two", "three=four", "five=six"}
         );
 
@@ -142,7 +143,7 @@
 
     @Test
     public void test_trailing_slash_placeholders() {
-        when(stringInterpolationProviderConfiguration.place_holder_key_value_pairs()).thenReturn(
+        when(stringInterpolationProviderConfiguration.placeHolderKeyValuePairs()).thenReturn(
             new String[] { "siv.one=test-value"}
         );
 
@@ -156,11 +157,11 @@
 
     @Test
     public void test_different_suffix_prefix() {
-        when(stringInterpolationProviderConfiguration.place_holder_key_value_pairs()).thenReturn(
+        when(stringInterpolationProviderConfiguration.placeHolderKeyValuePairs()).thenReturn(
             new String[] { "test-me.one=hello"}
         );
-        when(stringInterpolationProviderConfiguration.substitution_prefix()).thenReturn("{{");
-        when(stringInterpolationProviderConfiguration.substitution_suffix()).thenReturn("}}");
+        when(stringInterpolationProviderConfiguration.substitutionPrefix()).thenReturn("{{");
+        when(stringInterpolationProviderConfiguration.substitutionSuffix()).thenReturn("}}");
 
         StringInterpolationProviderImpl placeholderProvider = new StringInterpolationProviderImpl();
         placeholderProvider.activate(stringInterpolationProviderConfiguration);
@@ -172,10 +173,10 @@
 
     @Test
     public void test_escape_character() {
-        when(stringInterpolationProviderConfiguration.place_holder_key_value_pairs()).thenReturn(
+        when(stringInterpolationProviderConfiguration.placeHolderKeyValuePairs()).thenReturn(
             new String[] { "one=two"}
         );
-        when(stringInterpolationProviderConfiguration.substitution_escape_character()).thenReturn('\\');
+        when(stringInterpolationProviderConfiguration.substitutionEscapeCharacter()).thenReturn('\\');
 
         StringInterpolationProviderImpl placeholderProvider = new StringInterpolationProviderImpl();
         placeholderProvider.activate(stringInterpolationProviderConfiguration);
@@ -187,10 +188,10 @@
 
     @Test
     public void test_in_variables_substitution() {
-        when(stringInterpolationProviderConfiguration.place_holder_key_value_pairs()).thenReturn(
+        when(stringInterpolationProviderConfiguration.placeHolderKeyValuePairs()).thenReturn(
             new String[] { "one=two", "two=three"}
         );
-        when(stringInterpolationProviderConfiguration.substitution_in_variables()).thenReturn(true);
+        when(stringInterpolationProviderConfiguration.substitutionInVariables()).thenReturn(true);
 
         StringInterpolationProviderImpl placeholderProvider = new StringInterpolationProviderImpl();
         placeholderProvider.activate(stringInterpolationProviderConfiguration);
@@ -202,10 +203,10 @@
 
     @Test
     public void test_in_variables_substitution2() {
-        when(stringInterpolationProviderConfiguration.place_holder_key_value_pairs()).thenReturn(
+        when(stringInterpolationProviderConfiguration.placeHolderKeyValuePairs()).thenReturn(
             new String[] { "one=two", "onetwo=three"}
         );
-        when(stringInterpolationProviderConfiguration.substitution_in_variables()).thenReturn(true);
+        when(stringInterpolationProviderConfiguration.substitutionInVariables()).thenReturn(true);
 
         StringInterpolationProviderImpl placeholderProvider = new StringInterpolationProviderImpl();
         placeholderProvider.activate(stringInterpolationProviderConfiguration);
@@ -214,4 +215,90 @@
         String substituted = placeholderProvider.substitute(line);
         assertEquals("Wrong resolved line", "three", substituted);
     }
+
+    @Test
+    public void test_bad_placeholder_key_configuration() {
+        when(stringInterpolationProviderConfiguration.placeHolderKeyValuePairs()).thenReturn(
+            new String[] { "one=two", "two", "=two"}
+        );
+        when(stringInterpolationProviderConfiguration.substitutionInVariables()).thenReturn(true);
+
+        StringInterpolationProviderImpl placeholderProvider = new StringInterpolationProviderImpl();
+        placeholderProvider.activate(stringInterpolationProviderConfiguration);
+
+        String line = "${one}${two}";
+        String substituted = placeholderProvider.substitute(line);
+        assertEquals("Wrong resolved line", "two${two}", substituted);
+    }
+
+    @Test
+    public void test_bad_placeholder_value_configuration() {
+        when(stringInterpolationProviderConfiguration.placeHolderKeyValuePairs()).thenReturn(
+            new String[] { "one=two", "two="}
+        );
+        when(stringInterpolationProviderConfiguration.substitutionInVariables()).thenReturn(true);
+
+        StringInterpolationProviderImpl placeholderProvider = new StringInterpolationProviderImpl();
+        placeholderProvider.activate(stringInterpolationProviderConfiguration);
+
+        String line = "${one}${two}";
+        String substituted = placeholderProvider.substitute(line);
+        assertEquals("Wrong resolved line", "two${two}", substituted);
+    }
+
+    @Test
+    public void test_no_configuration() {
+        StringInterpolationProviderImpl placeholderProvider = new StringInterpolationProviderImpl();
+
+        String line = "${one}${two}";
+        String substituted = placeholderProvider.substitute(line);
+        assertEquals("Wrong resolved line", line, substituted);
+    }
+
+    @Test
+    public void test_default_configuration() {
+        StringInterpolationProviderImpl placeholderProvider = new StringInterpolationProviderImpl();
+        placeholderProvider.activate(DEFAULT_CONFIG);
+
+        String line = "${one}${two}";
+        String substituted = placeholderProvider.substitute(line);
+        assertEquals("Wrong resolved line", line, substituted);
+    }
+
+    @Test
+    public void test_modify_configuration() {
+        when(stringInterpolationProviderConfiguration.placeHolderKeyValuePairs()).thenReturn(
+            new String[] { "one=two", "two="}
+        );
+        when(stringInterpolationProviderConfiguration.substitutionInVariables()).thenReturn(true);
+
+        StringInterpolationProviderImpl placeholderProvider = new StringInterpolationProviderImpl();
+        placeholderProvider.activate(stringInterpolationProviderConfiguration);
+        when(stringInterpolationProviderConfiguration.placeHolderKeyValuePairs()).thenReturn(
+            new String[] { "one=two", "two=three"}
+        );
+        placeholderProvider.modified(stringInterpolationProviderConfiguration);
+
+        String line = "${one}-${two}";
+        String substituted = placeholderProvider.substitute(line);
+        assertEquals("Wrong resolved line", "two-three", substituted);
+    }
+
+    @Test
+    public void test_deactivate_configuration() {
+        when(stringInterpolationProviderConfiguration.placeHolderKeyValuePairs()).thenReturn(
+            new String[] { "one=two", "two=four"}
+        );
+        when(stringInterpolationProviderConfiguration.substitutionInVariables()).thenReturn(true);
+
+        StringInterpolationProviderImpl placeholderProvider = new StringInterpolationProviderImpl();
+        placeholderProvider.activate(stringInterpolationProviderConfiguration);
+
+        String line = "${one}-${two}";
+        String substituted = placeholderProvider.substitute(line);
+        assertEquals("Wrong resolved line", "two-four", substituted);
+        placeholderProvider.deactivate();
+        substituted = placeholderProvider.substitute(line);
+        assertEquals("Line should not be substituted because service was deactivated", line, substituted);
+    }
 }
diff --git a/src/test/java/org/apache/sling/resourceresolver/util/MockTestUtil.java b/src/test/java/org/apache/sling/resourceresolver/util/MockTestUtil.java
index d40bcf6..1dbfb8d 100644
--- a/src/test/java/org/apache/sling/resourceresolver/util/MockTestUtil.java
+++ b/src/test/java/org/apache/sling/resourceresolver/util/MockTestUtil.java
@@ -34,7 +34,6 @@
 import org.mockito.Mockito;
 import org.mockito.invocation.InvocationOnMock;
 import org.mockito.stubbing.Answer;
-import org.osgi.framework.BundleContext;
 
 import javax.servlet.http.HttpServletRequest;
 import java.lang.reflect.Field;
@@ -42,15 +41,14 @@
 import java.lang.reflect.Method;
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 
 import static java.util.Arrays.asList;
-import static org.apache.sling.resourceresolver.impl.mapping.StringInterpolationProvider.DEFAULT_ESCAPE_CHARACTER;
-import static org.apache.sling.resourceresolver.impl.mapping.StringInterpolationProvider.DEFAULT_IN_VARIABLE_SUBSTITUTION;
-import static org.apache.sling.resourceresolver.impl.mapping.StringInterpolationProvider.DEFAULT_PREFIX;
-import static org.apache.sling.resourceresolver.impl.mapping.StringInterpolationProvider.DEFAULT_SUFFIX;
+import static org.apache.sling.resourceresolver.impl.mapping.StringInterpolationProviderConfiguration.DEFAULT_ESCAPE_CHARACTER;
+import static org.apache.sling.resourceresolver.impl.mapping.StringInterpolationProviderConfiguration.DEFAULT_IN_VARIABLE_SUBSTITUTION;
+import static org.apache.sling.resourceresolver.impl.mapping.StringInterpolationProviderConfiguration.DEFAULT_PREFIX;
+import static org.apache.sling.resourceresolver.impl.mapping.StringInterpolationProviderConfiguration.DEFAULT_SUFFIX;
 import static org.hamcrest.Matchers.instanceOf;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertThat;
@@ -312,18 +310,18 @@
 
     public static StringInterpolationProviderConfiguration createStringInterpolationProviderConfiguration() {
         StringInterpolationProviderConfiguration answer = mock(StringInterpolationProviderConfiguration.class);
-        when(answer.substitution_prefix()).thenReturn(DEFAULT_PREFIX);
-        when(answer.substitution_suffix()).thenReturn(DEFAULT_SUFFIX);
-        when(answer.substitution_escape_character()).thenReturn(DEFAULT_ESCAPE_CHARACTER);
-        when(answer.substitution_in_variables()).thenReturn(DEFAULT_IN_VARIABLE_SUBSTITUTION);
-        when(answer.place_holder_key_value_pairs()).thenReturn(new String[] {});
+        when(answer.substitutionPrefix()).thenReturn(DEFAULT_PREFIX);
+        when(answer.substitutionSuffix()).thenReturn(DEFAULT_SUFFIX);
+        when(answer.substitutionEscapeCharacter()).thenReturn(DEFAULT_ESCAPE_CHARACTER);
+        when(answer.substitutionInVariables()).thenReturn(DEFAULT_IN_VARIABLE_SUBSTITUTION);
+        when(answer.placeHolderKeyValuePairs()).thenReturn(new String[] {});
         return answer;
     }
 
     public static void setupStringInterpolationProvider(
         StringInterpolationProvider provider, StringInterpolationProviderConfiguration configuration, final String[] placeholderValues
     ) {
-        when(configuration.place_holder_key_value_pairs()).thenReturn(placeholderValues);
+        when(configuration.placeHolderKeyValuePairs()).thenReturn(placeholderValues);
         callInaccessibleMethod("activate", Void.TYPE, provider,
             new Class[] {StringInterpolationProviderConfiguration.class},
             new Object[] {configuration}