Merge "Abstract utility classes for re-use"
diff --git a/dblib/provider/pom.xml b/dblib/provider/pom.xml
index 8ff1094..ad1cc9d 100755
--- a/dblib/provider/pom.xml
+++ b/dblib/provider/pom.xml
@@ -56,6 +56,11 @@
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
         </dependency>
+		<dependency>
+			<groupId>org.onap.ccsdk.sli.core</groupId>
+			<artifactId>utils</artifactId>
+			<version>${project.version}</version>
+		</dependency>
 
         <!-- Testing related dependencies -->
         <dependency>
diff --git a/dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/DBLIBResourceProvider.java b/dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/DBLIBResourceProvider.java
index 062cd84..8e0b534 100644
--- a/dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/DBLIBResourceProvider.java
+++ b/dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/DBLIBResourceProvider.java
@@ -27,11 +27,11 @@
 import java.util.Properties;
 import java.util.Vector;
 
-import org.onap.ccsdk.sli.core.dblib.propertiesfileresolver.DblibDefaultFileResolver;
-import org.onap.ccsdk.sli.core.dblib.propertiesfileresolver.DblibEnvVarFileResolver;
-import org.onap.ccsdk.sli.core.dblib.propertiesfileresolver.DblibJREFileResolver;
-import org.onap.ccsdk.sli.core.dblib.propertiesfileresolver.DblibKarafRootFileResolver;
-import org.onap.ccsdk.sli.core.dblib.propertiesfileresolver.DblibPropertiesFileResolver;
+import org.onap.ccsdk.sli.core.utils.dblib.DblibDefaultFileResolver;
+import org.onap.ccsdk.sli.core.utils.dblib.DblibEnvVarFileResolver;
+import org.onap.ccsdk.sli.core.utils.JREFileResolver;
+import org.onap.ccsdk.sli.core.utils.KarafRootFileResolver;
+import org.onap.ccsdk.sli.core.utils.PropertiesFileResolver;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -58,7 +58,7 @@
     /**
      * A prioritized list of strategies for resolving dblib properties files.
      */
-    private Vector<DblibPropertiesFileResolver> dblibPropertiesFileResolvers = new Vector();
+    private Vector<PropertiesFileResolver> dblibPropertiesFileResolvers = new Vector();
 
     /**
      * The configuration properties for the db connection.
@@ -75,10 +75,10 @@
         dblibPropertiesFileResolvers.add(new DblibDefaultFileResolver(
                 "Using property file (1) from default directory"
         ));
-        dblibPropertiesFileResolvers.add(new DblibJREFileResolver(
-                "Using property file (2) from JRE argument"
+        dblibPropertiesFileResolvers.add(new JREFileResolver(
+                "Using property file (2) from JRE argument", DBLIBResourceProvider.class
         ));
-        dblibPropertiesFileResolvers.add(new DblibKarafRootFileResolver(
+        dblibPropertiesFileResolvers.add(new KarafRootFileResolver(
                 "Using property file (4) from karaf root", this));
 
         // determines properties file as according to the priority described in the class header comment
@@ -141,7 +141,7 @@
      */
     File determinePropertiesFile(final DBLIBResourceProvider dblibResourceProvider) {
 
-        for (final DblibPropertiesFileResolver dblibPropertiesFileResolver : dblibPropertiesFileResolvers) {
+        for (final PropertiesFileResolver dblibPropertiesFileResolver : dblibPropertiesFileResolvers) {
             final Optional<File> fileOptional = dblibPropertiesFileResolver.resolveFile(DBLIB_PROP_FILE_NAME);
             if (fileOptional.isPresent()) {
                 return reportSuccess(dblibPropertiesFileResolver.getSuccessfulResolutionMessage(), fileOptional);
diff --git a/dblib/provider/src/test/java/org/onap/ccsdk/sli/core/dblib/propertiesfileresolver/DblibJREFileResolverTest.java b/dblib/provider/src/test/java/org/onap/ccsdk/sli/core/dblib/propertiesfileresolver/DblibJREFileResolverTest.java
deleted file mode 100644
index 65ebfba..0000000
--- a/dblib/provider/src/test/java/org/onap/ccsdk/sli/core/dblib/propertiesfileresolver/DblibJREFileResolverTest.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package org.onap.ccsdk.sli.core.dblib.propertiesfileresolver;
-
-import static org.junit.Assert.*;
-
-import org.junit.Test;
-
-public class DblibJREFileResolverTest {
-
-    @Test
-    public void getSuccessfulResolutionMessage() throws Exception {
-        final DblibPropertiesFileResolver resolver = new DblibJREFileResolver("success");
-        assertEquals("success", resolver.getSuccessfulResolutionMessage());
-    }
-
-}
\ No newline at end of file
diff --git a/dblib/provider/src/test/java/org/onap/ccsdk/sli/core/dblib/propertiesfileresolver/DblibKarafRootFileResolverTest.java b/dblib/provider/src/test/java/org/onap/ccsdk/sli/core/dblib/propertiesfileresolver/DblibKarafRootFileResolverTest.java
deleted file mode 100644
index 0a032e8..0000000
--- a/dblib/provider/src/test/java/org/onap/ccsdk/sli/core/dblib/propertiesfileresolver/DblibKarafRootFileResolverTest.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package org.onap.ccsdk.sli.core.dblib.propertiesfileresolver;
-
-import static org.junit.Assert.*;
-
-import org.junit.Test;
-
-public class DblibKarafRootFileResolverTest {
-    @Test
-    public void getSuccessfulResolutionMessage() throws Exception {
-        final DblibPropertiesFileResolver resolver = new DblibKarafRootFileResolver("success", null);
-        assertEquals("success", resolver.getSuccessfulResolutionMessage());
-    }
-
-}
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 1c6cd4a..a369181 100755
--- a/pom.xml
+++ b/pom.xml
@@ -114,6 +114,7 @@
 		<module>filters</module>
 		<module>sliPluginUtils</module>
 		<module>sliapi</module>
+		<module>utils</module>
 	</modules>
 	<organization>
 		<name>ONAP</name>
diff --git a/utils/pom.xml b/utils/pom.xml
new file mode 100644
index 0000000..93326a9
--- /dev/null
+++ b/utils/pom.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+    <parent>
+        <groupId>org.onap.ccsdk.sli.core</groupId>
+        <artifactId>ccsdk-sli-core</artifactId>
+        <version>0.1.2-SNAPSHOT</version>
+    </parent>
+
+    <modelVersion>4.0.0</modelVersion>
+    <packaging>bundle</packaging>
+    <artifactId>utils</artifactId>
+    <name>SLI Core Utilities Package</name>
+
+    <description>
+        The SLI Core Utilities Package provides common functionality for setting up SLI connectivity.
+    </description>
+
+    <dependencies>
+        <dependency>
+            <groupId>com.google.guava</groupId>
+            <artifactId>guava</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>equinoxSDK381</groupId>
+            <artifactId>org.eclipse.osgi</artifactId>
+            <version>${equinox.osgi.version}</version>
+        </dependency>
+
+        <!-- Testing Dependencies -->
+        <dependency>
+            <groupId>org.mockito</groupId>
+            <artifactId>mockito-core</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <version>${bundle.plugin.version}</version>
+            </plugin>
+        </plugins>
+    </build>
+    <organization>
+        <name>Inocybe Technologies and Others</name>
+    </organization>
+</project>
diff --git a/dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/propertiesfileresolver/DblibDefaultFileResolver.java b/utils/src/main/java/org/onap/ccsdk/sli/core/utils/DefaultFileResolver.java
similarity index 73%
rename from dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/propertiesfileresolver/DblibDefaultFileResolver.java
rename to utils/src/main/java/org/onap/ccsdk/sli/core/utils/DefaultFileResolver.java
index a7797d9..8938aa6 100644
--- a/dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/propertiesfileresolver/DblibDefaultFileResolver.java
+++ b/utils/src/main/java/org/onap/ccsdk/sli/core/utils/DefaultFileResolver.java
@@ -18,7 +18,7 @@
  * ============LICENSE_END=========================================================
  */
 
-package org.onap.ccsdk.sli.core.dblib.propertiesfileresolver;
+package org.onap.ccsdk.sli.core.utils;
 
 import java.io.File;
 import java.nio.file.Path;
@@ -29,17 +29,15 @@
  * Resolves dblib properties files relative to the default file path.  In Unix, this is represented by:
  * <code>/opt/sdnc/data/properties</code>
  */
-public class DblibDefaultFileResolver implements DblibPropertiesFileResolver {
-
-    /**
-     * Default path to look for the configuration directory
-     */
-    private static final Path DEFAULT_DBLIB_PROP_DIR = Paths.get("opt", "sdnc", "data", "properties");
+public abstract class DefaultFileResolver implements PropertiesFileResolver {
 
     private final String successMessage;
 
-    public DblibDefaultFileResolver(final String successMessage) {
+    private final Path propertyPath;
+
+    public DefaultFileResolver(final String successMessage, final Path propertyPath) {
         this.successMessage = successMessage;
+        this.propertyPath = propertyPath;
     }
 
     /**
@@ -48,10 +46,10 @@
      * @return an Optional File containing the location if it exists, or an empty Optional
      */
     @Override
-    public Optional<File> resolveFile(final String dblibFileName) {
-        final File fileFromDefaultDblibDir = DEFAULT_DBLIB_PROP_DIR.resolve(dblibFileName).toFile();
+    public Optional<File> resolveFile(final String filename) {
+        final File fileFromDefaultDblibDir = propertyPath.resolve(filename).toFile();
         if (fileFromDefaultDblibDir.exists()) {
-            Optional.of(fileFromDefaultDblibDir);
+            return Optional.of(fileFromDefaultDblibDir);
         }
         return Optional.empty();
     }
diff --git a/dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/propertiesfileresolver/DblibEnvVarFileResolver.java b/utils/src/main/java/org/onap/ccsdk/sli/core/utils/EnvVarFileResolver.java
similarity index 83%
rename from dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/propertiesfileresolver/DblibEnvVarFileResolver.java
rename to utils/src/main/java/org/onap/ccsdk/sli/core/utils/EnvVarFileResolver.java
index 0b69109..3e438d1 100644
--- a/dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/propertiesfileresolver/DblibEnvVarFileResolver.java
+++ b/utils/src/main/java/org/onap/ccsdk/sli/core/utils/EnvVarFileResolver.java
@@ -18,7 +18,7 @@
  * ============LICENSE_END=========================================================
  */
 
-package org.onap.ccsdk.sli.core.dblib.propertiesfileresolver;
+package org.onap.ccsdk.sli.core.utils;
 
 import com.google.common.base.Strings;
 
@@ -30,17 +30,18 @@
  * Resolves dblib properties files relative to the directory identified by the <code>SDNC_CONFIG_DIR</code>
  * environment variable.
  */
-public class DblibEnvVarFileResolver implements DblibPropertiesFileResolver {
+public abstract class EnvVarFileResolver implements PropertiesFileResolver {
 
     /**
      * Key for environment variable representing the configuration directory
      */
-    private static final String SDNC_CONFIG_DIR_PROP_KEY = "SDNC_CONFIG_DIR";
+    private final String propertyKey;
 
     private final String successMessage;
 
-    public DblibEnvVarFileResolver(final String successMessage) {
+    public EnvVarFileResolver(final String successMessage, final String propertyKey) {
         this.successMessage = successMessage;
+        this.propertyKey = propertyKey;
     }
 
     /**
@@ -49,12 +50,12 @@
      * @return an Optional File containing the location if it exists, or an empty Optional
      */
     @Override
-    public Optional<File> resolveFile(final String dblibFileName) {
+    public Optional<File> resolveFile(final String filename) {
         // attempt to resolve the property directory from the corresponding environment variable
-        final String propDirectoryFromEnvVariable = System.getenv(SDNC_CONFIG_DIR_PROP_KEY);
+        final String propDirectoryFromEnvVariable = System.getenv(propertyKey);
         final File fileFromEnvVariable;
         if (!Strings.isNullOrEmpty(propDirectoryFromEnvVariable)) {
-            fileFromEnvVariable = Paths.get(propDirectoryFromEnvVariable).resolve(dblibFileName).toFile();
+            fileFromEnvVariable = Paths.get(propDirectoryFromEnvVariable).resolve(filename).toFile();
             if(fileFromEnvVariable.exists()) {
                 return Optional.of(fileFromEnvVariable);
             }
diff --git a/dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/propertiesfileresolver/DblibJREFileResolver.java b/utils/src/main/java/org/onap/ccsdk/sli/core/utils/JREFileResolver.java
similarity index 81%
rename from dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/propertiesfileresolver/DblibJREFileResolver.java
rename to utils/src/main/java/org/onap/ccsdk/sli/core/utils/JREFileResolver.java
index 673ccbf..5cd6c36 100644
--- a/dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/propertiesfileresolver/DblibJREFileResolver.java
+++ b/utils/src/main/java/org/onap/ccsdk/sli/core/utils/JREFileResolver.java
@@ -18,7 +18,7 @@
  * ============LICENSE_END=========================================================
  */
 
-package org.onap.ccsdk.sli.core.dblib.propertiesfileresolver;
+package org.onap.ccsdk.sli.core.utils;
 
 import java.io.File;
 import java.net.URISyntaxException;
@@ -26,14 +26,13 @@
 import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.util.Optional;
-import org.onap.ccsdk.sli.core.dblib.DBLIBResourceProvider;
 import org.osgi.framework.FrameworkUtil;
 
 /**
  * Resolves dblib properties files relative to the directory identified by the JRE property
  * <code>dblib.properties</code>.
  */
-public class DblibJREFileResolver implements DblibPropertiesFileResolver {
+public class JREFileResolver implements PropertiesFileResolver {
 
     /**
      * Key for JRE argument representing the configuration directory
@@ -41,9 +40,11 @@
     private static final String DBLIB_JRE_PROPERTY_KEY = "dblib.properties";
 
     private final String successMessage;
+    private final Class clazz;
 
-    public DblibJREFileResolver(final String successMessage) {
+    public JREFileResolver(final String successMessage, final Class clazz) {
         this.successMessage = successMessage;
+        this.clazz = clazz;
     }
 
     /**
@@ -52,15 +53,15 @@
      * @return an Optional File containing the location if it exists, or an empty Optional
      */
     @Override
-    public Optional<File> resolveFile(final String dblibFileName) {
-        final URL jreArgumentUrl = FrameworkUtil.getBundle(DBLIBResourceProvider.class)
+    public Optional<File> resolveFile(final String filename) {
+        final URL jreArgumentUrl = FrameworkUtil.getBundle(this.clazz)
                 .getResource(DBLIB_JRE_PROPERTY_KEY);
         try {
             if (jreArgumentUrl == null) {
                 return Optional.empty();
             }
             final Path dblibPath = Paths.get(jreArgumentUrl.toURI());
-            return Optional.of(dblibPath.resolve(dblibFileName).toFile());
+            return Optional.of(dblibPath.resolve(filename).toFile());
         } catch(final URISyntaxException e) {
             return Optional.empty();
         }
diff --git a/dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/propertiesfileresolver/DblibKarafRootFileResolver.java b/utils/src/main/java/org/onap/ccsdk/sli/core/utils/KarafRootFileResolver.java
similarity index 74%
rename from dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/propertiesfileresolver/DblibKarafRootFileResolver.java
rename to utils/src/main/java/org/onap/ccsdk/sli/core/utils/KarafRootFileResolver.java
index d2b164e..0cb7545 100644
--- a/dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/propertiesfileresolver/DblibKarafRootFileResolver.java
+++ b/utils/src/main/java/org/onap/ccsdk/sli/core/utils/KarafRootFileResolver.java
@@ -18,25 +18,24 @@
  * ============LICENSE_END=========================================================
  */
 
-package org.onap.ccsdk.sli.core.dblib.propertiesfileresolver;
+package org.onap.ccsdk.sli.core.utils;
 
 import java.io.File;
 import java.net.URL;
 import java.util.Optional;
-import org.onap.ccsdk.sli.core.dblib.DBLIBResourceProvider;
 
 /**
  * Resolves dblib properties files relative to the karaf root directory.
  */
-public class DblibKarafRootFileResolver implements DblibPropertiesFileResolver {
+public class KarafRootFileResolver implements PropertiesFileResolver {
 
-    final DBLIBResourceProvider dblibResourceProvider;
+    final Object provider;
 
     private final String successMessage;
 
-    public DblibKarafRootFileResolver(final String successMessage, final DBLIBResourceProvider dblibResourceProvider) {
+    public KarafRootFileResolver(final String successMessage, final Object provider) {
         this.successMessage = successMessage;
-        this.dblibResourceProvider = dblibResourceProvider;
+        this.provider = provider;
     }
 
     /**
@@ -45,8 +44,8 @@
      * @return an Optional File containing the location if it exists, or an empty Optional
      */
     @Override
-    public Optional<File> resolveFile(final String dblibFileName) {
-        final URL fromKarafRoot = dblibResourceProvider.getClass().getResource(dblibFileName);
+    public Optional<File> resolveFile(final String filename) {
+        final URL fromKarafRoot = provider.getClass().getResource(filename);
         if (fromKarafRoot != null) {
             final File propertiesFile = new File(fromKarafRoot.getFile());
             if (propertiesFile.exists()) {
diff --git a/dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/propertiesfileresolver/DblibPropertiesFileResolver.java b/utils/src/main/java/org/onap/ccsdk/sli/core/utils/PropertiesFileResolver.java
similarity index 83%
rename from dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/propertiesfileresolver/DblibPropertiesFileResolver.java
rename to utils/src/main/java/org/onap/ccsdk/sli/core/utils/PropertiesFileResolver.java
index 97ab08a..bfb417d 100644
--- a/dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/propertiesfileresolver/DblibPropertiesFileResolver.java
+++ b/utils/src/main/java/org/onap/ccsdk/sli/core/utils/PropertiesFileResolver.java
@@ -18,7 +18,7 @@
  * ============LICENSE_END=========================================================
  */
 
-package org.onap.ccsdk.sli.core.dblib.propertiesfileresolver;
+package org.onap.ccsdk.sli.core.utils;
 
 import java.io.File;
 import java.util.Optional;
@@ -26,15 +26,15 @@
 /**
  * Strategy for resolving dblib properties.
  */
-public interface DblibPropertiesFileResolver {
+public interface PropertiesFileResolver {
 
     /**
      * Resolve dblib properties file.
      *
-     * @param dblibFileName the name of the file to look for at the specific location.
+     * @param filename the name of the file to look for at the specific location.
      * @return An optional File or empty.
      */
-    Optional<File> resolveFile(final String dblibFileName);
+    Optional<File> resolveFile(final String filename);
 
     /**
      * A success message, used only for logging now.
diff --git a/utils/src/main/java/org/onap/ccsdk/sli/core/utils/dblib/DblibDefaultFileResolver.java b/utils/src/main/java/org/onap/ccsdk/sli/core/utils/dblib/DblibDefaultFileResolver.java
new file mode 100644
index 0000000..56b4ca1
--- /dev/null
+++ b/utils/src/main/java/org/onap/ccsdk/sli/core/utils/dblib/DblibDefaultFileResolver.java
@@ -0,0 +1,17 @@
+package org.onap.ccsdk.sli.core.utils.dblib;
+
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import org.onap.ccsdk.sli.core.utils.DefaultFileResolver;
+
+public class DblibDefaultFileResolver extends DefaultFileResolver {
+
+    /**
+     * Default path to look for the configuration directory
+     */
+    private static final Path DEFAULT_DBLIB_PROP_DIR = Paths.get("opt", "sdnc", "data", "properties");
+
+    public DblibDefaultFileResolver(final String successMessage) {
+        super(successMessage, DEFAULT_DBLIB_PROP_DIR);
+    }
+}
diff --git a/utils/src/main/java/org/onap/ccsdk/sli/core/utils/dblib/DblibEnvVarFileResolver.java b/utils/src/main/java/org/onap/ccsdk/sli/core/utils/dblib/DblibEnvVarFileResolver.java
new file mode 100644
index 0000000..9eef4ce
--- /dev/null
+++ b/utils/src/main/java/org/onap/ccsdk/sli/core/utils/dblib/DblibEnvVarFileResolver.java
@@ -0,0 +1,15 @@
+package org.onap.ccsdk.sli.core.utils.dblib;
+
+import org.onap.ccsdk.sli.core.utils.EnvVarFileResolver;
+
+public class DblibEnvVarFileResolver extends EnvVarFileResolver {
+
+    /**
+     * Key for environment variable representing the configuration directory
+     */
+    private static final String SDNC_CONFIG_DIR_PROP_KEY = "SDNC_CONFIG_DIR";
+
+    public DblibEnvVarFileResolver(final String successMessage) {
+        super(successMessage, SDNC_CONFIG_DIR_PROP_KEY);
+    }
+}
diff --git a/utils/src/test/java/org/onap/ccsdk/sli/core/utils/JREFileResolverTest.java b/utils/src/test/java/org/onap/ccsdk/sli/core/utils/JREFileResolverTest.java
new file mode 100644
index 0000000..e5051d6
--- /dev/null
+++ b/utils/src/test/java/org/onap/ccsdk/sli/core/utils/JREFileResolverTest.java
@@ -0,0 +1,15 @@
+package org.onap.ccsdk.sli.core.utils;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+public class JREFileResolverTest {
+
+    @Test
+    public void getSuccessfulResolutionMessage() throws Exception {
+        final PropertiesFileResolver resolver = new JREFileResolver("success", JREFileResolverTest.class);
+        assertEquals("success", resolver.getSuccessfulResolutionMessage());
+    }
+
+}
\ No newline at end of file
diff --git a/utils/src/test/java/org/onap/ccsdk/sli/core/utils/KarafRootFileResolverTest.java b/utils/src/test/java/org/onap/ccsdk/sli/core/utils/KarafRootFileResolverTest.java
new file mode 100644
index 0000000..5e407da
--- /dev/null
+++ b/utils/src/test/java/org/onap/ccsdk/sli/core/utils/KarafRootFileResolverTest.java
@@ -0,0 +1,14 @@
+package org.onap.ccsdk.sli.core.utils;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+public class KarafRootFileResolverTest {
+    @Test
+    public void getSuccessfulResolutionMessage() throws Exception {
+        final PropertiesFileResolver resolver = new KarafRootFileResolver("success", null);
+        assertEquals("success", resolver.getSuccessfulResolutionMessage());
+    }
+
+}
\ No newline at end of file
diff --git a/dblib/provider/src/test/java/org/onap/ccsdk/sli/core/dblib/propertiesfileresolver/DblibDefaultFileResolverTest.java b/utils/src/test/java/org/onap/ccsdk/sli/core/utils/dblib/DblibDefaultFileResolverTest.java
similarity index 63%
rename from dblib/provider/src/test/java/org/onap/ccsdk/sli/core/dblib/propertiesfileresolver/DblibDefaultFileResolverTest.java
rename to utils/src/test/java/org/onap/ccsdk/sli/core/utils/dblib/DblibDefaultFileResolverTest.java
index 41011e5..4b28d44 100644
--- a/dblib/provider/src/test/java/org/onap/ccsdk/sli/core/dblib/propertiesfileresolver/DblibDefaultFileResolverTest.java
+++ b/utils/src/test/java/org/onap/ccsdk/sli/core/utils/dblib/DblibDefaultFileResolverTest.java
@@ -1,23 +1,24 @@
-package org.onap.ccsdk.sli.core.dblib.propertiesfileresolver;
+package org.onap.ccsdk.sli.core.utils.dblib;
 
 import static org.junit.Assert.*;
 
 import java.io.File;
 import java.util.Optional;
 import org.junit.Test;
+import org.onap.ccsdk.sli.core.utils.PropertiesFileResolver;
 
 public class DblibDefaultFileResolverTest {
 
     @Test
     public void resolveFile() throws Exception {
-        final DblibPropertiesFileResolver resolver = new DblibDefaultFileResolver("success");
+        final PropertiesFileResolver resolver = new DblibDefaultFileResolver("success");
         final Optional<File> file = resolver.resolveFile("doesnotexist.cfg");
         assertFalse(file.isPresent());
     }
 
     @Test
     public void getSuccessfulResolutionMessage() throws Exception {
-        final DblibPropertiesFileResolver resolver = new DblibDefaultFileResolver("success");
+        final PropertiesFileResolver resolver = new DblibDefaultFileResolver("success");
         assertEquals("success", resolver.getSuccessfulResolutionMessage());
     }
 
diff --git a/dblib/provider/src/test/java/org/onap/ccsdk/sli/core/dblib/propertiesfileresolver/DblibEnvVarFileResolverTest.java b/utils/src/test/java/org/onap/ccsdk/sli/core/utils/dblib/DblibEnvVarFileResolverTest.java
similarity index 63%
rename from dblib/provider/src/test/java/org/onap/ccsdk/sli/core/dblib/propertiesfileresolver/DblibEnvVarFileResolverTest.java
rename to utils/src/test/java/org/onap/ccsdk/sli/core/utils/dblib/DblibEnvVarFileResolverTest.java
index 7758989..bae4168 100644
--- a/dblib/provider/src/test/java/org/onap/ccsdk/sli/core/dblib/propertiesfileresolver/DblibEnvVarFileResolverTest.java
+++ b/utils/src/test/java/org/onap/ccsdk/sli/core/utils/dblib/DblibEnvVarFileResolverTest.java
@@ -1,22 +1,23 @@
-package org.onap.ccsdk.sli.core.dblib.propertiesfileresolver;
+package org.onap.ccsdk.sli.core.utils.dblib;
 
 import static org.junit.Assert.*;
 
 import java.io.File;
 import java.util.Optional;
 import org.junit.Test;
+import org.onap.ccsdk.sli.core.utils.PropertiesFileResolver;
 
 public class DblibEnvVarFileResolverTest {
     @Test
     public void resolveFile() throws Exception {
-        final DblibPropertiesFileResolver resolver = new DblibEnvVarFileResolver("success");
+        final PropertiesFileResolver resolver = new DblibEnvVarFileResolver("success");
         final Optional<File> file = resolver.resolveFile("doesnotexist.cfg");
         assertFalse(file.isPresent());
     }
 
     @Test
     public void getSuccessfulResolutionMessage() throws Exception {
-        final DblibPropertiesFileResolver resolver = new DblibEnvVarFileResolver("success");
+        final PropertiesFileResolver resolver = new DblibEnvVarFileResolver("success");
         assertEquals("success", resolver.getSuccessfulResolutionMessage());
     }