Add kafka listener for data updated events

See "Running via Docker Compose" section from README.md file to have an
example of event processing

Issue-ID: CPS-371
Signed-off-by: Bruno Sakoto <bruno.sakoto@bell.ca>
Change-Id: Id3abfa32fb04e07102a5f28e6e43a9b533391188
diff --git a/pom.xml b/pom.xml
index c38b565..7f2318b 100755
--- a/pom.xml
+++ b/pom.xml
@@ -45,26 +45,29 @@
         <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
         <minimum-coverage>0.8</minimum-coverage>
         <!-- Application dependencies versions -->
-        <spring-boot-dependencies.version>2.3.8.RELEASE</spring-boot-dependencies.version>
+        <cps.events.version>1.1.0-SNAPSHOT</cps.events.version>
         <hibernate-types.version>2.10.0</hibernate-types.version>
         <liquibase-core.version>4.3.2</liquibase-core.version>
+        <lombok.version>1.18.20</lombok.version>
+        <mapstruct.version>1.4.2.Final</mapstruct.version>
+        <spring-boot-dependencies.version>2.3.8.RELEASE</spring-boot-dependencies.version>
         <!-- Tests dependencies versions -->
-        <spock-bom.version>2.0-M4-groovy-3.0</spock-bom.version>
+        <archunit-junit5.version>0.18.0</archunit-junit5.version>
         <groovy.version>3.0.7</groovy.version>
         <junit-jupiter.version>1.15.2</junit-jupiter.version>
+        <spock-bom.version>2.0-M4-groovy-3.0</spock-bom.version>
         <testcontainers-postgresql.version>1.15.2</testcontainers-postgresql.version>
-        <archunit-junit5.version>0.18.0</archunit-junit5.version>
         <!-- Plugins and plugins dependencies versions -->
-        <spring-boot-maven-plugin.version>2.3.3.RELEASE</spring-boot-maven-plugin.version>
+        <bug-pattern.version>1.5.0</bug-pattern.version>
+        <cps.checkstyle.version>1.0.1</cps.checkstyle.version>
+        <cps.spotbugs.version>1.0.1</cps.spotbugs.version>
         <gmavenplus-plugin.version>1.12.1</gmavenplus-plugin.version>
         <jib-maven-plugin.version>3.0.0</jib-maven-plugin.version>
         <oparent.version>3.2.0</oparent.version>
-        <cps.checkstyle.version>1.0.1</cps.checkstyle.version>
-        <cps.spotbugs.version>1.0.1</cps.spotbugs.version>
         <spotbugs-maven-plugin.version>4.1.3</spotbugs-maven-plugin.version>
-        <spotbugs.version>4.2.0</spotbugs.version>
         <spotbugs.slf4j.version>1.8.0-beta4</spotbugs.slf4j.version>
-        <bug-pattern.version>1.5.0</bug-pattern.version>
+        <spotbugs.version>4.2.0</spotbugs.version>
+        <spring-boot-maven-plugin.version>2.3.3.RELEASE</spring-boot-maven-plugin.version>
     </properties>
 
     <dependencyManagement>
@@ -117,6 +120,20 @@
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-validation</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.mapstruct</groupId>
+            <artifactId>mapstruct</artifactId>
+            <version>${mapstruct.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.kafka</groupId>
+            <artifactId>spring-kafka</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.cps</groupId>
+            <artifactId>cps-events</artifactId>
+            <version>${cps.events.version}</version>
+        </dependency>
         <!-- Runtime dependencies-->
         <dependency>
             <groupId>org.postgresql</groupId>
@@ -163,6 +180,17 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>org.testcontainers</groupId>
+            <artifactId>kafka</artifactId>
+            <version>1.15.3</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.kafka</groupId>
+            <artifactId>spring-kafka-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>com.tngtech.archunit</groupId>
             <artifactId>archunit-junit5</artifactId>
             <version>${archunit-junit5.version}</version>
@@ -173,6 +201,25 @@
     <build>
         <plugins>
             <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>3.8.1</version>
+                <configuration>
+                    <annotationProcessorPaths>
+                        <path>
+                            <groupId>org.projectlombok</groupId>
+                            <artifactId>lombok</artifactId>
+                            <version>${lombok.version}</version>
+                        </path>
+                        <path>
+                            <groupId>org.mapstruct</groupId>
+                            <artifactId>mapstruct-processor</artifactId>
+                            <version>${mapstruct.version}</version>
+                        </path>
+                    </annotationProcessorPaths>
+                </configuration>
+            </plugin>
+            <plugin>
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-maven-plugin</artifactId>
                 <version>${spring-boot-maven-plugin.version}</version>