POM Updates

*Added the ONAP parent POM to the project POM
*Introduced support for building and pushing Docker images in the POM
*Added basic Dockerfile
*Updated source to comply with checkstyles in parent POM

Change-Id: Ieabd0a911359b107ea0a5b2e65ca3260f990e3cd
Issue-ID: DCAEGEN2-1123
Signed-off-by: JoeOLeary <joseph.o.leary@est.tech>
diff --git a/pom.xml b/pom.xml
index 266a8c0..4edcd0f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -28,6 +28,12 @@
     <artifactId>pm-mapper</artifactId>
     <version>1.0-SNAPSHOT</version>
 
+    <parent>
+        <groupId>org.onap.oparent</groupId>
+        <artifactId>oparent</artifactId>
+        <version>1.2.0</version>
+    </parent>
+
     <properties>
         <!-- Dependency Versions -->
         <lombok.version>1.18.4</lombok.version>
@@ -45,8 +51,15 @@
         <!-- Plugin Versions -->
         <shade.plugin.version>3.2.0</shade.plugin.version>
         <jacoco.version>0.8.2</jacoco.version>
-        <!-- Plugin Settings -->
+        <dockerfile.version>1.4.10</dockerfile.version>
         <surefire.version>2.22.0</surefire.version>
+        <!-- Plugin Settings -->
+        <sonar.language>java</sonar.language>
+        <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
+        <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath>
+        <sonar.jacoco.reportPaths>${project.build.directory}/coverage-reports/jacoco.exec</sonar.jacoco.reportPaths>
+        <sonar.jacoco.itReportPath>${project.build.directory}/coverage-reports/jacoco-it.exec</sonar.jacoco.itReportPath>
+        <sonar.projectVersion>${project.version}</sonar.projectVersion>
         <compiler.target.version>1.8</compiler.target.version>
         <compiler.source.version>1.8</compiler.source.version>
         <shade.main>org.onap.dcaegen2.services.pmmapper.App</shade.main>
@@ -127,16 +140,29 @@
     <build>
         <plugins>
             <plugin>
+                <groupId>com.spotify</groupId>
+                <artifactId>dockerfile-maven-plugin</artifactId>
+                <version>${dockerfile.version}</version>
+                <configuration>
+                    <repository>${docker.push.registry}/${project.artifactId}</repository>
+                    <tag>${project.version}</tag>
+                    <dockerfile>${project.build.outputDirectory}/Dockerfile</dockerfile>
+                    <buildArgs>
+                        <JAR>${project.build.finalName}-jar-with-dependencies.jar</JAR>
+                    </buildArgs>
+                </configuration>
+            </plugin>
+            <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-surefire-plugin</artifactId>
                 <version>${surefire.version}</version>
+                <configuration combine.self="override"/>
             </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-failsafe-plugin</artifactId>
                 <version>${surefire.version}</version>
             </plugin>
-
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-shade-plugin</artifactId>
@@ -148,6 +174,7 @@
                         </goals>
                         <configuration>
                             <shadedArtifactAttached>true</shadedArtifactAttached>
+                            <shadedClassifierName>jar-with-dependencies</shadedClassifierName>
                             <transformers>
                                 <transformer implementation="${shade.transformer}">
                                     <mainClass>${shade.main}</mainClass>
@@ -161,8 +188,8 @@
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
                 <configuration>
-                    <source>8</source>
-                    <target>8</target>
+                    <source>${maven.compiler.source}</source>
+                    <target>${maven.compiler.target}</target>
                 </configuration>
             </plugin>
             <plugin>