summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuangrongFu <fu.guangrong@zte.com.cn>2020-07-10 09:19:47 +0800
committerGuangrongFu <fu.guangrong@zte.com.cn>2020-07-16 09:12:01 +0800
commiteadc4de80148f3457e75b06270370a33dc4751a4 (patch)
tree0d027bafc51f6beecab5c6148883745a7b1c262e
parente272b13d2522009aece85d9df3d9bf72cb017287 (diff)
Updated Java to Ver. 11
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>
-rw-r--r--engine-d-standalone/pom.xml152
-rw-r--r--engine-d-standalone/src/main/assembly/Dockerfile56
-rw-r--r--engine-d-standalone/src/main/assembly/bin/run.sh16
-rw-r--r--engine-d-standalone/src/main/assembly/conf/engine-d.yml2
-rw-r--r--engine-d/pom.xml342
-rw-r--r--engine-d/src/main/java/org/onap/holmes/engine/mqconsumer/MQConsumer.java114
-rw-r--r--engine-d/src/test/java/org/onap/holmes/dsa/dmaappolling/SubscriberTest.java44
-rw-r--r--engine-d/src/test/java/org/onap/holmes/engine/dmaap/SubscriberActionTest.java8
-rw-r--r--engine-d/src/test/java/org/onap/holmes/engine/mqconsumer/MQConsumerTest.java189
-rw-r--r--pom.xml409
10 files changed, 366 insertions, 966 deletions
diff --git a/engine-d-standalone/pom.xml b/engine-d-standalone/pom.xml
index e13f013..2b74693 100644
--- a/engine-d-standalone/pom.xml
+++ b/engine-d-standalone/pom.xml
@@ -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.
@@ -36,46 +36,44 @@
<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>
@@ -119,50 +117,6 @@
</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>
<executions>
<execution>
@@ -179,25 +133,11 @@
<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>
@@ -276,42 +216,4 @@
</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>
diff --git a/engine-d-standalone/src/main/assembly/Dockerfile b/engine-d-standalone/src/main/assembly/Dockerfile
index 6ea28d8..a1f427a 100644
--- a/engine-d-standalone/src/main/assembly/Dockerfile
+++ b/engine-d-standalone/src/main/assembly/Dockerfile
@@ -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"]
diff --git a/engine-d-standalone/src/main/assembly/bin/run.sh b/engine-d-standalone/src/main/assembly/bin/run.sh
index 77a96cc..7c800b5 100644
--- a/engine-d-standalone/src/main/assembly/bin/run.sh
+++ b/engine-d-standalone/src/main/assembly/bin/run.sh
@@ -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"
diff --git a/engine-d-standalone/src/main/assembly/conf/engine-d.yml b/engine-d-standalone/src/main/assembly/conf/engine-d.yml
index ca4f243..103fe47 100644
--- a/engine-d-standalone/src/main/assembly/conf/engine-d.yml
+++ b/engine-d-standalone/src/main/assembly/conf/engine-d.yml
@@ -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
diff --git a/engine-d/pom.xml b/engine-d/pom.xml
index 9c62644..b86b4ab 100644
--- a/engine-d/pom.xml
+++ b/engine-d/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.
@@ -29,347 +29,7 @@
<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
index e77146f..0000000
--- a/engine-d/src/main/java/org/onap/holmes/engine/mqconsumer/MQConsumer.java
+++ /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();
- }
- }
- }
-}
diff --git a/engine-d/src/test/java/org/onap/holmes/dsa/dmaappolling/SubscriberTest.java b/engine-d/src/test/java/org/onap/holmes/dsa/dmaappolling/SubscriberTest.java
index 4b64e6a..3301b89 100644
--- a/engine-d/src/test/java/org/onap/holmes/dsa/dmaappolling/SubscriberTest.java
+++ b/engine-d/src/test/java/org/onap/holmes/dsa/dmaappolling/SubscriberTest.java
@@ -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()));
diff --git a/engine-d/src/test/java/org/onap/holmes/engine/dmaap/SubscriberActionTest.java b/engine-d/src/test/java/org/onap/holmes/engine/dmaap/SubscriberActionTest.java
index 247962f..1de85b2 100644
--- a/engine-d/src/test/java/org/onap/holmes/engine/dmaap/SubscriberActionTest.java
+++ b/engine-d/src/test/java/org/onap/holmes/engine/dmaap/SubscriberActionTest.java
@@ -15,13 +15,15 @@
*/
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
index 5135007..0000000
--- a/engine-d/src/test/java/org/onap/holmes/engine/mqconsumer/MQConsumerTest.java
+++ /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
--- 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.
@@ -15,13 +15,13 @@
~ 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>
@@ -33,151 +33,310 @@
<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>
<version>${jacoco.version}</version>