Updated Java to Ver. 11 46/110046/6
authorGuangrongFu <fu.guangrong@zte.com.cn>
Fri, 10 Jul 2020 01:19:47 +0000 (09:19 +0800)
committerGuangrongFu <fu.guangrong@zte.com.cn>
Thu, 16 Jul 2020 01:12:01 +0000 (09:12 +0800)
Changed the base image to onap/integration-java11:7.0.0

Change-Id: Ib8e2e0d204364bbe4af4055a2d4fef457080b2ef
Issue-ID: HOLMES-302
Signed-off-by: GuangrongFu <fu.guangrong@zte.com.cn>
engine-d-standalone/pom.xml
engine-d-standalone/src/main/assembly/Dockerfile
engine-d-standalone/src/main/assembly/bin/run.sh
engine-d-standalone/src/main/assembly/conf/engine-d.yml
engine-d/pom.xml
engine-d/src/main/java/org/onap/holmes/engine/mqconsumer/MQConsumer.java [deleted file]
engine-d/src/test/java/org/onap/holmes/dsa/dmaappolling/SubscriberTest.java
engine-d/src/test/java/org/onap/holmes/engine/dmaap/SubscriberActionTest.java
engine-d/src/test/java/org/onap/holmes/engine/mqconsumer/MQConsumerTest.java [deleted file]
pom.xml

index e13f013..2b74693 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 <!--
 
-    Copyright 2017 ZTE Corporation.
+    Copyright 2017-2020 ZTE Corporation.
 
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
         <build.number>${maven.build.timestamp}</build.number>
     </properties>
 
+    <dependencies>
+        <dependency>
+            <groupId>org.onap.holmes.engine-management</groupId>
+            <artifactId>holmes-engine-d</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+    </dependencies>
+
     <build>
         <plugins>
             <plugin>
-                <artifactId>maven-resources-plugin</artifactId>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-dependency-plugin</artifactId>
                 <executions>
                     <execution>
-                        <id>copy-resources-${linux64id}</id>
+                        <id>copy-dependencies</id>
                         <phase>process-resources</phase>
                         <goals>
-                            <goal>copy-resources</goal>
+                            <goal>copy-dependencies</goal>
                         </goals>
-                        <configuration>
-                            <outputDirectory>${linux64outputdir}</outputDirectory>
-                            <resources>
-                                <resource>
-                                    <directory>src/main/assembly/</directory>
-                                    <filtering>false</filtering>
-                                    <includes>
-                                        <include>**/*</include>
-                                    </includes>
-                                    <excludes>
-                                        <exclude>**/*.bat</exclude>
-                                    </excludes>
-                                </resource>
-                                <resource>
-                                    <directory>../engine-d/src/main/resources</directory>
-                                    <filtering>false</filtering>
-                                </resource>
-                            </resources>
-                            <overwrite>true</overwrite>
-                        </configuration>
                     </execution>
+                </executions>
+                <configuration>
+                    <outputDirectory>${linux64outputdir}/lib</outputDirectory>
+                    <includeScope>runtime</includeScope>
+                </configuration>
+            </plugin>
+            <plugin>
+                <artifactId>maven-resources-plugin</artifactId>
+                <executions>
                     <execution>
-                        <id>copy-resources-${win64id}</id>
+                        <id>copy-resources-${linux64id}</id>
                         <phase>process-resources</phase>
                         <goals>
                             <goal>copy-resources</goal>
                         </goals>
                         <configuration>
-                            <outputDirectory>${win64outputdir}</outputDirectory>
+                            <outputDirectory>${linux64outputdir}</outputDirectory>
                             <resources>
                                 <resource>
                                     <directory>src/main/assembly/</directory>
@@ -84,7 +82,7 @@
                                         <include>**/*</include>
                                     </includes>
                                     <excludes>
-                                        <exclude>**/*.sh</exclude>
+                                        <exclude>**/*.bat</exclude>
                                     </excludes>
                                 </resource>
                                 <resource>
                     </execution>
                 </executions>
             </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-dependency-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>copy-jar-${linux64id}</id>
-                        <goals>
-                            <goal>copy</goal>
-                        </goals>
-                        <phase>prepare-package</phase>
-                        <configuration>
-                            <artifactItems>
-                                <artifactItem>
-                                    <groupId>org.onap.holmes.engine-management</groupId>
-                                    <artifactId>holmes-engine-d</artifactId>
-                                    <type>jar</type>
-                                    <overWrite>true</overWrite>
-                                    <outputDirectory>${linux64outputdir}</outputDirectory>
-                                    <destFileName>holmes-engine-d.jar</destFileName>
-                                </artifactItem>
-                            </artifactItems>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>copy-jar-${win64id}</id>
-                        <goals>
-                            <goal>copy</goal>
-                        </goals>
-                        <phase>prepare-package</phase>
-                        <configuration>
-                            <artifactItems>
-                                <artifactItem>
-                                    <groupId>org.onap.holmes.engine-management</groupId>
-                                    <artifactId>holmes-engine-d</artifactId>
-                                    <type>jar</type>
-                                    <overWrite>true</overWrite>
-                                    <outputDirectory>${win64outputdir}</outputDirectory>
-                                    <destFileName>holmes-engine-d.jar</destFileName>
-                                </artifactItem>
-                            </artifactItems>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-assembly-plugin</artifactId>
                             <goal>attached</goal>
                         </goals>
                     </execution>
-                    <execution>
-                        <id>win64</id>
-                        <configuration>
-                            <descriptors>
-                                <descriptor>win64-assembly.xml</descriptor>
-                            </descriptors>
-                            <appendAssemblyId>true</appendAssemblyId>
-                            <outputDirectory>target/version</outputDirectory>
-                        </configuration>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>attached</goal>
-                        </goals>
-                    </execution>
                 </executions>
             </plugin>
             <plugin>
-                <groupId>org.codehaus.groovy.maven</groupId>
-                <artifactId>gmaven-plugin</artifactId>
+                <groupId>org.codehaus.gmaven</groupId>
+                <artifactId>groovy-maven-plugin</artifactId>
                 <executions>
                     <execution>
                         <phase>validate</phase>
             </build>
         </profile>
     </profiles>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.onap.holmes.engine-management</groupId>
-            <artifactId>holmes-engine-d</artifactId>
-            <version>${project.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>ch.qos.logback</groupId>
-                    <artifactId>logback</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.hibernate</groupId>
-                    <artifactId>hibernate-validator</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.slf4j</groupId>
-                    <artifactId>slf4j-api</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.eclipse.jetty</groupId>
-                    <artifactId>jetty-http</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.eclipse.jetty</groupId>
-                    <artifactId>jetty-util</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.eclipse.jetty</groupId>
-                    <artifactId>jetty-server</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.eclipse.jetty</groupId>
-                    <artifactId>jetty-servlet</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-    </dependencies>
 </project>
index 6ea28d8..a1f427a 100644 (file)
@@ -1,49 +1,25 @@
-FROM openresty/openresty:alpine
+FROM onap/integration-java11:7.0.0
 
 MAINTAINER "Guangrong Fu" <fu.guangrong@zte.com.cn>
 
+USER root
+
+# 9102 - service port
+# 9202 - debugging port
 EXPOSE 9102 9202
 
 ENV HOSTNAME=holmes-engine-mgmt \
-    LANG=C.UTF-8 \
-    JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk \
-    PATH=$PATH:/usr/lib/jvm/java-1.8-openjdk/jre/bin:/usr/lib/jvm/java-1.8-openjdk/bin \
-    JAVA_ALPINE_VERSION=8.242.08-r0 \
-    PG_VERSION=12.2-r0
-
-#add the backend package to the docker image
-WORKDIR /home/holmes
-ADD holmes-engine-d-standalone-*-linux64.tar.gz /home/holmes/
-
-# add a simple script that can auto-detect the appropriate JAVA_HOME value
-# based on whether the JDK or only the JRE is installed
-RUN { \
-        echo '#!/bin/sh'; \
-        echo 'set -e'; \
-        echo; \
-        echo 'dirname "$(dirname "$(readlink -f "$(which javac || which java)")")"'; \
-    } > /usr/local/bin/docker-java-home \
-    && chmod +x /usr/local/bin/docker-java-home \
-    && set -x \
-    #install java-1.8-openjdk
-    && apk add --no-cache openjdk8="$JAVA_ALPINE_VERSION" \
-    && [ "$JAVA_HOME" = "$(docker-java-home)" ] \
-    #install neccessary tools
-    && apk upgrade \
-    && apk update \
-    && apk add --no-cache curl \
-    && apk add --no-cache wget \
-    && apk add --no-cache postgresql-client="$PG_VERSION" \
-    && apk add --no-cache nss \
-
-    #switch the user to holmes
-    && addgroup -S holmes && adduser -S -G holmes holmes \
-
-    && chmod -R a+rw /home/holmes/ \
-    && chmod -R a+rw /var/log/ \
-    && chmod 755 /home/holmes/bin/*.sh
+    LANG=C.UTF-8
 
-USER holmes
+ADD holmes-engine-d-standalone-*-linux64.tar.gz /opt/onap/
+
+RUN apt-get upgrade \
+    && apt-get update \
+    && apt-get install -y curl postgresql-client-11 \
+    && chmod -R a+rw /opt/onap/ \
+    && chmod -R a+rw /var/log/ \
+    && chmod 755 /opt/onap/bin/*.sh
 
-CMD ["sh", "/home/holmes/bin/run.sh"]
+USER onap
+ENTRYPOINT ["sh", "/opt/onap/bin/run.sh"]
 
index 77a96cc..7c800b5 100644 (file)
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 #
-# Copyright 2017 ZTE Corporation.
+# Copyright 2017-2020 ZTE Corporation.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -25,12 +25,12 @@ JAVA="$JAVA_HOME/bin/java"
 echo @JAVA@ $JAVA
 main_path=$RUNHOME/..
 cd $main_path
-JAVA_OPTS="-Xms128m -Xmx512m"
+JAVA_OPTS="-Xms256m -Xmx1g"
 port=8312
-#JAVA_OPTS="$JAVA_OPTS -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=$port,server=y,suspend=n"
+#JAVA_OPTS="$JAVA_OPTS -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=*:$port,server=y,suspend=n"
 echo @JAVA_OPTS@ $JAVA_OPTS
 
-class_path="$main_path/:$main_path/holmes-engine-d.jar"
+class_path="$main_path/lib/*"
 echo @class_path@ $class_path
 
 if [ -z ${JDBC_USERNAME} ]; then
@@ -55,7 +55,7 @@ sed -i "s|password:.*|password: $JDBC_PASSWORD|" "$main_path/conf/engine-d.yml"
 export SERVICE_IP=`hostname -i`
 echo SERVICE_IP=${SERVICE_IP}
 
-if [ ! -z ${TESTING} ] && [ ${TESTING} == 1 ]; then
+if [ ! -z ${TESTING} -a ${TESTING} = 1 ]; then
     if [ ! -z ${HOST_IP} ]; then
         export HOSTNAME=${HOST_IP}:9102
     else
@@ -64,7 +64,7 @@ if [ ! -z ${TESTING} ] && [ ${TESTING} == 1 ]; then
 fi
 
 export DB_PORT=5432
-if [ ! -z ${URL_JDBC} ] && [ `expr index $URL_JDBC :` != 0 ]; then
+if [ ! -z ${URL_JDBC} -a `expr index $URL_JDBC :` != 0 ]; then
     export DB_PORT="${URL_JDBC##*:}"
 fi
 echo DB_PORT=$DB_PORT
@@ -74,13 +74,13 @@ if [ -z ${ENABLE_ENCRYPT} ]; then
 fi
 echo ENABLE_ENCRYPT=$ENABLE_ENCRYPT
 
-KEY_PATH="/home/holmes/conf/holmes.keystore"
+KEY_PATH="/opt/onap/conf/holmes.keystore"
 KEY_PASSWORD="holmes"
 #HTTPS Configurations
 sed -i "s|keyStorePath:.*|keyStorePath: $KEY_PATH|" "$main_path/conf/engine-d.yml"
 sed -i "s|keyStorePassword:.*|keyStorePassword: $KEY_PASSWORD|" "$main_path/conf/engine-d.yml"
 
-if [ ${ENABLE_ENCRYPT} == true ]; then
+if [ ${ENABLE_ENCRYPT} = true ]; then
     sed -i "s|type:\s*https\?$|type: https|" "$main_path/conf/engine-d.yml"
     sed -i "s|#\?keyStorePath|keyStorePath|" "$main_path/conf/engine-d.yml"
     sed -i "s|#\?keyStorePassword|keyStorePassword|" "$main_path/conf/engine-d.yml"
index ca4f243..103fe47 100644 (file)
@@ -21,7 +21,7 @@ server:
   connector:
     type: https
     port: 9102
-    keyStorePath: /home/holmes/conf/holmes.keystore
+    keyStorePath: /opt/onap/conf/holmes.keystore
     keyStorePassword: holmes
     validateCerts: false
     validatePeers: false
index 9c62644..b86b4ab 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!--
-  ~ Copyright 2017 ZTE Corporation.
+  ~ Copyright 2017-2020 ZTE Corporation.
   ~
   ~ Licensed under the Apache License, Version 2.0 (the "License");
   ~ you may not use this file except in compliance with the License.
     <name>holmes-engine-d-service</name>
     <packaging>jar</packaging>
 
-    <properties>
-        <drools.version>6.5.0.Final</drools.version>
-        <jetty.version>9.4.18.v20190429</jetty.version>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.hibernate</groupId>
-            <artifactId>hibernate-validator</artifactId>
-            <version>5.4.2.Final</version>
-        </dependency>
-        <dependency>
-            <groupId>ch.qos.logback</groupId>
-            <artifactId>logback-classic</artifactId>
-            <version>1.2.3</version>
-        </dependency>
-        <dependency>
-            <groupId>net.sf.json-lib</groupId>
-            <artifactId>json-lib</artifactId>
-            <version>2.4</version>
-            <classifier>jdk15</classifier>
-            <exclusions>
-                <exclusion>
-                    <groupId>commons-collections</groupId>
-                    <artifactId>commons-collections</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>commons-beanutils</groupId>
-                    <artifactId>commons-beanutils</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>commons-collections</groupId>
-            <artifactId>commons-collections</artifactId>
-            <version>3.2.2</version>
-        </dependency>
-        <dependency>
-            <groupId>org.onap.msb.java-sdk</groupId>
-            <artifactId>msb-java-sdk</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>ch.qos.logback</groupId>
-                    <artifactId>logback-classic</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>com.fasterxml.jackson.core</groupId>
-                    <artifactId>jackson-databind</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>com.fasterxml.jackson.core</groupId>
-                    <artifactId>jackson-core</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.slf4j</groupId>
-                    <artifactId>slf4j-api</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.eclipse.jetty</groupId>
-                    <artifactId>jetty-server</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>com.squareup.okhttp3</groupId>
-                    <artifactId>okhttp</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.reflections</groupId>
-            <artifactId>reflections</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.onap.holmes.common</groupId>
-            <artifactId>holmes-actions</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>io.dropwizard</groupId>
-                    <artifactId>dropwizard-db</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>io.dropwizard</groupId>
-                    <artifactId>dropwizard-core</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.glassfish.jersey.containers</groupId>
-                    <artifactId>jersey-container-servlet-core</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>io.swagger</groupId>
-                    <artifactId>swagger-jersey2-jaxrs</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.slf4j</groupId>
-                    <artifactId>slf4j-api</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.jersey.containers</groupId>
-            <artifactId>jersey-container-servlet-core</artifactId>
-            <version>2.22.2</version>
-        </dependency>
-        <dependency>
-            <groupId>org.easymock</groupId>
-            <artifactId>easymock</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.drools</groupId>
-            <artifactId>drools-core</artifactId>
-            <version>${drools.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.slf4j</groupId>
-                    <artifactId>slf4j-api</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.drools</groupId>
-            <artifactId>drools-compiler</artifactId>
-            <version>${drools.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.eclipse.jdt.core.compiler</groupId>
-                    <artifactId>ecj</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.slf4j</groupId>
-                    <artifactId>slf4j-api</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.eclipse.jdt.core.compiler</groupId>
-            <artifactId>ecj</artifactId>
-            <version>4.5.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.drools</groupId>
-            <artifactId>drools-templates</artifactId>
-            <version>${drools.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>io.dropwizard</groupId>
-            <artifactId>dropwizard-db</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.antlr</groupId>
-            <artifactId>stringtemplate</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>io.dropwizard</groupId>
-            <artifactId>dropwizard-core</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>ch.qos.logback</groupId>
-                    <artifactId>logback</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.hibernate</groupId>
-                    <artifactId>hibernate-validator</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.slf4j</groupId>
-                    <artifactId>slf4j-api</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.eclipse.jetty</groupId>
-                    <artifactId>jetty-http</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.eclipse.jetty</groupId>
-                    <artifactId>jetty-util</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.eclipse.jetty</groupId>
-                    <artifactId>jetty-server</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.eclipse.jetty</groupId>
-                    <artifactId>jetty-servlet</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.eclipse.jetty</groupId>
-            <artifactId>jetty-server</artifactId>
-            <version>${jetty.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.eclipse.jetty</groupId>
-            <artifactId>jetty-http</artifactId>
-            <version>${jetty.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.eclipse.jetty</groupId>
-            <artifactId>jetty-util</artifactId>
-            <version>${jetty.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.eclipse.jetty</groupId>
-            <artifactId>jetty-servlet</artifactId>
-            <version>${jetty.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.squareup.okhttp3</groupId>
-            <artifactId>okhttp</artifactId>
-            <version>3.14.1</version>
-        </dependency>
-        <dependency>
-            <groupId>io.dropwizard</groupId>
-            <artifactId>dropwizard-jdbi</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.projectlombok</groupId>
-            <artifactId>lombok</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.postgresql</groupId>
-            <artifactId>postgresql</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.hamcrest</groupId>
-            <artifactId>hamcrest-core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.powermock</groupId>
-            <artifactId>powermock-module-junit4</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.powermock</groupId>
-            <artifactId>powermock-api-mockito</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>io.swagger</groupId>
-            <artifactId>swagger-jersey2-jaxrs</artifactId>
-            <scope>provided</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>com.fasterxml.jackson.core</groupId>
-                    <artifactId>jackson-core</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>com.fasterxml.jackson.core</groupId>
-                    <artifactId>jackson-databind</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.powermock</groupId>
-            <artifactId>powermock-api-easymock</artifactId>
-            <version>1.6.5</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.powermock</groupId>
-            <artifactId>powermock-module-junit4-rule</artifactId>
-            <version>1.6.5</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.powermock</groupId>
-            <artifactId>powermock-classloading-xstream</artifactId>
-            <version>1.6.5</version>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>com.thoughtworks.xstream</groupId>
-                    <artifactId>xstream</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>com.thoughtworks.xstream</groupId>
-            <artifactId>xstream</artifactId>
-            <version>1.4.10</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.httpcomponents</groupId>
-            <artifactId>httpclient</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-        </dependency>
-    </dependencies>
-
     <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-jar-plugin</artifactId>
-                <configuration>
-                    <archive>
-                        <manifest>
-                            <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
-                        </manifest>
-                    </archive>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-shade-plugin</artifactId>
-                <configuration>
-                    <createDependencyReducedPom>true</createDependencyReducedPom>
-                    <filters>
-                        <filter>
-                            <artifact>*:*</artifact>
-                            <excludes>
-                                <exclude>META-INF/*.SF</exclude>
-                                <exclude>META-INF/*.DSA</exclude>
-                                <exclude>META-INF/*.RSA</exclude>
-                            </excludes>
-                        </filter>
-                    </filters>
-                </configuration>
-                <executions>
-                    <execution>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>shade</goal>
-                        </goals>
-                        <configuration>
-                            <transformers>
-                                <transformer
-                                        implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
-                                <transformer
-                                        implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
-                                    <mainClass>org.onap.holmes.engine.EngineDActiveApp
-                                    </mainClass>
-                                </transformer>
-                            </transformers>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
         <resources>
             <resource>
                 <directory>src/main/java</directory>
diff --git a/engine-d/src/main/java/org/onap/holmes/engine/mqconsumer/MQConsumer.java b/engine-d/src/main/java/org/onap/holmes/engine/mqconsumer/MQConsumer.java
deleted file mode 100644 (file)
index e77146f..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-/**
- * Copyright 2017 ZTE Corporation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onap.holmes.engine.mqconsumer;
-
-import java.io.Serializable;
-import javax.inject.Inject;
-import javax.jms.Connection;
-import javax.jms.ConnectionFactory;
-import javax.jms.Destination;
-import javax.jms.JMSException;
-import javax.jms.Message;
-import javax.jms.MessageConsumer;
-import javax.jms.MessageListener;
-import javax.jms.Session;
-import lombok.NoArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.activemq.ActiveMQConnectionFactory;
-import org.apache.activemq.command.ActiveMQObjectMessage;
-import org.glassfish.hk2.api.IterableProvider;
-import org.jvnet.hk2.annotations.Service;
-import org.onap.holmes.common.api.stat.VesAlarm;
-import org.onap.holmes.common.config.MQConfig;
-import org.onap.holmes.common.constant.AlarmConst;
-import org.onap.holmes.engine.manager.DroolsEngine;
-
-@Service
-@Slf4j
-@NoArgsConstructor
-public class MQConsumer {
-
-    @Inject
-    private IterableProvider<MQConfig> mqConfigProvider;
-    private ConnectionFactory connectionFactory;
-    private ConnectionFactory connectionFactory1;
-    @Inject
-    private DroolsEngine engine;
-
-    public void registerAlarmTopicListener() {
-        String brokerURL =
-                "tcp://" + mqConfigProvider.get().getBrokerIp() + ":" + mqConfigProvider.get().getBrokerPort();
-        connectionFactory = new ActiveMQConnectionFactory(mqConfigProvider.get().getBrokerUsername(),
-                mqConfigProvider.get().getBrokerPassword(), brokerURL);
-
-        AlarmMqMessageListener listener = new AlarmMqMessageListener();
-        listener.receive();
-    }
-    class AlarmMqMessageListener implements MessageListener {
-
-        private Connection connection = null;
-        private Session session = null;
-        private Destination destination = null;
-        private MessageConsumer consumer = null;
-
-        private void initialize() throws JMSException {
-            connection = connectionFactory.createConnection();
-            session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-            destination = session.createTopic(AlarmConst.MQ_TOPIC_NAME_ALARM);
-            consumer = session.createConsumer(destination);
-            connection.start();
-        }
-
-        public void receive() {
-            try {
-                initialize();
-                consumer.setMessageListener(this);
-            } catch (JMSException e) {
-                log.error("Failed to connect to the MQ service : " + e.getMessage(), e);
-                try {
-                    close();
-                } catch (JMSException e1) {
-                    log.error("Failed close connection  " + e1.getMessage(), e1);
-                }
-            }
-        }
-
-        public void onMessage(Message arg0) {
-            ActiveMQObjectMessage objectMessage = (ActiveMQObjectMessage) arg0;
-            try {
-                Serializable object = objectMessage.getObject();
-                if (object instanceof VesAlarm) {
-                    VesAlarm vesAlarm = (VesAlarm) object;
-                    engine.putRaisedIntoStream(vesAlarm);
-                }
-            } catch (JMSException e) {
-                log.error("Failed get object : " + e.getMessage(), e);
-            }
-        }
-
-        private void close() throws JMSException {
-            if (consumer != null) {
-                consumer.close();
-            }
-            if (session != null) {
-                session.close();
-            }
-            if (connection != null) {
-                connection.close();
-            }
-        }
-    }
-}
index 4b64e6a..3301b89 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2017 ZTE Corporation.
+ * Copyright 2017-2020 ZTE Corporation.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -18,20 +18,18 @@ package org.onap.holmes.dsa.dmaappolling;
 import org.apache.http.HttpResponse;
 import org.apache.http.client.methods.HttpGet;
 import org.apache.http.impl.client.CloseableHttpClient;
+import org.easymock.EasyMock;
 import org.glassfish.hk2.api.ServiceLocator;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.Matchers;
 import org.onap.holmes.common.api.stat.AlarmAdditionalField;
 import org.onap.holmes.common.api.stat.VesAlarm;
 import org.onap.holmes.common.dropwizard.ioc.utils.ServiceLocatorHolder;
 import org.onap.holmes.common.utils.GsonUtil;
 import org.onap.holmes.common.utils.HttpsUtils;
-import org.onap.holmes.dsa.dmaappolling.DMaaPResponseUtil;
-import org.onap.holmes.dsa.dmaappolling.Subscriber;
 import org.powermock.api.easymock.PowerMock;
-import org.powermock.api.mockito.PowerMockito;
+import org.powermock.core.classloader.annotations.PowerMockIgnore;
 import org.powermock.core.classloader.annotations.PrepareForTest;
 import org.powermock.modules.junit4.PowerMockRunner;
 
@@ -42,23 +40,23 @@ import java.util.List;
 import static org.hamcrest.CoreMatchers.*;
 import static org.junit.Assert.assertThat;
 
-@PrepareForTest({ServiceLocatorHolder.class, ServiceLocator.class, HttpsUtils.class})
 @RunWith(PowerMockRunner.class)
+@PrepareForTest({ServiceLocatorHolder.class, ServiceLocator.class, HttpsUtils.class, Subscriber.class})
+@PowerMockIgnore("javax.net.ssl.*")
 public class SubscriberTest {
 
     private DMaaPResponseUtil util = new DMaaPResponseUtil();
 
     @Before
     public void init() {
-        PowerMockito.mockStatic(ServiceLocatorHolder.class);
-        ServiceLocator serviceLocator = PowerMockito.mock(ServiceLocator.class);
-        PowerMockito.when(ServiceLocatorHolder.getLocator()).thenReturn(serviceLocator);
-        PowerMockito.when(serviceLocator.getService(DMaaPResponseUtil.class)).thenReturn(util);
+        PowerMock.mockStatic(ServiceLocatorHolder.class);
+        ServiceLocator serviceLocator = PowerMock.createMock(ServiceLocator.class);
+        EasyMock.expect(ServiceLocatorHolder.getLocator()).andReturn(serviceLocator).anyTimes();
+        EasyMock.expect(serviceLocator.getService(DMaaPResponseUtil.class)).andReturn(util).anyTimes();
     }
 
     @Test
     public void subscribe() throws Exception {
-        PowerMock.resetAll();
         VesAlarm vesAlarm = new VesAlarm();
         vesAlarm.setDomain("ONAP");
         vesAlarm.setEventId("123");
@@ -118,23 +116,29 @@ public class SubscriberTest {
                 "\"specificProblem\": \"specificProblem\"," +
                 "\"vfStatus\": \"vfStatus\"" +
                 "}}}";
-        Subscriber subscriber = new Subscriber();
-        subscriber.setUrl("https://www.onap.org");
-        subscriber.setConsumerGroup("group");
-        subscriber.setConsumer("consumer");
+
         List<String> responseList = new ArrayList<>();
         responseList.add(eventString);
         String responseJson = GsonUtil.beanToJson(responseList);
 
-        PowerMockito.mockStatic(HttpsUtils.class);
-        HttpResponse httpResponse = PowerMockito.mock(HttpResponse.class);
-        PowerMockito.when(HttpsUtils.get(Matchers.any(HttpGet.class),
-                Matchers.any(HashMap.class), Matchers.any(CloseableHttpClient.class))).thenReturn(httpResponse);
-        PowerMockito.when(HttpsUtils.extractResponseEntity(httpResponse)).thenReturn(responseJson);
+        PowerMock.mockStatic(HttpsUtils.class);
+        CloseableHttpClient mockedCloseableHttpClient = PowerMock.createMock(CloseableHttpClient.class);
+        HttpResponse httpResponse = PowerMock.createMock(HttpResponse.class);
+        EasyMock.expect(HttpsUtils.getConditionalHttpsClient(15000)).andReturn(mockedCloseableHttpClient);
+        EasyMock.expect(HttpsUtils.get(EasyMock.anyObject(HttpGet.class),
+                EasyMock.anyObject(HashMap.class), EasyMock.anyObject(CloseableHttpClient.class))).andReturn(httpResponse);
+        EasyMock.expect(HttpsUtils.extractResponseEntity(httpResponse)).andReturn(responseJson);
+        mockedCloseableHttpClient.close();
+        EasyMock.expectLastCall();
 
         PowerMock.replayAll();
 
+        Subscriber subscriber = new Subscriber();
+        subscriber.setUrl("https://www.onap.org");
+        subscriber.setConsumerGroup("group");
+        subscriber.setConsumer("consumer");
         List<VesAlarm> vesAlarms = subscriber.subscribe();
+
         PowerMock.verifyAll();
 
         assertThat(vesAlarm.getEventName(), equalTo(vesAlarms.get(0).getEventName()));
index 247962f..1de85b2 100644 (file)
  */
 package org.onap.holmes.engine.dmaap;
 
-import java.util.HashMap;
 import org.junit.Before;
 import org.junit.Test;
 import org.onap.holmes.dsa.dmaappolling.Subscriber;
 import org.powermock.api.easymock.PowerMock;
 import org.powermock.reflect.Whitebox;
 
+import java.util.HashMap;
+
+
 public class SubscriberActionTest {
 
     private SubscriberAction subscriberAction;
@@ -30,9 +32,9 @@ public class SubscriberActionTest {
     public void setUp() {
         subscriberAction = new SubscriberAction();
         HashMap<String, DMaaPAlarmPolling> dMaaPAlarmPollingHashMap = new HashMap<>();
-        DMaaPAlarmPolling dMaaPAlarmPolling = new DMaaPAlarmPolling(null, null,null);
+        DMaaPAlarmPolling dMaaPAlarmPolling = new DMaaPAlarmPolling(null, null, null);
         dMaaPAlarmPollingHashMap.put("test", dMaaPAlarmPolling);
-        DMaaPAlarmPolling dMaaPAlarmPolling1 = new DMaaPAlarmPolling(null, null,null);
+        DMaaPAlarmPolling dMaaPAlarmPolling1 = new DMaaPAlarmPolling(null, null, null);
         dMaaPAlarmPollingHashMap.put("testTopic", dMaaPAlarmPolling1);
         Whitebox.setInternalState(subscriberAction, "pollingTasks", dMaaPAlarmPollingHashMap);
         PowerMock.replayAll();
diff --git a/engine-d/src/test/java/org/onap/holmes/engine/mqconsumer/MQConsumerTest.java b/engine-d/src/test/java/org/onap/holmes/engine/mqconsumer/MQConsumerTest.java
deleted file mode 100644 (file)
index 5135007..0000000
+++ /dev/null
@@ -1,189 +0,0 @@
-/**
- * Copyright 2017 ZTE Corporation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onap.holmes.engine.mqconsumer;
-
-import static org.easymock.EasyMock.anyBoolean;
-import static org.easymock.EasyMock.anyInt;
-import static org.easymock.EasyMock.anyObject;
-import static org.easymock.EasyMock.expect;
-
-
-import javax.jms.Connection;
-import javax.jms.ConnectionFactory;
-import javax.jms.Destination;
-import javax.jms.JMSException;
-import javax.jms.MessageConsumer;
-import javax.jms.Session;
-import javax.jms.Topic;
-import org.apache.activemq.command.ActiveMQObjectMessage;
-import org.easymock.EasyMock;
-import org.glassfish.hk2.api.IterableProvider;
-import org.junit.Before;
-import org.junit.Test;
-import org.onap.holmes.common.api.stat.Alarm;
-import org.onap.holmes.common.config.MQConfig;
-import org.powermock.api.easymock.PowerMock;
-import org.powermock.reflect.Whitebox;
-
-public class MQConsumerTest {
-
-    private IterableProvider<MQConfig> mqConfigProvider;
-
-    private ConnectionFactory connectionFactory;
-
-    private MQConsumer mqConsumer;
-
-    private MQConsumer mqConsumer1;
-
-    private MQConsumer mqConsumer2;
-
-    @Before
-    public void setUp() {
-
-        mqConsumer = new MQConsumer();
-
-        mqConfigProvider = PowerMock.createMock(IterableProvider.class);
-        connectionFactory = PowerMock.createMock(ConnectionFactory.class);
-
-        Whitebox.setInternalState(mqConsumer, "mqConfigProvider", mqConfigProvider);
-        Whitebox.setInternalState(mqConsumer, "connectionFactory", connectionFactory);
-    }
-
-    @Test
-    public void init() throws Exception {
-        MQConfig mqConfig = new MQConfig();
-        mqConfig.setBrokerIp("127.0.0.1");
-        mqConfig.setBrokerPort(61616);
-        mqConfig.setBrokerPassword("admin");
-        mqConfig.setBrokerUsername("admin");
-
-        expect(mqConfigProvider.get()).andReturn(mqConfig).anyTimes();
-        PowerMock.replayAll();
-
-        PowerMock.verifyAll();
-    }
-
-    @Test
-    public void listener_receive() throws JMSException {
-        MQConsumer.AlarmMqMessageListener listener = mqConsumer.new AlarmMqMessageListener();
-
-        Connection connection = PowerMock.createMock(Connection.class);
-        Session session = PowerMock.createMock(Session.class);
-        Destination destination = PowerMock.createMock(Topic.class);
-        MessageConsumer consumer = PowerMock.createMock(MessageConsumer.class);
-
-        Whitebox.setInternalState(listener, "connection", connection);
-        Whitebox.setInternalState(listener, "session", session);
-        Whitebox.setInternalState(listener, "destination", destination);
-        Whitebox.setInternalState(listener, "consumer", consumer);
-
-        PowerMock.reset();
-
-        expect(connectionFactory.createConnection()).andReturn(connection);
-        connection.start();
-        expect(connection.createSession(anyBoolean(), anyInt())).andReturn(session);
-        expect(session.createTopic(anyObject(String.class))).andReturn((Topic) destination);
-        expect(session.createConsumer(anyObject(Destination.class))).andReturn(consumer);
-        consumer.setMessageListener(listener);
-
-        PowerMock.replayAll();
-
-        listener.receive();
-
-        PowerMock.verifyAll();
-    }
-
-    @Test
-    public void listener_exception() throws JMSException {
-        MQConsumer.AlarmMqMessageListener listener = mqConsumer.new AlarmMqMessageListener();
-
-        Connection connection = PowerMock.createMock(Connection.class);
-        Session session = PowerMock.createMock(Session.class);
-        Destination destination = PowerMock.createMock(Topic.class);
-        MessageConsumer consumer = PowerMock.createMock(MessageConsumer.class);
-
-        Whitebox.setInternalState(listener, "connection", connection);
-        Whitebox.setInternalState(listener, "session", session);
-        Whitebox.setInternalState(listener, "destination", destination);
-        Whitebox.setInternalState(listener, "consumer", consumer);
-
-        PowerMock.reset();
-
-        expect(connectionFactory.createConnection()).andReturn(connection);
-        connection.start();
-        expect(connection.createSession(anyBoolean(), anyInt())).andReturn(session);
-        expect(session.createTopic(anyObject(String.class))).andReturn((Topic) destination);
-        expect(session.createConsumer(anyObject(Destination.class))).andReturn(consumer);
-        consumer.setMessageListener(listener);
-        EasyMock.expectLastCall().andThrow(new JMSException(""));
-
-        consumer.close();
-        session.close();
-        connection.close();
-
-        PowerMock.replayAll();
-
-        listener.receive();
-
-        PowerMock.verifyAll();
-    }
-
-    @Test
-    public void listener_close_exception() throws JMSException {
-        MQConsumer.AlarmMqMessageListener listener = mqConsumer.new AlarmMqMessageListener();
-
-        Connection connection = PowerMock.createMock(Connection.class);
-        Session session = PowerMock.createMock(Session.class);
-        Destination destination = PowerMock.createMock(Topic.class);
-        MessageConsumer consumer = PowerMock.createMock(MessageConsumer.class);
-
-        Whitebox.setInternalState(listener, "connection", connection);
-        Whitebox.setInternalState(listener, "session", session);
-        Whitebox.setInternalState(listener, "destination", destination);
-        Whitebox.setInternalState(listener, "consumer", consumer);
-
-        PowerMock.reset();
-
-        expect(connectionFactory.createConnection()).andReturn(connection);
-        connection.start();
-        expect(connection.createSession(anyBoolean(), anyInt())).andReturn(session);
-        expect(session.createTopic(anyObject(String.class))).andReturn((Topic) destination);
-        expect(session.createConsumer(anyObject(Destination.class))).andReturn(consumer);
-        consumer.setMessageListener(listener);
-        EasyMock.expectLastCall().andThrow(new JMSException(""));
-
-        consumer.close();
-        EasyMock.expectLastCall().andThrow(new JMSException(""));
-
-        PowerMock.replayAll();
-
-        listener.receive();
-
-        PowerMock.verifyAll();
-    }
-
-    @Test
-    public void listener_on_message() throws JMSException {
-        MQConsumer.AlarmMqMessageListener listener = mqConsumer.new AlarmMqMessageListener();
-        Alarm alarm = new Alarm();
-        alarm.setAlarmKey("alarmKey");
-        ActiveMQObjectMessage objectMessage = new ActiveMQObjectMessage();
-        objectMessage.setObject(alarm);
-
-        listener.onMessage(objectMessage);
-    }
-}
diff --git a/pom.xml b/pom.xml
index f419c14..66fde3a 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!--
-  ~ Copyright 2017 ZTE Corporation.
+  ~ Copyright 2017-2020 ZTE Corporation.
   ~
   ~ Licensed under the Apache License, Version 2.0 (the "License");
   ~ you may not use this file except in compliance with the License.
   ~ limitations under the License.
   -->
 <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">
+         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">
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>org.onap.oparent</groupId>
         <artifactId>oparent</artifactId>
-        <version>2.1.0</version>
+        <version>3.0.0</version>
     </parent>
 
     <groupId>org.onap.holmes.engine-management</groupId>
         <module>engine-d</module>
         <module>engine-d-standalone</module>
     </modules>
+
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <maven.compiler.source>11</maven.compiler.source>
+        <maven.compiler.target>11</maven.compiler.target>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-        <maven.test.skip>false</maven.test.skip>
         <maven.test.failure.ignore>false</maven.test.failure.ignore>
+
         <finalName>${project.artifactId}-${project.version}</finalName>
         <release.dir>${basedir}/target</release.dir>
         <bundle.name>${project.artifactId}-${project.version}</bundle.name>
-        <pkgzip.dir>${basedir}/../release/pkgzip</pkgzip.dir>
-        <excludesFile>**/*$*</excludesFile>
-        <nexusproxy>https://nexus.open-o.org/content</nexusproxy>
 
-        <stringtemplate.version>3.2.1</stringtemplate.version>
-        <postgres.jdbc.driver.version>42.2.5</postgres.jdbc.driver.version>
-        <dropwizard.version>1.3.9</dropwizard.version>
-        <swagger.version>1.5.3</swagger.version>
-        <lombok.version>1.16.8</lombok.version>
-        <jersey.version>2.22.2</jersey.version>
-        <jaxrs.consumer.version>5.0</jaxrs.consumer.version>
-        <slf4j.version>1.7.25</slf4j.version>
-        <reflections.version>0.9.9</reflections.version>
+        <drools.version>6.5.0.Final</drools.version>
+        <dropwizard.version>2.0.9</dropwizard.version>
+        <powermock.version>2.0.7</powermock.version>
+        <jacoco.version>0.8.5</jacoco.version>
 
         <packagename>onap-holmes-engine-d</packagename>
         <linux64id>linux64</linux64id>
-        <win64id>win64</win64id>
         <linux64outputdir>target/assembly/${linux64id}</linux64outputdir>
-        <win64outputdir>target/assembly/${win64id}</win64outputdir>
         <version.output>target/version</version.output>
 
-        <jacoco.version>0.8.5</jacoco.version>
         <sonar.coverage.jacoco.xmlReportPaths>
             ${project.reporting.outputDirectory}/jacoco-ut/jacoco.xml
         </sonar.coverage.jacoco.xmlReportPaths>
     </properties>
 
-    <dependencyManagement>
-        <dependencies>
-            <dependency>
-                <groupId>org.postgresql</groupId>
-                <artifactId>postgresql</artifactId>
-                <version>${postgres.jdbc.driver.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.onap.msb.java-sdk</groupId>
-                <artifactId>msb-java-sdk</artifactId>
-                <version>1.1.1</version>
-            </dependency>
-            <dependency>
-                <groupId>com.eclipsesource.jaxrs</groupId>
-                <artifactId>jersey-all</artifactId>
-                <version>2.8</version>
-            </dependency>
-            <dependency>
-                <groupId>org.reflections</groupId>
-                <artifactId>reflections</artifactId>
-                <version>${reflections.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.easymock</groupId>
-                <artifactId>easymock</artifactId>
-                <version>3.0</version>
-            </dependency>
-            <dependency>
-                <groupId>org.onap.holmes.common</groupId>
-                <artifactId>holmes-actions</artifactId>
-                <version>1.2.13</version>
-            </dependency>
-            <dependency>
-                <groupId>io.dropwizard</groupId>
-                <artifactId>dropwizard-core</artifactId>
-                <version>${dropwizard.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>io.dropwizard</groupId>
-                <artifactId>dropwizard-db</artifactId>
-                <version>${dropwizard.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>io.dropwizard</groupId>
-                <artifactId>dropwizard-jdbi</artifactId>
-                <version>${dropwizard.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>io.swagger</groupId>
-                <artifactId>swagger-jersey2-jaxrs</artifactId>
-                <version>${swagger.version}</version>
-                <scope>provided</scope>
-            </dependency>
-
-            <dependency>
-                <groupId>org.projectlombok</groupId>
-                <artifactId>lombok</artifactId>
-                <version>${lombok.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.slf4j</groupId>
-                <artifactId>slf4j-api</artifactId>
-                <version>${slf4j.version}</version>
-            </dependency>
+    <dependencies>
+        <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <version>1.2.3</version>
+        </dependency>
+        <dependency>
+            <groupId>org.postgresql</groupId>
+            <artifactId>postgresql</artifactId>
+            <version>42.2.5</version>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard</groupId>
+            <artifactId>dropwizard-core</artifactId>
+            <version>${dropwizard.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard</groupId>
+            <artifactId>dropwizard-db</artifactId>
+            <version>${dropwizard.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>io.dropwizard</groupId>
+            <artifactId>dropwizard-jdbi</artifactId>
+            <version>2.0.0-rc9</version>
+        </dependency>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <version>1.18.4</version>
+        </dependency>
+        <dependency>
+            <groupId>org.antlr</groupId>
+            <artifactId>stringtemplate</artifactId>
+            <version>3.2.1</version>
+        </dependency>
+        <dependency>
+            <groupId>org.javassist</groupId>
+            <artifactId>javassist</artifactId>
+            <version>3.24.1-GA</version>
+        </dependency>
+        <dependency>
+            <groupId>commons-collections</groupId>
+            <artifactId>commons-collections</artifactId>
+            <version>3.2.2</version>
+        </dependency>
+        <dependency>
+            <groupId>net.sf.json-lib</groupId>
+            <artifactId>json-lib</artifactId>
+            <version>2.4</version>
+            <classifier>jdk15</classifier>
+            <exclusions>
+                <exclusion>
+                    <groupId>commons-collections</groupId>
+                    <artifactId>commons-collections</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>commons-beanutils</groupId>
+                    <artifactId>commons-beanutils</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.msb.java-sdk</groupId>
+            <artifactId>msb-java-sdk</artifactId>
+            <version>1.1.1</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>ch.qos.logback</groupId>
+                    <artifactId>logback-classic</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>com.fasterxml.jackson.core</groupId>
+                    <artifactId>jackson-databind</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>com.fasterxml.jackson.core</groupId>
+                    <artifactId>jackson-core</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>slf4j-api</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.eclipse.jetty</groupId>
+                    <artifactId>jetty-server</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>com.squareup.okhttp3</groupId>
+                    <artifactId>okhttp</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.holmes.common</groupId>
+            <artifactId>holmes-actions</artifactId>
+            <version>1.2.13</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>io.dropwizard</groupId>
+                    <artifactId>dropwizard-db</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>io.dropwizard</groupId>
+                    <artifactId>dropwizard-core</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.glassfish.jersey.containers</groupId>
+                    <artifactId>jersey-container-servlet-core</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.glassfish.hk2</groupId>
+                    <artifactId>hk2-locator</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>io.swagger</groupId>
+                    <artifactId>swagger-jersey2-jaxrs</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>slf4j-api</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.drools</groupId>
+            <artifactId>drools-core</artifactId>
+            <version>${drools.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>slf4j-api</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.drools</groupId>
+            <artifactId>drools-compiler</artifactId>
+            <version>${drools.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.eclipse.jdt.core.compiler</groupId>
+                    <artifactId>ecj</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>slf4j-api</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jdt.core.compiler</groupId>
+            <artifactId>ecj</artifactId>
+            <version>4.5.1</version>
+        </dependency>
+        <dependency>
+            <groupId>org.drools</groupId>
+            <artifactId>drools-templates</artifactId>
+            <version>${drools.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>com.squareup.okhttp3</groupId>
+            <artifactId>okhttp</artifactId>
+            <version>3.14.1</version>
+        </dependency>
+        <dependency>
+            <groupId>io.swagger</groupId>
+            <artifactId>swagger-jersey2-jaxrs</artifactId>
+            <version>1.5.3</version>
+            <scope>provided</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>com.fasterxml.jackson.core</groupId>
+                    <artifactId>jackson-core</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>com.fasterxml.jackson.core</groupId>
+                    <artifactId>jackson-databind</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>javax.validation</groupId>
+                    <artifactId>validation-api</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.glassfish.jersey.containers</groupId>
+                    <artifactId>jersey-container-servlet-core</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+            <version>1.7.25</version>
+        </dependency>
+        <!-- Do NOT remove org.reflections:reflections. Otherwise, the docker will fail to start. -->
+        <dependency>
+            <groupId>org.reflections</groupId>
+            <artifactId>reflections</artifactId>
+            <version>0.9.9</version>
+        </dependency>
 
-            <dependency>
-                <groupId>org.antlr</groupId>
-                <artifactId>stringtemplate</artifactId>
-                <version>${stringtemplate.version}</version>
-            </dependency>
+        <!-- UNIT TEST RELATED DEPENDENCIES -->
+        <dependency>
+            <groupId>org.powermock</groupId>
+            <artifactId>powermock-classloading-xstream</artifactId>
+            <version>${powermock.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.hamcrest</groupId>
+            <artifactId>hamcrest-core</artifactId>
+            <version>1.3</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.mockito</groupId>
+            <artifactId>mockito-core</artifactId>
+            <version>2.18.0</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.powermock</groupId>
+            <artifactId>powermock-core</artifactId>
+            <version>${powermock.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.powermock</groupId>
+            <artifactId>powermock-module-junit4</artifactId>
+            <version>${powermock.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.powermock</groupId>
+            <artifactId>powermock-module-junit4-rule</artifactId>
+            <version>${powermock.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.powermock</groupId>
+            <artifactId>powermock-api-mockito2</artifactId>
+            <version>${powermock.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.powermock</groupId>
+            <artifactId>powermock-api-easymock</artifactId>
+            <version>${powermock.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.easymock</groupId>
+            <artifactId>easymock</artifactId>
+            <version>4.2</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.8.2</version>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
 
-            <dependency>
-                <groupId>junit</groupId>
-                <artifactId>junit</artifactId>
-                <version>4.8.2</version>
-                <scope>test</scope>
-            </dependency>
-
-            <dependency>
-                <groupId>org.hamcrest</groupId>
-                <artifactId>hamcrest-core</artifactId>
-                <version>1.3</version>
-                <scope>test</scope>
-            </dependency>
-
-            <dependency>
-                <groupId>org.powermock</groupId>
-                <artifactId>powermock-module-junit4</artifactId>
-                <version>1.6.5</version>
-                <scope>test</scope>
-            </dependency>
-
-            <dependency>
-                <groupId>org.powermock</groupId>
-                <artifactId>powermock-api-mockito</artifactId>
-                <version>1.7.1</version>
-                <scope>test</scope>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.httpcomponents</groupId>
-                <artifactId>httpclient</artifactId>
-                <version>4.5.3</version>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
     <build>
         <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>3.8.0</version>
+                <configuration>
+                    <source>11</source>
+                    <target>11</target>
+                    <release>11</release>
+                </configuration>
+            </plugin>
             <plugin>
                 <groupId>org.jacoco</groupId>
                 <artifactId>jacoco-maven-plugin</artifactId>