diff options
author | Piotr Jaszczyk <piotr.jaszczyk@nokia.com> | 2019-01-09 15:08:46 +0100 |
---|---|---|
committer | Piotr Jaszczyk <piotr.jaszczyk@nokia.com> | 2019-01-10 12:47:01 +0100 |
commit | 41fddf53b41e2870a94fa54454bd60665cc203c1 (patch) | |
tree | 4b23fe1bb533232296ec5d91603401ae095500dd | |
parent | cfde3ca7bb7122b1fddfca892276b011c12dfd05 (diff) |
High Volume VES Collector Client - stub
Other minor changes:
* Set dependencies to compatible versions (spring, spring-boot and
reactor + reactor-netty)
* Fix compilation errors on Java 11
Change-Id: If482c0dffd7162315df6d7b7fdedf554ef7c5d9d
Issue-ID: DCAEGEN2-1070
Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
23 files changed, 559 insertions, 29 deletions
@@ -11,7 +11,7 @@ <groupId>org.onap.dcaegen2.services</groupId> <artifactId>sdk</artifactId> - <version>1.1.0-SNAPSHOT</version> + <version>1.1.1-SNAPSHOT</version> <name>dcaegen2-services-sdk</name> <description>Common SDK repo for all DCAE Services (R4)</description> @@ -30,14 +30,17 @@ <junit-vintage.version>5.3.1</junit-vintage.version> <junit-platform.version>1.3.1</junit-platform.version> <immutables.version>2.7.3</immutables.version> - <spring.version>5.1.2.RELEASE</spring.version> - <spring.boot.version>2.1.0.RELEASE</spring.boot.version> + <spring.version>5.1.3.RELEASE</spring.version> + <spring.boot.version>2.1.1.RELEASE</spring.boot.version> + <reactor.bom.version>Californium-SR3</reactor.bom.version> <slf4j.version>1.7.25</slf4j.version> - <mockito.version>2.16.0</mockito.version> + <logback.version>1.2.3</logback.version> + <mockito.version>2.23.4</mockito.version> </properties> <modules> <module>rest-services</module> + <module>services</module> <module>security</module> </modules> @@ -168,7 +171,8 @@ <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> - <version>1.2.3</version> + <version>${logback.version}</version> + <scope>runtime</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> @@ -184,16 +188,12 @@ <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> - </dependency> - <dependency> - <groupId>io.projectreactor.netty</groupId> - <artifactId>reactor-netty</artifactId> - <version>0.8.1.RELEASE</version> + <scope>compile</scope> </dependency> <dependency> <groupId>io.projectreactor</groupId> <artifactId>reactor-bom</artifactId> - <version>Californium-SR2</version> + <version>${reactor.bom.version}</version> <type>pom</type> <scope>import</scope> </dependency> diff --git a/rest-services/aai-client/pom.xml b/rest-services/aai-client/pom.xml index 5492e0a3..c799fc92 100644 --- a/rest-services/aai-client/pom.xml +++ b/rest-services/aai-client/pom.xml @@ -7,13 +7,13 @@ <parent> <groupId>org.onap.dcaegen2.services.sdk</groupId> <artifactId>dcaegen2-services-sdk-rest-services</artifactId> - <version>1.1.0-SNAPSHOT</version> + <version>1.1.1-SNAPSHOT</version> <relativePath>../pom.xml</relativePath> </parent> <groupId>org.onap.dcaegen2.services.sdk.rest.services</groupId> <artifactId>aai-client</artifactId> - <version>1.1.0-SNAPSHOT</version> + <version>1.1.1-SNAPSHOT</version> <name>dcaegen2-services-sdk-rest-services-aai-client</name> <description>Active and Available Inventory Rest Services Module</description> @@ -23,7 +23,7 @@ <dependency> <groupId>org.onap.dcaegen2.services.sdk.rest.services</groupId> <artifactId>common-dependency</artifactId> - <version>1.1.0-SNAPSHOT</version> + <version>1.1.1-SNAPSHOT</version> </dependency> <dependency> <groupId>org.springframework</groupId> diff --git a/rest-services/aai-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/service/AaiReactiveWebClientFactoryTest.java b/rest-services/aai-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/service/AaiReactiveWebClientFactoryTest.java index 153189fd..46a57b69 100644 --- a/rest-services/aai-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/service/AaiReactiveWebClientFactoryTest.java +++ b/rest-services/aai-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/service/AaiReactiveWebClientFactoryTest.java @@ -25,6 +25,7 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +import io.netty.handler.ssl.SslContext; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.onap.dcaegen2.services.sdk.rest.services.aai.client.config.AaiClientConfiguration; @@ -42,6 +43,7 @@ class AaiReactiveWebClientFactoryTest { private SslFactory sslFactory = mock(SslFactory.class); private AaiClientConfiguration aaiClientConfiguration = mock(AaiClientConfiguration.class); private AaiReactiveWebClientFactory aaiReactiveWebClientFactory; + private SslContext dummySslContext = mock(SslContext.class); @Test void shouldCreateWebClientWithSecureSslContext() throws SSLException { @@ -56,17 +58,20 @@ class AaiReactiveWebClientFactoryTest { @Test void shouldCreateWebClientWithInsecureSslContext() throws SSLException { when(aaiClientConfiguration.enableAaiCertAuth()).thenReturn(false); + when(sslFactory.createInsecureContext()).thenReturn(dummySslContext); aaiReactiveWebClientFactory = new AaiReactiveWebClientFactory(sslFactory, aaiClientConfiguration); Assertions.assertNotNull(aaiReactiveWebClientFactory.build()); verify(sslFactory).createInsecureContext(); } - private void givenEnabledAaiCertAuthConfiguration() { + private void givenEnabledAaiCertAuthConfiguration() throws SSLException { when(aaiClientConfiguration.enableAaiCertAuth()).thenReturn(true); when(aaiClientConfiguration.trustStorePath()).thenReturn(TRUST_STORE_PATH); when(aaiClientConfiguration.trustStorePasswordPath()).thenReturn(TRUST_STORE_PASS_PATH); when(aaiClientConfiguration.keyStorePath()).thenReturn(KEY_STORE_PATH); when(aaiClientConfiguration.keyStorePasswordPath()).thenReturn(KEY_STORE_PASS_PATH); + when(sslFactory.createSecureContext(KEY_STORE_PATH, KEY_STORE_PASS_PATH, TRUST_STORE_PATH, TRUST_STORE_PASS_PATH)) + .thenReturn(dummySslContext); } } diff --git a/rest-services/cbs-client/pom.xml b/rest-services/cbs-client/pom.xml index c6484ff5..e1656e74 100644 --- a/rest-services/cbs-client/pom.xml +++ b/rest-services/cbs-client/pom.xml @@ -7,13 +7,13 @@ <parent> <groupId>org.onap.dcaegen2.services.sdk</groupId> <artifactId>dcaegen2-services-sdk-rest-services</artifactId> - <version>1.1.0-SNAPSHOT</version> + <version>1.1.1-SNAPSHOT</version> <relativePath>../pom.xml</relativePath> </parent> <groupId>org.onap.dcaegen2.services.sdk.rest.services</groupId> <artifactId>cbs-client</artifactId> - <version>1.1.0-SNAPSHOT</version> + <version>1.1.1-SNAPSHOT</version> <name>dcaegen2-services-sdk-rest-services-cbs-client</name> <description>Config Binding Service Rest Services Module</description> diff --git a/rest-services/common-dependency/pom.xml b/rest-services/common-dependency/pom.xml index 39cac5da..46e52f05 100644 --- a/rest-services/common-dependency/pom.xml +++ b/rest-services/common-dependency/pom.xml @@ -8,13 +8,13 @@ <parent> <groupId>org.onap.dcaegen2.services.sdk</groupId> <artifactId>dcaegen2-services-sdk-rest-services</artifactId> - <version>1.1.0-SNAPSHOT</version> + <version>1.1.1-SNAPSHOT</version> <relativePath>../pom.xml</relativePath> </parent> <groupId>org.onap.dcaegen2.services.sdk.rest.services</groupId> <artifactId>common-dependency</artifactId> - <version>1.1.0-SNAPSHOT</version> + <version>1.1.1-SNAPSHOT</version> <name>dcaegen2-services-sdk-rest-services-common-dependency</name> <description>Common functionality in the project</description> diff --git a/rest-services/dmaap-client/pom.xml b/rest-services/dmaap-client/pom.xml index e34dfa17..ec916052 100644 --- a/rest-services/dmaap-client/pom.xml +++ b/rest-services/dmaap-client/pom.xml @@ -7,13 +7,13 @@ <parent> <groupId>org.onap.dcaegen2.services.sdk</groupId> <artifactId>dcaegen2-services-sdk-rest-services</artifactId> - <version>1.1.0-SNAPSHOT</version> + <version>1.1.1-SNAPSHOT</version> <relativePath>../pom.xml</relativePath> </parent> <groupId>org.onap.dcaegen2.services.sdk.rest.services</groupId> <artifactId>dmaap-client</artifactId> - <version>1.1.0-SNAPSHOT</version> + <version>1.1.1-SNAPSHOT</version> <name>dcaegen2-services-sdk-rest-services-dmaap-client</name> <description>DMaaP Rest Services Module</description> @@ -23,7 +23,7 @@ <dependency> <groupId>org.onap.dcaegen2.services.sdk.rest.services</groupId> <artifactId>common-dependency</artifactId> - <version>1.1.0-SNAPSHOT</version> + <version>1.1.1-SNAPSHOT</version> </dependency> <dependency> <groupId>org.springframework</groupId> @@ -68,7 +68,7 @@ <dependency> <groupId>org.onap.dcaegen2.services.sdk.rest.services</groupId> <artifactId>aai-client</artifactId> - <version>1.1.0-SNAPSHOT</version> + <version>1.1.1-SNAPSHOT</version> <scope>test</scope> </dependency> </dependencies> diff --git a/rest-services/dmaap-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/dmaap/client/service/consumer/DMaaPReactiveWebClientFactoryTest.java b/rest-services/dmaap-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/dmaap/client/service/consumer/DMaaPReactiveWebClientFactoryTest.java index d28bc5d7..d9989d1d 100644 --- a/rest-services/dmaap-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/dmaap/client/service/consumer/DMaaPReactiveWebClientFactoryTest.java +++ b/rest-services/dmaap-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/dmaap/client/service/consumer/DMaaPReactiveWebClientFactoryTest.java @@ -24,6 +24,8 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +import io.netty.handler.ssl.SslContext; +import javax.net.ssl.SSLException; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.config.DmaapConsumerConfiguration; @@ -40,6 +42,7 @@ class DMaaPReactiveWebClientFactoryTest { private static final String TRUST_STORE = "trustStore"; private static final String TRUST_STORE_PASS = "trustStorePass"; private SslFactory sslFactory = mock(SslFactory.class); + private SslContext dummySslContext = mock(SslContext.class); private DMaaPReactiveWebClientFactory webClientFactory = new DMaaPReactiveWebClientFactory(sslFactory); @Test @@ -68,19 +71,22 @@ class DMaaPReactiveWebClientFactoryTest { verify(sslFactory).createSecureContext(KEY_STORE, KEY_STORE_PASS, TRUST_STORE, TRUST_STORE_PASS); } - private DmaapConsumerConfiguration givenDmaapConfigurationWithSslDisabled() { + private DmaapConsumerConfiguration givenDmaapConfigurationWithSslDisabled() throws SSLException { DmaapConsumerConfiguration dmaapConsumerConfiguration = mock(DmaapConsumerConfiguration.class); when(dmaapConsumerConfiguration.enableDmaapCertAuth()).thenReturn(false); + when(sslFactory.createInsecureContext()).thenReturn(dummySslContext); return dmaapConsumerConfiguration; } - private DmaapConsumerConfiguration givenDmaapConfigurationWithSslEnabled() { + private DmaapConsumerConfiguration givenDmaapConfigurationWithSslEnabled() throws SSLException { DmaapConsumerConfiguration dmaapConsumerConfiguration = mock(DmaapConsumerConfiguration.class); when(dmaapConsumerConfiguration.enableDmaapCertAuth()).thenReturn(true); when(dmaapConsumerConfiguration.keyStorePath()).thenReturn(KEY_STORE); when(dmaapConsumerConfiguration.keyStorePasswordPath()).thenReturn(KEY_STORE_PASS); when(dmaapConsumerConfiguration.trustStorePath()).thenReturn(TRUST_STORE); when(dmaapConsumerConfiguration.trustStorePasswordPath()).thenReturn(TRUST_STORE_PASS); + when(sslFactory.createSecureContext(KEY_STORE, KEY_STORE_PASS, TRUST_STORE, TRUST_STORE_PASS)) + .thenReturn(dummySslContext); return dmaapConsumerConfiguration; } }
\ No newline at end of file diff --git a/rest-services/pom.xml b/rest-services/pom.xml index 101e4f92..4272fa1b 100644 --- a/rest-services/pom.xml +++ b/rest-services/pom.xml @@ -7,13 +7,13 @@ <parent> <groupId>org.onap.dcaegen2.services</groupId> <artifactId>sdk</artifactId> - <version>1.1.0-SNAPSHOT</version> + <version>1.1.1-SNAPSHOT</version> <relativePath>../pom.xml</relativePath> </parent> <groupId>org.onap.dcaegen2.services.sdk</groupId> <artifactId>dcaegen2-services-sdk-rest-services</artifactId> - <version>1.1.0-SNAPSHOT</version> + <version>1.1.1-SNAPSHOT</version> <name>dcaegen2-services-sdk-rest-services</name> <description>Common SDK repo for all DCAE Services (R4)</description> diff --git a/security/pom.xml b/security/pom.xml index e7da3c18..9c4412aa 100644 --- a/security/pom.xml +++ b/security/pom.xml @@ -7,7 +7,7 @@ <parent> <groupId>org.onap.dcaegen2.services</groupId> <artifactId>sdk</artifactId> - <version>1.0.0-SNAPSHOT</version> + <version>1.1.1-SNAPSHOT</version> <relativePath>../pom.xml</relativePath> </parent> diff --git a/services/hv-ves-client/pom.xml b/services/hv-ves-client/pom.xml new file mode 100644 index 00000000..b2c5fcc8 --- /dev/null +++ b/services/hv-ves-client/pom.xml @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ ============LICENSE_START======================================================= + ~ DCAEGEN2-SERVICES-SDK + ~ ================================================================================ + ~ Copyright (C) 2019 Nokia + ~ ================================================================================ + ~ 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. + ~ ============LICENSE_END========================================================= + --> +<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"> + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>org.onap.dcaegen2.services.sdk</groupId> + <artifactId>dcaegen2-services-sdk-services</artifactId> + <version>1.1.1-SNAPSHOT</version> + <relativePath>..</relativePath> + </parent> + + <artifactId>dcaegen2-services-sdk-services-hvvesclient</artifactId> + <version>1.1.1-SNAPSHOT</version> + + <name>High Volume VES Collector Client</name> + <description></description> + <packaging>pom</packaging> + + <modules> + <module>producer</module> + </modules> +</project> diff --git a/services/hv-ves-client/producer/api/pom.xml b/services/hv-ves-client/producer/api/pom.xml new file mode 100644 index 00000000..c779c750 --- /dev/null +++ b/services/hv-ves-client/producer/api/pom.xml @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ ============LICENSE_START======================================================= + ~ DCAEGEN2-SERVICES-SDK + ~ ================================================================================ + ~ Copyright (C) 2019 Nokia + ~ ================================================================================ + ~ 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. + ~ ============LICENSE_END========================================================= + --> +<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"> + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>org.onap.dcaegen2.services.sdk</groupId> + <artifactId>hvvesclient-producer</artifactId> + <version>1.1.1-SNAPSHOT</version> + <relativePath>..</relativePath> + </parent> + + <artifactId>hvvesclient-producer-api</artifactId> + <version>1.1.1-SNAPSHOT</version> + + <name>High Volume VES Collector Client :: Producer :: API</name> + <description></description> + <packaging>jar</packaging> + + <dependencies> + <dependency> + <groupId>org.reactivestreams</groupId> + <artifactId>reactive-streams</artifactId> + </dependency> + </dependencies> +</project> diff --git a/services/hv-ves-client/producer/api/src/main/java/org/onap/dcaegen2/services/sdk/services/hvves/client/producer/api/HvVesProducer.java b/services/hv-ves-client/producer/api/src/main/java/org/onap/dcaegen2/services/sdk/services/hvves/client/producer/api/HvVesProducer.java new file mode 100644 index 00000000..e81fb13e --- /dev/null +++ b/services/hv-ves-client/producer/api/src/main/java/org/onap/dcaegen2/services/sdk/services/hvves/client/producer/api/HvVesProducer.java @@ -0,0 +1,30 @@ +/* + * ============LICENSE_START======================================================= + * DCAEGEN2-SERVICES-SDK + * ================================================================================ + * Copyright (C) 2019 Nokia. 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. + * 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. + * ============LICENSE_END========================================================= + */ +package org.onap.dcaegen2.services.sdk.services.hvves.client.producer.api; + +import org.reactivestreams.Publisher; + +/** + * @author <a href="mailto:piotr.jaszczyk@nokia.com">Piotr Jaszczyk</a> + * @since January 2019 + */ +public interface HvVesProducer { + Publisher<Void> send(Publisher<String> messages); +} diff --git a/services/hv-ves-client/producer/api/src/main/java/org/onap/dcaegen2/services/sdk/services/hvves/client/producer/api/HvVesProducerFactory.java b/services/hv-ves-client/producer/api/src/main/java/org/onap/dcaegen2/services/sdk/services/hvves/client/producer/api/HvVesProducerFactory.java new file mode 100644 index 00000000..a13de421 --- /dev/null +++ b/services/hv-ves-client/producer/api/src/main/java/org/onap/dcaegen2/services/sdk/services/hvves/client/producer/api/HvVesProducerFactory.java @@ -0,0 +1,40 @@ +/* + * ============LICENSE_START======================================================= + * DCAEGEN2-SERVICES-SDK + * ================================================================================ + * Copyright (C) 2019 Nokia. 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. + * 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. + * ============LICENSE_END========================================================= + */ +package org.onap.dcaegen2.services.sdk.services.hvves.client.producer.api; + +import java.util.Iterator; +import java.util.ServiceLoader; + +/** + * @author <a href="mailto:piotr.jaszczyk@nokia.com">Piotr Jaszczyk</a> + * @since January 2019 + */ +public interface HvVesProducerFactory { + HvVesProducer create(); + + static HvVesProducerFactory getInstance() { + Iterator<HvVesProducerFactory> instances = ServiceLoader.load(HvVesProducerFactory.class).iterator(); + if (instances.hasNext()) { + return instances.next(); + } else { + throw new IllegalStateException("No ProducerFactory instances was configured. Are you sure you have runtime dependency on implementation module?"); + } + } +} diff --git a/services/hv-ves-client/producer/api/src/main/java/org/onap/dcaegen2/services/sdk/services/hvves/client/producer/api/package-info.java b/services/hv-ves-client/producer/api/src/main/java/org/onap/dcaegen2/services/sdk/services/hvves/client/producer/api/package-info.java new file mode 100644 index 00000000..490544dd --- /dev/null +++ b/services/hv-ves-client/producer/api/src/main/java/org/onap/dcaegen2/services/sdk/services/hvves/client/producer/api/package-info.java @@ -0,0 +1,25 @@ +/* + * ============LICENSE_START======================================================= + * DCAEGEN2-SERVICES-SDK + * ================================================================================ + * Copyright (C) 2019 Nokia. 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. + * 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. + * ============LICENSE_END========================================================= + */ + +/** + * @author <a href="mailto:piotr.jaszczyk@nokia.com">Piotr Jaszczyk</a> + * @since January 2019 + */ +package org.onap.dcaegen2.services.sdk.services.hvves.client.producer.api; diff --git a/services/hv-ves-client/producer/ct/pom.xml b/services/hv-ves-client/producer/ct/pom.xml new file mode 100644 index 00000000..dd586132 --- /dev/null +++ b/services/hv-ves-client/producer/ct/pom.xml @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ ============LICENSE_START======================================================= + ~ DCAEGEN2-SERVICES-SDK + ~ ================================================================================ + ~ Copyright (C) 2019 Nokia + ~ ================================================================================ + ~ 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. + ~ ============LICENSE_END========================================================= + --> +<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"> + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>org.onap.dcaegen2.services.sdk</groupId> + <artifactId>hvvesclient-producer</artifactId> + <version>1.1.1-SNAPSHOT</version> + <relativePath>..</relativePath> + </parent> + + <artifactId>hvvesclient-producer-ct</artifactId> + <version>1.1.1-SNAPSHOT</version> + + <name>High Volume VES Collector Client :: Producer :: Component Tests</name> + <description></description> + <packaging>jar</packaging> + + + <dependencies> + <dependency> + <groupId>org.onap.dcaegen2.services.sdk</groupId> + <artifactId>hvvesclient-producer-api</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.onap.dcaegen2.services.sdk</groupId> + <artifactId>hvvesclient-producer-impl</artifactId> + <version>${project.version}</version> + <scope>runtime</scope> + </dependency> + <dependency> + <groupId>org.junit.jupiter</groupId> + <artifactId>junit-jupiter-engine</artifactId> + </dependency> + <dependency> + <groupId>io.projectreactor</groupId> + <artifactId>reactor-test</artifactId> + <scope>test</scope> + </dependency> + </dependencies> + +</project> diff --git a/services/hv-ves-client/producer/ct/src/test/java/org/onap/dcaegen2/services/sdk/services/hvves/client/producer/ct/HvVesHvVesProducerIT.java b/services/hv-ves-client/producer/ct/src/test/java/org/onap/dcaegen2/services/sdk/services/hvves/client/producer/ct/HvVesHvVesProducerIT.java new file mode 100644 index 00000000..232d202c --- /dev/null +++ b/services/hv-ves-client/producer/ct/src/test/java/org/onap/dcaegen2/services/sdk/services/hvves/client/producer/ct/HvVesHvVesProducerIT.java @@ -0,0 +1,45 @@ +/* + * ============LICENSE_START======================================================= + * DCAEGEN2-SERVICES-SDK + * ================================================================================ + * Copyright (C) 2019 Nokia. 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. + * 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. + * ============LICENSE_END========================================================= + */ +package org.onap.dcaegen2.services.sdk.services.hvves.client.producer.ct; + +import org.junit.jupiter.api.Test; +import org.onap.dcaegen2.services.sdk.services.hvves.client.producer.api.HvVesProducer; +import org.onap.dcaegen2.services.sdk.services.hvves.client.producer.api.HvVesProducerFactory; +import org.reactivestreams.Publisher; +import reactor.core.publisher.Flux; +import reactor.core.publisher.Mono; +import reactor.test.StepVerifier; +import reactor.test.StepVerifier.FirstStep; + +/** + * @author <a href="mailto:piotr.jaszczyk@nokia.com">Piotr Jaszczyk</a> + * @since January 2019 + */ +public class HvVesHvVesProducerIT { + + @Test + public void todo() { + final HvVesProducer cut = HvVesProducerFactory.getInstance().create(); + + final Publisher<Void> result = cut.send(Flux.just("hello", "world")); + + StepVerifier.create(result).verifyComplete(); + } +} diff --git a/services/hv-ves-client/producer/impl/pom.xml b/services/hv-ves-client/producer/impl/pom.xml new file mode 100644 index 00000000..7703fcd0 --- /dev/null +++ b/services/hv-ves-client/producer/impl/pom.xml @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ ============LICENSE_START======================================================= + ~ DCAEGEN2-SERVICES-SDK + ~ ================================================================================ + ~ Copyright (C) 2019 Nokia + ~ ================================================================================ + ~ 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. + ~ ============LICENSE_END========================================================= + --> +<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"> + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>org.onap.dcaegen2.services.sdk</groupId> + <artifactId>hvvesclient-producer</artifactId> + <version>1.1.1-SNAPSHOT</version> + <relativePath>..</relativePath> + </parent> + + <artifactId>hvvesclient-producer-impl</artifactId> + <version>1.1.1-SNAPSHOT</version> + + <name>High Volume VES Collector Client :: Producer :: Implementation</name> + <description></description> + <packaging>jar</packaging> + + <dependencies> + <dependency> + <groupId>org.onap.dcaegen2.services.sdk</groupId> + <artifactId>hvvesclient-producer-api</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>io.projectreactor.netty</groupId> + <artifactId>reactor-netty</artifactId> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + </dependency> + <dependency> + <groupId>ch.qos.logback</groupId> + <artifactId>logback-classic</artifactId> + </dependency> + </dependencies> +</project> diff --git a/services/hv-ves-client/producer/impl/src/main/java/org/onap/dcaegen2/services/sdk/services/hvves/client/producer/impl/HvVesProducerFactoryImpl.java b/services/hv-ves-client/producer/impl/src/main/java/org/onap/dcaegen2/services/sdk/services/hvves/client/producer/impl/HvVesProducerFactoryImpl.java new file mode 100644 index 00000000..d0a5358e --- /dev/null +++ b/services/hv-ves-client/producer/impl/src/main/java/org/onap/dcaegen2/services/sdk/services/hvves/client/producer/impl/HvVesProducerFactoryImpl.java @@ -0,0 +1,35 @@ +/* + * ============LICENSE_START======================================================= + * DCAEGEN2-SERVICES-SDK + * ================================================================================ + * Copyright (C) 2019 Nokia. 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. + * 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. + * ============LICENSE_END========================================================= + */ +package org.onap.dcaegen2.services.sdk.services.hvves.client.producer.impl; + +import org.onap.dcaegen2.services.sdk.services.hvves.client.producer.api.HvVesProducer; +import org.onap.dcaegen2.services.sdk.services.hvves.client.producer.api.HvVesProducerFactory; + +/** + * @author <a href="mailto:piotr.jaszczyk@nokia.com">Piotr Jaszczyk</a> + * @since January 2019 + */ +public class HvVesProducerFactoryImpl implements HvVesProducerFactory { + + @Override + public HvVesProducer create() { + return new HvVesProducerImpl(); + } +} diff --git a/services/hv-ves-client/producer/impl/src/main/java/org/onap/dcaegen2/services/sdk/services/hvves/client/producer/impl/HvVesProducerImpl.java b/services/hv-ves-client/producer/impl/src/main/java/org/onap/dcaegen2/services/sdk/services/hvves/client/producer/impl/HvVesProducerImpl.java new file mode 100644 index 00000000..b9be56a7 --- /dev/null +++ b/services/hv-ves-client/producer/impl/src/main/java/org/onap/dcaegen2/services/sdk/services/hvves/client/producer/impl/HvVesProducerImpl.java @@ -0,0 +1,42 @@ +/* + * ============LICENSE_START======================================================= + * DCAEGEN2-SERVICES-SDK + * ================================================================================ + * Copyright (C) 2019 Nokia. 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. + * 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. + * ============LICENSE_END========================================================= + */ +package org.onap.dcaegen2.services.sdk.services.hvves.client.producer.impl; + +import org.onap.dcaegen2.services.sdk.services.hvves.client.producer.api.HvVesProducer; +import org.reactivestreams.Publisher; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import reactor.core.publisher.Flux; +import reactor.core.publisher.Mono; + +/** + * @author <a href="mailto:piotr.jaszczyk@nokia.com">Piotr Jaszczyk</a> + * @since January 2019 + */ +public class HvVesProducerImpl implements HvVesProducer { + private static final Logger logger = LoggerFactory.getLogger(HvVesProducerImpl.class); + + @Override + public Mono<Void> send(Publisher<String> messages) { + return Flux.from(messages) + .doOnNext(msg -> logger.info("Dummy sending: {}", msg)) + .then(); + } +} diff --git a/services/hv-ves-client/producer/impl/src/main/resources/META-INF/services/org.onap.dcaegen2.services.sdk.services.hvves.client.producer.api.HvVesProducerFactory b/services/hv-ves-client/producer/impl/src/main/resources/META-INF/services/org.onap.dcaegen2.services.sdk.services.hvves.client.producer.api.HvVesProducerFactory new file mode 100644 index 00000000..d76ea2e7 --- /dev/null +++ b/services/hv-ves-client/producer/impl/src/main/resources/META-INF/services/org.onap.dcaegen2.services.sdk.services.hvves.client.producer.api.HvVesProducerFactory @@ -0,0 +1 @@ +org.onap.dcaegen2.services.sdk.services.hvves.client.producer.impl.HvVesProducerFactoryImpl
\ No newline at end of file diff --git a/services/hv-ves-client/producer/pom.xml b/services/hv-ves-client/producer/pom.xml new file mode 100644 index 00000000..89020fdb --- /dev/null +++ b/services/hv-ves-client/producer/pom.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ ============LICENSE_START======================================================= + ~ DCAEGEN2-SERVICES-SDK + ~ ================================================================================ + ~ Copyright (C) 2019 Nokia + ~ ================================================================================ + ~ 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. + ~ ============LICENSE_END========================================================= + --> +<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"> + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>org.onap.dcaegen2.services.sdk</groupId> + <artifactId>dcaegen2-services-sdk-services-hvvesclient</artifactId> + <version>1.1.1-SNAPSHOT</version> + <relativePath>..</relativePath> + </parent> + + <artifactId>hvvesclient-producer</artifactId> + <version>1.1.1-SNAPSHOT</version> + + <name>High Volume VES Collector Client :: Producer</name> + <description></description> + <packaging>pom</packaging> + + <modules> + <module>api</module> + <module>impl</module> + <module>ct</module> + </modules> +</project> diff --git a/services/pom.xml b/services/pom.xml new file mode 100644 index 00000000..d17da0da --- /dev/null +++ b/services/pom.xml @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ ============LICENSE_START======================================================= + ~ DCAEGEN2-SERVICES-SDK + ~ ================================================================================ + ~ Copyright (C) 2019 Nokia + ~ ================================================================================ + ~ 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. + ~ ============LICENSE_END========================================================= + --> +<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"> + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>org.onap.dcaegen2.services</groupId> + <artifactId>sdk</artifactId> + <version>1.1.1-SNAPSHOT</version> + <relativePath>..</relativePath> + </parent> + + <groupId>org.onap.dcaegen2.services.sdk</groupId> + <artifactId>dcaegen2-services-sdk-services</artifactId> + <version>1.1.1-SNAPSHOT</version> + + <name>dcaegen2-services-sdk-services</name> + <description></description> + <packaging>pom</packaging> + + <modules> + <module>hv-ves-client</module> + </modules> +</project> diff --git a/version.properties b/version.properties index 73415a7d..11ad59d0 100644 --- a/version.properties +++ b/version.properties @@ -1,6 +1,6 @@ major=1
minor=1
-patch=0
+patch=1
base_version=${major}.${minor}.${patch}
release_version=${base_version}
snapshot_version=${base_version}-SNAPSHOT
|