diff options
-rw-r--r-- | engine-d-standalone/pom.xml | 152 | ||||
-rw-r--r-- | engine-d-standalone/src/main/assembly/Dockerfile | 56 | ||||
-rw-r--r-- | engine-d-standalone/src/main/assembly/bin/run.sh | 16 | ||||
-rw-r--r-- | engine-d-standalone/src/main/assembly/conf/engine-d.yml | 2 | ||||
-rw-r--r-- | engine-d/pom.xml | 342 | ||||
-rw-r--r-- | engine-d/src/main/java/org/onap/holmes/engine/mqconsumer/MQConsumer.java | 114 | ||||
-rw-r--r-- | engine-d/src/test/java/org/onap/holmes/dsa/dmaappolling/SubscriberTest.java | 44 | ||||
-rw-r--r-- | engine-d/src/test/java/org/onap/holmes/engine/dmaap/SubscriberActionTest.java | 8 | ||||
-rw-r--r-- | engine-d/src/test/java/org/onap/holmes/engine/mqconsumer/MQConsumerTest.java | 189 | ||||
-rw-r--r-- | pom.xml | 409 |
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); - } -} @@ -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> |