Blueprints Processor Microservice

Refactor functon module as seperate module project.

Change-Id: I392fc62e6dfb6c5f38f478c00e46460d5084f85c
Issue-ID: CCSDK-688
Signed-off-by: Muthuramalingam, Brinda Santh(bs2796) <bs2796@att.com>
diff --git a/ms/blueprintsprocessor/parent/pom.xml b/ms/blueprintsprocessor/parent/pom.xml
index a53ea2d..761fdc7 100644
--- a/ms/blueprintsprocessor/parent/pom.xml
+++ b/ms/blueprintsprocessor/parent/pom.xml
@@ -32,13 +32,15 @@
     <properties>
         <spring.boot.version>2.0.6.RELEASE</spring.boot.version>
         <spring.version>5.0.10.RELEASE</spring.version>
-        <kotlin.version>1.3.0</kotlin.version>
+        <kotlin.version>1.3.10</kotlin.version>
+        <kotlin.maven.version>1.3.0</kotlin.maven.version>
         <kotlin.couroutines.version>1.0.1</kotlin.couroutines.version>
         <eelf.version>1.0.0</eelf.version>
         <sli.version>0.3.1</sli.version>
         <guava.version>26.0-jre</guava.version>
         <springfox.swagger2.version>2.9.2</springfox.swagger2.version>
         <h2database.version>1.4.197</h2database.version>
+        <onap.logger.slf4j>1.2.2</onap.logger.slf4j>
         <powermock.version>1.7.4</powermock.version>
     </properties>
     <dependencyManagement>
@@ -58,6 +60,11 @@
                 <artifactId>eelf-core</artifactId>
                 <version>${eelf.version}</version>
             </dependency>
+            <dependency>
+                <groupId>org.onap.logging-analytics</groupId>
+                <artifactId>logging-slf4j</artifactId>
+                <version>${onap.logger.slf4j}</version>
+            </dependency>
 
             <!-- Kotlin Dependencies -->
             <dependency>
@@ -124,6 +131,10 @@
                         <groupId>org.mariadb.jdbc</groupId>
                         <artifactId>*</artifactId>
                     </exclusion>
+                    <exclusion>
+                        <groupId>org.powermock</groupId>
+                        <artifactId>*</artifactId>
+                    </exclusion>
                 </exclusions>
             </dependency>
 
@@ -146,11 +157,6 @@
             </dependency>
             <dependency>
                 <groupId>org.onap.ccsdk.apps.blueprintsprocessor</groupId>
-                <artifactId>db-service</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.onap.ccsdk.apps.blueprintsprocessor</groupId>
                 <artifactId>execution-service</artifactId>
                 <version>${project.version}</version>
             </dependency>
@@ -161,11 +167,6 @@
             </dependency>
             <dependency>
                 <groupId>org.onap.ccsdk.apps.blueprintsprocessor</groupId>
-                <artifactId>resolution-service</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.onap.ccsdk.apps.blueprintsprocessor</groupId>
                 <artifactId>resource-api</artifactId>
                 <version>${project.version}</version>
             </dependency>
@@ -175,6 +176,13 @@
                 <version>${project.version}</version>
             </dependency>
 
+            <!-- Functions -->
+            <dependency>
+                <groupId>org.onap.ccsdk.apps.blueprintsprocessor.functions</groupId>
+                <artifactId>resource-resolution</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+
             <!-- Application Component Dependency -->
             <dependency>
                 <groupId>org.onap.ccsdk.apps.controllerblueprints</groupId>
@@ -226,6 +234,7 @@
                 <groupId>com.h2database</groupId>
                 <artifactId>h2</artifactId>
                 <version>${h2database.version}</version>
+                <scope>test</scope>
             </dependency>
             <!-- Test Dependency -->
             <dependency>
@@ -242,20 +251,60 @@
             </dependency>
         </dependencies>
     </dependencyManagement>
-    <dependencies>
 
-        <!-- Application Component Dependency -->
+    <dependencies>
         <dependency>
-            <groupId>org.onap.ccsdk.apps.controllerblueprints</groupId>
-            <artifactId>resource-dict</artifactId>
+            <groupId>com.att.eelf</groupId>
+            <artifactId>eelf-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.logging-analytics</groupId>
+            <artifactId>logging-slf4j</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>commons-collections</groupId>
+            <artifactId>commons-collections</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.jayway.jsonpath</groupId>
+            <artifactId>json-path</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.springfox</groupId>
+            <artifactId>springfox-swagger2</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.springfox</groupId>
+            <artifactId>springfox-swagger-ui</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.jetbrains.kotlin</groupId>
+            <artifactId>kotlin-stdlib</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.jetbrains.kotlin</groupId>
+            <artifactId>kotlin-stdlib-jdk8</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.module</groupId>
+            <artifactId>jackson-module-kotlin</artifactId>
         </dependency>
     </dependencies>
+
     <build>
         <plugins>
             <plugin>
                 <groupId>org.jetbrains.kotlin</groupId>
                 <artifactId>kotlin-maven-plugin</artifactId>
-                <version>${kotlin.version}</version>
+                <version>${kotlin.maven.version}</version>
                 <executions>
                     <execution>
                         <id>compile</id>