<artifactId>dmaap-client</artifactId>
<version>${sdk.version}</version>
</dependency>
- <dependency>
- <groupId>io.projectreactor.netty</groupId>
- <artifactId>reactor-netty</artifactId>
- <version>0.9.12.RELEASE</version>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-handler</artifactId>
- <version>4.1.54.Final</version>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-handler-proxy</artifactId>
- <version>4.1.54.Final</version>
- </dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<groupId>${project.groupId}</groupId>
<artifactId>dcae-analytics-test</artifactId>
</dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-handler</artifactId>
- <version>4.1.54.Final</version>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-handler-proxy</artifactId>
- <version>4.1.54.Final</version>
- </dependency>
</dependencies>
<dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-context</artifactId>
- <version>5.0.11.RELEASE</version>
- </dependency>
- </dependencies>
+ <dependencies>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-context</artifactId>
+ <version>5.0.11.RELEASE</version>
+ </dependency>
+ </dependencies>
</dependencyManagement>
</project>
<groupId>${project.groupId}</groupId>
<artifactId>dcae-analytics-test</artifactId>
</dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-handler</artifactId>
- <version>4.1.54.Final</version>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-handler-proxy</artifactId>
- <version>4.1.54.Final</version>
- </dependency>
</dependencies>
ARG user=tca-gen2
ARG group=tca-gen2
-WORKDIR ${DOCKER_ARTIFACT_DIR}
-#Copy dependencies and executable jar
-COPY ${PROJECT_BUILD_DIR_NAME}/${FINAL_JAR} .
-
USER root
-#Symlink to overcome Docker limitation to put ARG inside ENTRYPOINT
-RUN mkdir -p /var/log/ONAP/dcaegen2/analytics/tca-gen2 && \
- addgroup $group && adduser --system --disabled-password --no-create-home --ingroup $group $user && \
- chmod g+rwx /opt; \
- chmod u+rw /var/log/ONAP/dcaegen2/analytics/tca-gen2 && \
- chown -R $user /opt && \
- chown -R $user /var/log/ONAP/dcaegen2/analytics/tca-gen2 && \
- ln -s ${FINAL_JAR} tca-gen2.jar && \
- chown $user ${FINAL_JAR} tca-gen2.jar
+RUN mkdir -p /var/log/ONAP/dcaegen2/analytics/tca-gen2
+#Add a new user and group to allow container to be run as non-root
+RUN addgroup $group && adduser --system --disabled-password --no-create-home --ingroup $group $user && \
+ chmod 775 /opt && \
+ chmod 775 /var/log/ONAP/dcaegen2/analytics/tca-gen2 && \
+ chown -R $user:$group /opt && \
+ chown -R $user:$group /var/log/ONAP/dcaegen2/analytics/tca-gen2
+
+#Copy dependencies and executable jar
+WORKDIR ${DOCKER_ARTIFACT_DIR}
+COPY ${PROJECT_BUILD_DIR_NAME}/${FINAL_JAR} .
+#Overcome Docker limitation to put ARG inside ENTRYPOINT
+RUN ln -s ${FINAL_JAR} tca-gen2.jar
EXPOSE 8100
-USER $user
+USER $user:$group
ENTRYPOINT ["java", "-Dspring.profiles.active=configBindingService,dmaap,mongo", "-jar", "tca-gen2.jar"]
~ ================================================================================
~ Copyright (c) 2018-2020 AT&T Intellectual Property. All rights reserved.
~ Copyright (c) 2021 Samsung Electronics. All rights reserved.
+ ~ Copyright (c) 2021 Nokia Intellectual Property. All rights reserved.
~ ================================================================================
~ Modifications Copyright (C) 2019 IBM
~ ================================================================================
<properties>
<main.basedir>${project.parent.basedir}</main.basedir>
<docker.image.name>onap/${project.groupId}.${project.artifactId}</docker.image.name>
- <maven.build.timestamp.format>yyyyMMdd'T'HHmmss</maven.build.timestamp.format>
+ <maven.build.timestamp.format>yyyyMMdd'T'HHmmss</maven.build.timestamp.format>
</properties>
<dependencies>
<artifactId>undertow-core</artifactId>
</exclusion>
</exclusions>
-
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.springframework.plugin</groupId>
+ <artifactId>spring-plugin-core</artifactId>
+ </dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<artifactId>dcae-analytics-test</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/io.undertow/undertow-core -->
- <dependency>
- <groupId>io.undertow</groupId>
- <artifactId>undertow-core</artifactId>
- </dependency>
<dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-handler</artifactId>
- <version>4.1.54.Final</version>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-handler-proxy</artifactId>
- <version>4.1.54.Final</version>
+ <groupId>io.undertow</groupId>
+ <artifactId>undertow-core</artifactId>
</dependency>
</dependencies>
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-core</artifactId>
- <version>5.1.12.RELEASE</version>
- </dependency>
- </dependencies>
- </dependencyManagement>
-
<build>
<resources>
<resource>
</plugin>
<!-- DOCKER PLUGIN -->
<plugin>
- <groupId>com.spotify</groupId>
- <artifactId>dockerfile-maven-plugin</artifactId>
- <version>1.4.10</version>
- <configuration>
- <contextDirectory>${project.basedir}</contextDirectory>
- <repository>${docker.repository}/${docker.image.name}</repository>
- <useMavenSettingsForAuth>true</useMavenSettingsForAuth>
- <buildArgs>
- <PROJECT_BUILD_DIR_NAME>target</PROJECT_BUILD_DIR_NAME>
- <DEPENDENCIES_DIR>${dependency.dir.name}</DEPENDENCIES_DIR>
- <DOCKER_ARTIFACT_DIR>/opt</DOCKER_ARTIFACT_DIR>
- <FINAL_JAR>${project.build.finalName}.jar</FINAL_JAR>
- </buildArgs>
- </configuration>
- <executions>
- <execution>
- <id>build-image</id>
- <phase>install</phase>
- <goals>
- <goal>build</goal>
- </goals>
- </execution>
- <execution>
- <id>tag-version</id>
- <phase>install</phase>
- <goals>
- <goal>tag</goal>
- <goal>push</goal>
- </goals>
- <configuration>
- <tag>${project.version}</tag>
- </configuration>
- </execution>
+ <groupId>com.spotify</groupId>
+ <artifactId>dockerfile-maven-plugin</artifactId>
+ <version>1.4.10</version>
+ <configuration>
+ <contextDirectory>${project.basedir}</contextDirectory>
+ <repository>${docker.repository}/${docker.image.name}</repository>
+ <useMavenSettingsForAuth>true</useMavenSettingsForAuth>
+ <buildArgs>
+ <PROJECT_BUILD_DIR_NAME>target</PROJECT_BUILD_DIR_NAME>
+ <DEPENDENCIES_DIR>${dependency.dir.name}</DEPENDENCIES_DIR>
+ <DOCKER_ARTIFACT_DIR>/opt</DOCKER_ARTIFACT_DIR>
+ <FINAL_JAR>${project.build.finalName}.jar</FINAL_JAR>
+ </buildArgs>
+ </configuration>
+ <executions>
+ <execution>
+ <id>build-image</id>
+ <phase>install</phase>
+ <goals>
+ <goal>build</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>tag-version</id>
+ <phase>install</phase>
+ <goals>
+ <goal>tag</goal>
+ <goal>push</goal>
+ </goals>
+ <configuration>
+ <tag>${project.version}</tag>
+ </configuration>
+ </execution>
<execution>
<id>tag-version-ts</id>
<phase>install</phase>
<goal>push</goal>
</goals>
<configuration>
- <tag>${project.version}-${maven.build.timestamp}Z</tag>
+ <tag>${project.version}-${maven.build.timestamp}Z</tag>
</configuration>
</execution>
- </executions>
+ </executions>
</plugin>
</plugins>
</build>
/*
* ================================================================================
* Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (c) 2021 China Mobile Property. All rights reserved.
+ * Copyright (c) 2021 Nokia Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
import static org.onap.dcae.analytics.model.AnalyticsHttpConstants.REQUEST_TRANSACTION_ID_HEADER_KEY;
import java.util.List;
-import java.util.Map;
-
import org.onap.dcae.analytics.model.AnalyticsProfile;
import org.onap.dcae.analytics.model.DmaapMrConstants;
import org.onap.dcae.analytics.tca.web.TcaAppProperties;
import org.springframework.integration.channel.QueueChannel;
import org.springframework.integration.dsl.IntegrationFlow;
import org.springframework.integration.dsl.IntegrationFlows;
+import org.springframework.integration.handler.GenericHandler;
import org.springframework.messaging.MessageHeaders;
/**
// get messages from dmaap subscriber channel
return IntegrationFlows.from(mrSubscriberOutputChannel)
// handle incoming message from dmaap
- .handle((List<String> cefMessages, Map<String, Object> headers) ->
- tcaProcessingService.getTcaExecutionResults(
+ .handle(new GenericHandler<List<String>>() {
+ @Override
+ public Object handle(List<String> cefMessages, MessageHeaders headers) {
+ return tcaProcessingService.getTcaExecutionResults(
headers.getOrDefault(REQUEST_ID_HEADER_KEY, headers.get(MessageHeaders.ID)).toString(),
headers.getOrDefault(REQUEST_TRANSACTION_ID_HEADER_KEY, "").toString(),
- tcaPolicyWrapper, cefMessages))
+ tcaPolicyWrapper, cefMessages);
+ }
+ })
// transform tca execution results to alerts - if not alerts are detected terminate further processing
.transform(tcaAlertTransformer, c -> c.requiresReply(false))
// post messages to dmaap publisher input channel
/*
* ================================================================================
* Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (c) 2021 China Mobile Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@Override
@SuppressWarnings("unchecked")
- protected Object doTransform(final Message<?> message) throws Exception {
+ protected Object doTransform(final Message<?> message) {
final Object messagePayload = message.getPayload();
Integer.toString(abatedExecutionContexts.size()), Integer.toString(tcaAlerts.size()));
}
}
+
/*
* ================================================================================
* Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (c) 2021 China Mobile Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
import static org.onap.dcae.analytics.model.AnalyticsHttpConstants.REQUEST_END_TS_HEADER_KEY;
import java.util.Date;
-import java.util.Map;
import org.onap.dcae.analytics.model.ecomplogger.AnalyticsErrorType;
import org.onap.dcae.analytics.tca.core.util.TcaUtils;
}
@Override
- public Object handle(final String payload, final Map<String, Object> headers) {
+ public Object handle(final String payload, MessageHeaders headers) {
final MessageHeaders messageHeaders = new MessageHeaders(headers);
final String requestId = AnalyticsHttpUtils.getRequestId(messageHeaders);
}
}
+
/*
* ================================================================================
* Copyright (c) 2019 IBM Intellectual Property. All rights reserved.
+ * Copyright (c) 2021 China Mobile Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
import org.mockito.Mockito;
import org.onap.dcae.analytics.tca.web.TcaAppProperties;
import org.onap.dcae.analytics.tca.web.TcaAppProperties.Tca;
+import org.springframework.messaging.MessageHeaders;
public class TcaPublisherResponseHandlerTest {
- static Map<String, Object> headers;
+ static MessageHeaders messageHeaders;
@BeforeAll
static void initialize() {
- headers = new HashMap<>();
+ Map headers = new HashMap<>();
headers.put("X-ECOMP-RequestID", "TestRequestID");
headers.put("X-ECOMP-TransactionID", "TestTransactionID");
headers.put("X-ECOMP-FromAppID", "TestFromAppID");
+ messageHeaders = new MessageHeaders(headers);
}
Mockito.when(tcaAppProperties.getTca().getEnableEcompLogging()).thenReturn(true);
TcaPublisherResponseHandler responseHandler = new TcaPublisherResponseHandler(tcaAppProperties);
- responseHandler.handle("testpayload", headers);
+ responseHandler.handle("testpayload", messageHeaders);
}
Mockito.when(tcaAppProperties.getTca().getEnableEcompLogging()).thenReturn(false);
TcaPublisherResponseHandler responseHandler = new TcaPublisherResponseHandler(tcaAppProperties);
- responseHandler.handle("testpayload", headers);
+ responseHandler.handle("testpayload", messageHeaders);
}
}
+
~ ================================================================================
~ Copyright (c) 2018-2019 AT&T Intellectual Property. All rights reserved.
~ Copyright (c) 2021 Samsung Electronics. All rights reserved.
+ ~ Copyright (c) 2021 Nokia Intellectual Property. All rights reserved.
~ ================================================================================
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-mongodb</artifactId>
</dependency>
-
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-data-mongodb</artifactId>
+ </dependency>
<!-- APACHE HTTP CLIENT -->
<dependency>
<groupId>io.undertow</groupId>
<artifactId>undertow-core</artifactId>
</dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-handler</artifactId>
- <version>4.1.54.Final</version>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-handler-proxy</artifactId>
- <version>4.1.54.Final</version>
- </dependency>
</dependencies>
-
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-core</artifactId>
- <version>5.0.11.RELEASE</version>
- </dependency>
- </dependencies>
- </dependencyManagement>
</project>
/*
* ================================================================================
* Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (c) 2021 China Mobile Property. All rights reserved.
+ * Copyright (c) 2021 Nokia Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
package org.onap.dcae.analytics.web.config;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-import java.util.Map;
-
import org.onap.dcae.analytics.model.AnalyticsHttpConstants;
import org.onap.dcae.analytics.model.AnalyticsProfile;
import org.onap.dcae.analytics.model.DmaapMrConstants;
import org.springframework.integration.core.MessageSource;
import org.springframework.integration.dsl.IntegrationFlow;
import org.springframework.integration.dsl.IntegrationFlows;
-import org.springframework.integration.dsl.channel.MessageChannels;
+import org.springframework.integration.dsl.MessageChannels;
import org.springframework.integration.endpoint.MethodInvokingMessageSource;
+import org.springframework.integration.handler.GenericHandler;
import org.springframework.integration.handler.advice.RequestHandlerRetryAdvice;
import org.springframework.integration.http.dsl.Http;
import org.springframework.integration.scheduling.PollerMetadata;
import org.springframework.integration.store.BasicMessageGroupStore;
import org.springframework.integration.store.MessageGroupQueue;
import org.springframework.integration.support.MessageBuilder;
+import org.springframework.messaging.MessageHeaders;
import org.springframework.web.client.RestTemplate;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
/**
* @author Rajiv Singla
*/
final RestTemplate mrPublisherRestTemplate,
final DirectChannel mrPublisherInputChannel,
final RequestHandlerRetryAdvice requestHandlerRetryAdvice) {
-
return IntegrationFlows.from(mrPublisherInputChannel)
.handle(Http.outboundGateway(mrPublisherPreferences.getRequestURL(), mrPublisherRestTemplate)
.mappedRequestHeaders(DMAAP_MAPPED_REQUEST_HEADERS)
.httpMethod(HttpMethod.POST)
.extractPayload(true)
.expectedResponseType(String.class), c -> c.advice(requestHandlerRetryAdvice))
- // add end timestamp
- .handle((String p, Map<String, Object> headers) ->
- MessageBuilder.withPayload(p).copyHeaders(headers)
- .setHeader(AnalyticsHttpConstants.REQUEST_END_TS_HEADER_KEY,
- AnalyticsWebUtils.CREATION_TIMESTAMP_SUPPLIER.get()).build()
- )
+ .handle(new GenericHandler<String>() {
+ @Override
+ public Object handle(String payload, MessageHeaders headers) {
+ return MessageBuilder.withPayload(payload).copyHeaders(headers)
+ .setHeader(AnalyticsHttpConstants.REQUEST_END_TS_HEADER_KEY,
+ AnalyticsWebUtils.CREATION_TIMESTAMP_SUPPLIER.get()).build();
+ }
+ })
.channel(DmaapMrConstants.DMAAP_MR_PUBLISHER_OUTPUT_CHANNEL)
.get();
}
}
+
/*
* ================================================================================
* Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (c) 2021 China Mobile Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
package org.onap.dcae.analytics.web.config;
-import java.util.concurrent.TimeUnit;
-
import org.onap.dcae.analytics.model.AnalyticsProfile;
import org.onap.dcae.analytics.web.dmaap.MrSubscriberPollingAdvice;
import org.onap.dcae.analytics.web.dmaap.MrSubscriberPollingPreferences;
final MrSubscriberPollingPreferences pollingPreferences = mrSubscriberPreferences.getPollingPreferences();
final int minInterval = pollingPreferences.getMinPollingInterval();
final DynamicPeriodicTrigger dynamicPeriodicTrigger =
- new DynamicPeriodicTrigger(minInterval, TimeUnit.MILLISECONDS);
+ new DynamicPeriodicTrigger(minInterval);
dynamicPeriodicTrigger.setFixedRate(true);
return dynamicPeriodicTrigger;
}
}
}
+
/*
* ================================================================================
* Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (c) 2021 China Mobile Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
import org.springframework.integration.channel.QueueChannel;
import org.springframework.integration.dsl.IntegrationFlow;
import org.springframework.integration.dsl.IntegrationFlows;
-import org.springframework.integration.dsl.channel.MessageChannels;
+import org.springframework.integration.dsl.MessageChannels;
import org.springframework.integration.handler.LoggingHandler;
import org.springframework.integration.handler.advice.ErrorMessageSendingRecoverer;
import org.springframework.integration.handler.advice.RequestHandlerRetryAdvice;
/*
* ================================================================================
* Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (c) 2021 Nokia Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
-import org.springframework.data.mongodb.MongoDbFactory;
+import org.springframework.data.mongodb.MongoDatabaseFactory;
import org.springframework.integration.mongodb.store.MongoDbChannelMessageStore;
import org.springframework.integration.store.BasicMessageGroupStore;
import org.springframework.integration.store.SimpleMessageStore;
@Bean
@Profile(AnalyticsProfile.MONGO_PROFILE_NAME)
- public BasicMessageGroupStore mongoMessageGroupStore(final MongoDbFactory mongoDbFactory) {
+ public BasicMessageGroupStore mongoMessageGroupStore(final MongoDatabaseFactory mongoDbFactory) {
final MongoDbChannelMessageStore store = new MongoDbChannelMessageStore(mongoDbFactory);
store.setPriorityEnabled(true);
return store;
/*
* ================================================================================
* Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (c) 2021 China Mobile Property. All rights reserved.
+ * Copyright (c) 2021 Nokia Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
package org.onap.dcae.analytics.web.dmaap;
+import java.time.Duration;
import java.util.Map;
import java.util.concurrent.atomic.AtomicInteger;
@Override
@SuppressWarnings("unchecked")
- protected Object doInvoke(final ExecutionCallback callback, final Object target, final Message<?> message)
- throws Exception {
+ protected Object doInvoke(final ExecutionCallback callback, final Object target, final Message<?> message) {
// execute call back
Object result = callback.execute();
final MessageBuilder<String> resultMessageBuilder = (MessageBuilder<String>) result;
final String payload = resultMessageBuilder.getPayload();
final Map<String, Object> headers = resultMessageBuilder.getHeaders();
- final Object httpStatusCode = headers.get(AnalyticsHttpConstants.HTTP_STATUS_CODE_HEADER_KEY);
-
- // get http status code
- if (httpStatusCode == null) {
- return result;
- }
- final HttpStatus httpStatus = HttpStatus.resolve(Integer.parseInt(httpStatusCode.toString()));
-
+ final HttpStatus httpStatus = (HttpStatus) headers.get(AnalyticsHttpConstants.HTTP_STATUS_CODE_HEADER_KEY);
// if status code is present and successful apply polling adjustments
if (httpStatus != null && httpStatus.is2xxSuccessful()) {
"Next Polling Interval will be: {}", debugLogSpec, requestId, transactionId,
String.valueOf(areMessagesPresent), nextPollingInterval.toString());
- trigger.setPeriod(nextPollingInterval.get());
+ trigger.setDuration(Duration.ofMillis(nextPollingInterval.get()));
// if no messages were found in dmaap poll - terminate further processing
if (!areMessagesPresent) {
}
}
}
+
~ ================================================================================
~ Copyright (c) 2018-2020 AT&T Intellectual Property. All rights reserved.
~ Copyright (c) 2021 Samsung Electronics. All rights reserved.
+ ~ Copyright (c) 2021 China Mobile Property. All rights reserved.
~ ================================================================================
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
<!-- DEPENDENCIES VERSION -->
<eelf.logger.version>1.0.1-SNAPSHOT</eelf.logger.version>
- <spring.boot.version>2.0.9.RELEASE</spring.boot.version>
+ <spring.boot.version>2.4.4</spring.boot.version>
<spring.cloud.version>Finchley.RC2</spring.cloud.version>
- <spring.version>5.0.11.RELEASE</spring.version>
<commons.text.version>1.4</commons.text.version>
<springfox-swagger2.version>3.0.0</springfox-swagger2.version>
<findbugs.jsr305.version>3.0.2</findbugs.jsr305.version>
<snapshots.path>content/repositories/snapshots/</snapshots.path>
<releases.path>content/repositories/releases/</releases.path>
<docker.repository>nexus3.onap.org:10003</docker.repository>
- <jackson.version>2.11.0</jackson.version>
- <undertow.version>2.2.2.Final</undertow.version>
- <spring-webflux.version>5.2.7.RELEASE</spring-webflux.version>
+ <spring-swagger-ui.version>2.10.5</spring-swagger-ui.version>
<!-- SONAR EXCLUSIONS -->
<!-- EXCLUDE TEST COVERAGE ON
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${springfox-swagger2.version}</version>
- </dependency>
- <dependency>
- <groupId>io.springfox</groupId>
- <artifactId>springfox-swagger-ui</artifactId>
- <version>${springfox-swagger2.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.springframework.plugin</groupId>
+ <artifactId>spring-plugin-core</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
<groupId>org.springframework.plugin</groupId>
<version>2.0.0.RELEASE</version>
</dependency>
<dependency>
- <groupId>org.springframework.plugin</groupId>
- <artifactId>spring-plugin-metadata</artifactId>
- <version>2.0.0.RELEASE</version>
+ <groupId>io.springfox</groupId>
+ <artifactId>springfox-swagger-ui</artifactId>
+ <version>${spring-swagger-ui.version}</version>
</dependency>
<!-- FIND BUGS -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring.boot.version}</version>
- <exclusions>
- <exclusion>
- <groupId>org.springframework</groupId>
- <artifactId>spring-web</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-test</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-core</artifactId>
- </exclusion>
- <exclusion>
- <groupId>io.undertow</groupId>
- <artifactId>undertow-core</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.springframework</groupId>
- <artifactId>spring-webflux</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>com.fasterxml.jackson.dataformat</groupId>
- <artifactId>jackson-dataformat-smile</artifactId>
- </exclusion>
- </exclusions>
<type>pom</type>
<scope>import</scope>
</dependency>
<type>pom</type>
<scope>import</scope>
</dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-webflux</artifactId>
- <version>${spring-webflux.version}</version>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-web</artifactId>
- <version>${spring.version}</version>
- </dependency>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-test</artifactId>
- <version>2.2.0.RELEASE</version>
- </dependency>
- <dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-core</artifactId>
- <version>2.23.4</version>
- </dependency>
- <dependency>
- <groupId>io.undertow</groupId>
- <artifactId>undertow-core</artifactId>
- <version>${undertow.version}</version>
- </dependency>
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-databind</artifactId>
- <version>${jackson.version}</version>
- </dependency>
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-core</artifactId>
- <version>${jackson.version}</version>
- </dependency>
- <dependency>
- <groupId>com.fasterxml.jackson.dataformat</groupId>
- <artifactId>jackson-dataformat-smile</artifactId>
- <version>${jackson.version}</version>
- </dependency>
</dependencies>
</dependencyManagement>
<version>${maven-surefire-plugin.version}</version>
<configuration>
<skipTests>${skip.unit.tests}</skipTests>
- <argLine>-Xmx2048m -Djava.awt.headless=true
- -XX:+UseConcMarkSweepGC
+ <argLine>-Xmx2048m -Djava.awt.headless=true -XX:+UseConcMarkSweepGC
-XX:OnOutOfMemoryError="kill -9 %p" -XX:+HeapDumpOnOutOfMemoryError ${surefireArgLine}
</argLine>
<redirectTestOutputToFile>${surefire.redirectTestOutputToFile}</redirectTestOutputToFile>
<id>validate</id>
<phase>validate</phase>
<configuration>
- <skip>true</skip>
+ <skip>true</skip>
<configLocation>${checkstyle.file.name}</configLocation>
<suppressionsLocation>${checkstyle.suppression.file.name}</suppressionsLocation>
<encoding>UTF-8</encoding>
</execution>
</executions>
</plugin>
-
- <!-- DOCKER PLUGIN -->
- <!-- <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId>
- <version>${docker-maven-version}</version> <configuration> <repository>${docker.repository}/onap/${project.groupId}.${project.artifactId}</repository>
- <tag>${project.version}</tag> </configuration> </plugin> -->
-
</plugins>
</pluginManagement>