aboutsummaryrefslogtreecommitdiffstats
path: root/ms/blueprintsprocessor/modules/commons/dmaap-lib
diff options
context:
space:
mode:
Diffstat (limited to 'ms/blueprintsprocessor/modules/commons/dmaap-lib')
-rw-r--r--ms/blueprintsprocessor/modules/commons/dmaap-lib/pom.xml77
-rw-r--r--ms/blueprintsprocessor/modules/commons/dmaap-lib/src/main/kotlin/org/onap/ccsdk/apps/blueprintsprocessor/dmaap/AafAuthDmaapClientService.kt63
-rw-r--r--ms/blueprintsprocessor/modules/commons/dmaap-lib/src/main/kotlin/org/onap/ccsdk/apps/blueprintsprocessor/dmaap/BluePrintDmaapClientService.kt102
-rw-r--r--ms/blueprintsprocessor/modules/commons/dmaap-lib/src/main/kotlin/org/onap/ccsdk/apps/blueprintsprocessor/dmaap/BluePrintDmaapLibConfiguration.kt46
-rw-r--r--ms/blueprintsprocessor/modules/commons/dmaap-lib/src/main/kotlin/org/onap/ccsdk/apps/blueprintsprocessor/dmaap/BluePrintDmaapLibPropertyService.kt187
-rw-r--r--ms/blueprintsprocessor/modules/commons/dmaap-lib/src/main/kotlin/org/onap/ccsdk/apps/blueprintsprocessor/dmaap/DmaapClientProperties.kt46
-rw-r--r--ms/blueprintsprocessor/modules/commons/dmaap-lib/src/main/kotlin/org/onap/ccsdk/apps/blueprintsprocessor/dmaap/HttpNoAuthDmaapClientService.kt62
-rw-r--r--ms/blueprintsprocessor/modules/commons/dmaap-lib/src/main/resources/event.properties26
-rw-r--r--ms/blueprintsprocessor/modules/commons/dmaap-lib/src/test/kotlin/org/ccsdk/apps/blueprintprocessor/dmaap/TestDmaapEventPublisher.kt215
-rw-r--r--ms/blueprintsprocessor/modules/commons/dmaap-lib/src/test/resources/logback-test.xml40
-rw-r--r--ms/blueprintsprocessor/modules/commons/dmaap-lib/src/test/resources/preferredRoute.txt22
11 files changed, 0 insertions, 886 deletions
diff --git a/ms/blueprintsprocessor/modules/commons/dmaap-lib/pom.xml b/ms/blueprintsprocessor/modules/commons/dmaap-lib/pom.xml
deleted file mode 100644
index 30f83d38..00000000
--- a/ms/blueprintsprocessor/modules/commons/dmaap-lib/pom.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ~ ============LICENSE_START=======================================================
- ~ ONAP - CDS
- ~ ================================================================================
- ~ Copyright (C) 2019 Huawei Technologies Co., Ltd. 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=========================================================
- -->
-<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.ccsdk.apps.blueprintsprocessor</groupId>
- <artifactId>commons</artifactId>
- <version>0.4.2-SNAPSHOT</version>
- </parent>
-
- <artifactId>dmaap-lib</artifactId>
- <packaging>jar</packaging>
- <name>Blueprints Processor Dmaap Lib</name>
- <description>Blueprints Processor Dmaap Lib</description>
-
-
- <dependencies>
- <dependency>
- <groupId>org.onap.dmaap.messagerouter.dmaapclient</groupId>
- <artifactId>dmaapClient</artifactId>
- <version>${dmaap.client.version}</version>
- <exclusions>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-webflux</artifactId>
- </dependency>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-test</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.glassfish.jersey.inject</groupId>
- <artifactId>jersey-hk2</artifactId>
- </dependency>
- <dependency>
- <groupId>javax.ws.rs</groupId>
- <artifactId>javax.ws.rs-api</artifactId>
- <version>2.1-m07</version>
- </dependency>
- <dependency>
- <groupId>org.jetbrains.kotlin</groupId>
- <artifactId>kotlin-test-junit</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.onap.ccsdk.apps.blueprintsprocessor</groupId>
- <artifactId>processor-core</artifactId>
- </dependency>
- </dependencies>
-
-</project>
diff --git a/ms/blueprintsprocessor/modules/commons/dmaap-lib/src/main/kotlin/org/onap/ccsdk/apps/blueprintsprocessor/dmaap/AafAuthDmaapClientService.kt b/ms/blueprintsprocessor/modules/commons/dmaap-lib/src/main/kotlin/org/onap/ccsdk/apps/blueprintsprocessor/dmaap/AafAuthDmaapClientService.kt
deleted file mode 100644
index dd884092..00000000
--- a/ms/blueprintsprocessor/modules/commons/dmaap-lib/src/main/kotlin/org/onap/ccsdk/apps/blueprintsprocessor/dmaap/AafAuthDmaapClientService.kt
+++ /dev/null
@@ -1,63 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - CDS
- * ================================================================================
- * Copyright (C) 2019 Huawei Technologies Co., Ltd. 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.ccsdk.apps.blueprintsprocessor.dmaap
-
-import com.att.nsa.mr.client.MRBatchingPublisher
-import com.att.nsa.mr.client.MRClientFactory
-import com.att.nsa.mr.client.impl.MRSimplerBatchPublisher
-
-/**
- * Representation of DMAAP client service for AAF auth type.
- */
-class AafAuthDmaapClientService(private val clientProps:
- AafAuthDmaapClientProperties)
- : BluePrintDmaapClientService {
-
- /**
- * The constructed DMAAP client.
- */
- var clients: MutableList<MRBatchingPublisher> = mutableListOf()
-
-
- /**
- * Returns the DMAAP client after constructing it properly with the data
- * that is required for AAF auth connection.
- */
- override fun getDmaapClient(): MutableList<MRBatchingPublisher> {
- if (!clients.isEmpty()) {
- return clients
- }
- val topics = mutableListOf<String>()
- topics.addAll(clientProps.topic.split(","))
-
- for (t in topics) {
- val client = MRClientFactory.createBatchingPublisher(
- clientProps.host, t, clientProps.username,
- clientProps.password, 1, 1, false,
- clientProps.type, "")
- val batchPublisher = client as MRSimplerBatchPublisher
- batchPublisher.props = clientProps.props
- clients.add(client)
- }
- return clients
- }
-
-} \ No newline at end of file
diff --git a/ms/blueprintsprocessor/modules/commons/dmaap-lib/src/main/kotlin/org/onap/ccsdk/apps/blueprintsprocessor/dmaap/BluePrintDmaapClientService.kt b/ms/blueprintsprocessor/modules/commons/dmaap-lib/src/main/kotlin/org/onap/ccsdk/apps/blueprintsprocessor/dmaap/BluePrintDmaapClientService.kt
deleted file mode 100644
index 21d7128e..00000000
--- a/ms/blueprintsprocessor/modules/commons/dmaap-lib/src/main/kotlin/org/onap/ccsdk/apps/blueprintsprocessor/dmaap/BluePrintDmaapClientService.kt
+++ /dev/null
@@ -1,102 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - CDS
- * ================================================================================
- * Copyright (C) 2019 Huawei Technologies Co., Ltd. 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.ccsdk.apps.blueprintsprocessor.dmaap
-
-import com.att.nsa.mr.client.MRBatchingPublisher
-import com.att.nsa.mr.client.MRPublisher
-import org.slf4j.LoggerFactory
-import java.io.IOException
-import java.util.concurrent.TimeUnit
-
-
-/**
- * Abstraction of DMAAP client services that could form DMAAP client from the
- * properties provided. This abstraction also provides a mechanism to send
- * messages with the given partition in a session and closing the same.
- */
-interface BluePrintDmaapClientService {
-
- /**
- * Static variable for logging.
- */
- companion object {
- var log = LoggerFactory.getLogger(
- BluePrintDmaapClientService::class.java)!!
- }
-
- /**
- * Returns the properly constructed DMAAP client with the type.
- */
- fun getDmaapClient(): MutableList<MRBatchingPublisher>
-
- /**
- * Sends messages to the sessions created by the information provided from
- * application.properties and event.properties file
- */
- fun sendMessage(msgs: Collection<String>): Boolean {
- var success = true
- val clients = getDmaapClient()
- val dmaapMsgs = mutableListOf<MRPublisher.message>()
- for (m in msgs) {
- dmaapMsgs.add(MRPublisher.message("1", m))
- }
- log.info("Sending messages to the DMAAP Server")
- for (client in clients) {
- try {
- client.send(dmaapMsgs)
- } catch (e: IOException) {
- success = false
- log.error(e.message, e)
- }
- }
- return success
- }
-
- /**
- * Sends message to the sessions created by the information provided from
- * application.properties and event.properties file
- */
- fun sendMessage(msg: String): Boolean {
- val msgs = mutableListOf<String>()
- msgs.add(msg)
- return sendMessage(msgs)
- }
-
- /**
- * Closes the opened session that was used for sending messages.
- */
- fun close(timeout: Long): MutableList<MutableList<MRPublisher.message>>? {
- log.debug("Closing the DMAAP producer clients")
- var msgs: MutableList<MutableList<MRPublisher.message>> =
- mutableListOf()
- val clients = getDmaapClient()
- for (client in clients) {
- try {
- var ms = client.close(timeout, TimeUnit.SECONDS)
- msgs.add(ms)
- } catch (e: IOException) {
- log.warn("Unable to cleanly close the connection from the " +
- "client $client", e)
- }
- }
- return msgs
- }
-}
diff --git a/ms/blueprintsprocessor/modules/commons/dmaap-lib/src/main/kotlin/org/onap/ccsdk/apps/blueprintsprocessor/dmaap/BluePrintDmaapLibConfiguration.kt b/ms/blueprintsprocessor/modules/commons/dmaap-lib/src/main/kotlin/org/onap/ccsdk/apps/blueprintsprocessor/dmaap/BluePrintDmaapLibConfiguration.kt
deleted file mode 100644
index ca1a07ba..00000000
--- a/ms/blueprintsprocessor/modules/commons/dmaap-lib/src/main/kotlin/org/onap/ccsdk/apps/blueprintsprocessor/dmaap/BluePrintDmaapLibConfiguration.kt
+++ /dev/null
@@ -1,46 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - CDS
- * ================================================================================
- * Copyright (C) 2019 Huawei Technologies Co., Ltd. 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.ccsdk.apps.blueprintsprocessor.dmaap
-
-import org.springframework.boot.context.properties.EnableConfigurationProperties
-import org.springframework.context.annotation.ComponentScan
-import org.springframework.context.annotation.Configuration
-
-/**
- * Representation of DMAAP lib configuration to load the required property
- * files into the application context.
- */
-@Configuration
-@ComponentScan
-@EnableConfigurationProperties
-open class BluePrintDmaapLibConfiguration
-
-/**
- * Util constants required for DMAAP library to use.
- */
-class DmaapLibConstants {
- companion object {
- const val SERVICE_BLUEPRINT_DMAAP_LIB_PROPERTY = "blueprint" +
- "-dmaap-lib-property-service"
- const val TYPE_HTTP_NO_AUTH = "HTTPNOAUTH"
- const val TYPE_HTTP_AAF_AUTH = "HTTPAAF"
- }
-} \ No newline at end of file
diff --git a/ms/blueprintsprocessor/modules/commons/dmaap-lib/src/main/kotlin/org/onap/ccsdk/apps/blueprintsprocessor/dmaap/BluePrintDmaapLibPropertyService.kt b/ms/blueprintsprocessor/modules/commons/dmaap-lib/src/main/kotlin/org/onap/ccsdk/apps/blueprintsprocessor/dmaap/BluePrintDmaapLibPropertyService.kt
deleted file mode 100644
index 7abbefbc..00000000
--- a/ms/blueprintsprocessor/modules/commons/dmaap-lib/src/main/kotlin/org/onap/ccsdk/apps/blueprintsprocessor/dmaap/BluePrintDmaapLibPropertyService.kt
+++ /dev/null
@@ -1,187 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - CDS
- * ================================================================================
- * Copyright (C) 2019 Huawei Technologies Co., Ltd. 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.ccsdk.apps.blueprintsprocessor.dmaap
-
-import com.fasterxml.jackson.databind.JsonNode
-import org.onap.ccsdk.apps.blueprintsprocessor.core.BluePrintProperties
-import org.onap.ccsdk.apps.blueprintsprocessor.dmaap.DmaapLibConstants.Companion.SERVICE_BLUEPRINT_DMAAP_LIB_PROPERTY
-import org.onap.ccsdk.apps.blueprintsprocessor.dmaap.DmaapLibConstants.Companion.TYPE_HTTP_AAF_AUTH
-import org.onap.ccsdk.apps.blueprintsprocessor.dmaap.DmaapLibConstants.Companion.TYPE_HTTP_NO_AUTH
-import org.onap.ccsdk.apps.controllerblueprints.core.BluePrintProcessorException
-import org.onap.ccsdk.apps.controllerblueprints.core.utils.JacksonUtils
-import org.slf4j.LoggerFactory
-import org.springframework.beans.factory.annotation.Autowired
-import org.springframework.context.annotation.Configuration
-import org.springframework.context.annotation.PropertySource
-import org.springframework.context.annotation.PropertySources
-import org.springframework.core.env.ConfigurableEnvironment
-import org.springframework.core.env.Environment
-import org.springframework.core.io.support.ResourcePropertySource
-import org.springframework.stereotype.Service
-import java.util.Properties
-
-/**
- * Representation of DMAAP lib property service to load the properties
- * according to the connection type to the DMAAP server and returning back
- * the appropriate DMAAP client to send messages DMAAP client.
- */
-@Service(SERVICE_BLUEPRINT_DMAAP_LIB_PROPERTY)
-@Configuration
-@PropertySources(PropertySource("classpath:event.properties"))
-open class BluePrintDmaapLibPropertyService(private var bluePrintProperties:
- BluePrintProperties) {
-
- /**
- * Static variable for logging.
- */
- companion object {
- var log = LoggerFactory.getLogger(
- BluePrintDmaapLibPropertyService::class.java)!!
- }
-
- /**
- * Environment entity to derive it from the system to load a specific
- * property file.
- */
- @Autowired
- lateinit var env: Environment
-
- /**
- * Returns the DMAAP client by providing the input properties as a JSON
- * node.
- */
- fun blueprintDmaapClientService(jsonNode: JsonNode):
- BluePrintDmaapClientService {
- val dmaapProps = dmaapClientProperties(jsonNode)
- return blueprintDmaapClientService(dmaapProps)
- }
-
- /**
- * Returns the DMAAP client by providing the input properties as a
- * selector string.
- */
- fun blueprintDmaapClientService(selector: String):
- BluePrintDmaapClientService {
- val prefix = "blueprintsprocessor.dmaapclient.$selector"
- val dmaapProps = dmaapClientProperties(prefix)
- return blueprintDmaapClientService(dmaapProps)
- }
-
- /**
- * Returns the DMAAP client properties from the type of connection it
- * requires.
- */
- fun dmaapClientProperties(prefix: String): DmaapClientProperties {
- val type = bluePrintProperties.propertyBeanType(
- "$prefix.type", String::class.java)
- val clientProps : DmaapClientProperties
-
- when (type) {
- TYPE_HTTP_NO_AUTH -> {
- clientProps = bluePrintProperties.propertyBeanType(
- prefix, HttpNoAuthDmaapClientProperties::class.java)
- clientProps.props = parseEventProps()
- }
-
- TYPE_HTTP_AAF_AUTH -> {
- clientProps = bluePrintProperties.propertyBeanType(
- prefix, AafAuthDmaapClientProperties::class.java)
- clientProps.props = parseEventProps()
- }
-
- else -> {
- throw BluePrintProcessorException("DMAAP adaptor($type) is " +
- "not supported")
- }
- }
- return clientProps
- }
-
- /**
- * Returns the DMAAP client properties from the type of connection it
- * requires.
- */
- fun dmaapClientProperties(jsonNode: JsonNode): DmaapClientProperties {
- val type = jsonNode.get("type").textValue()
- val clientProps : DmaapClientProperties
-
- when (type) {
- TYPE_HTTP_NO_AUTH -> {
- clientProps = JacksonUtils.readValue(jsonNode,
- HttpNoAuthDmaapClientProperties::class.java)!!
- clientProps.props = parseEventProps()
- }
-
- TYPE_HTTP_AAF_AUTH -> {
- clientProps = JacksonUtils.readValue(jsonNode,
- AafAuthDmaapClientProperties::class.java)!!
- clientProps.props = parseEventProps()
- }
-
- else -> {
- throw BluePrintProcessorException("DMAAP adaptor($type) is " +
- "not supported")
- }
- }
- return clientProps
- }
-
- /**
- * Returns DMAAP client service according to the type of client properties.
- */
- private fun blueprintDmaapClientService(clientProps: DmaapClientProperties):
- BluePrintDmaapClientService {
- when (clientProps) {
- is HttpNoAuthDmaapClientProperties -> {
- return HttpNoAuthDmaapClientService(clientProps)
- }
-
- is AafAuthDmaapClientProperties -> {
- return AafAuthDmaapClientService(clientProps)
- }
-
- else -> {
- throw BluePrintProcessorException("Unable to get the DMAAP " +
- "client")
- }
- }
- }
-
- /**
- * Parses the event.properties file which contains the default values for
- * the connection required.
- */
- private fun parseEventProps(): Properties {
- val prodProps = Properties()
- val proProps = (env as ConfigurableEnvironment).propertySources.get(
- "class path resource [event.properties]")
-
- if (proProps != null) {
- val entries = (proProps as ResourcePropertySource).source.entries
- for (e in entries) {
- prodProps.put(e.key, e.value)
- }
- } else {
- log.error("Unable to load the event.properties file")
- }
- return prodProps
- }
-}
diff --git a/ms/blueprintsprocessor/modules/commons/dmaap-lib/src/main/kotlin/org/onap/ccsdk/apps/blueprintsprocessor/dmaap/DmaapClientProperties.kt b/ms/blueprintsprocessor/modules/commons/dmaap-lib/src/main/kotlin/org/onap/ccsdk/apps/blueprintsprocessor/dmaap/DmaapClientProperties.kt
deleted file mode 100644
index 97df2723..00000000
--- a/ms/blueprintsprocessor/modules/commons/dmaap-lib/src/main/kotlin/org/onap/ccsdk/apps/blueprintsprocessor/dmaap/DmaapClientProperties.kt
+++ /dev/null
@@ -1,46 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - CDS
- * ================================================================================
- * Copyright (C) 2019 Huawei Technologies Co., Ltd. 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.ccsdk.apps.blueprintsprocessor.dmaap
-
-import java.util.Properties
-
-/**
- * Representation of data required for all DMAAP client.
- */
-open class DmaapClientProperties {
- lateinit var props: Properties
- lateinit var type: String
- lateinit var host: String
- lateinit var topic: String
-}
-
-/**
- * Representation of data required for HTTP no auth DMAAP client.
- */
-open class HttpNoAuthDmaapClientProperties : DmaapClientProperties()
-
-/**
- * Representation of data required for AAF auth DMAAP client.
- */
-open class AafAuthDmaapClientProperties : DmaapClientProperties() {
- lateinit var username: String
- lateinit var password: String
-}
diff --git a/ms/blueprintsprocessor/modules/commons/dmaap-lib/src/main/kotlin/org/onap/ccsdk/apps/blueprintsprocessor/dmaap/HttpNoAuthDmaapClientService.kt b/ms/blueprintsprocessor/modules/commons/dmaap-lib/src/main/kotlin/org/onap/ccsdk/apps/blueprintsprocessor/dmaap/HttpNoAuthDmaapClientService.kt
deleted file mode 100644
index ad023b96..00000000
--- a/ms/blueprintsprocessor/modules/commons/dmaap-lib/src/main/kotlin/org/onap/ccsdk/apps/blueprintsprocessor/dmaap/HttpNoAuthDmaapClientService.kt
+++ /dev/null
@@ -1,62 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - CDS
- * ================================================================================
- * Copyright (C) 2019 Huawei Technologies Co., Ltd. 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.ccsdk.apps.blueprintsprocessor.dmaap
-
-import com.att.nsa.mr.client.MRBatchingPublisher
-import com.att.nsa.mr.client.MRClientFactory.createSimplePublisher
-import com.att.nsa.mr.client.impl.MRSimplerBatchPublisher
-
-/**
- * Representation of DMAAP client service for HTTP no auth type.
- */
-class HttpNoAuthDmaapClientService(private val clientProps:
- HttpNoAuthDmaapClientProperties)
- : BluePrintDmaapClientService {
-
- /**
- * The constructed DMAAP client.
- */
- var clients: MutableList<MRBatchingPublisher> = mutableListOf()
-
-
- /**
- * Returns the DMAAP client after constructing it properly with the data
- * that is required for HTTP no auth connection.
- */
- override fun getDmaapClient(): MutableList<MRBatchingPublisher> {
- if (!clients.isEmpty()) {
- return clients
- }
- val topics = mutableListOf<String>()
- topics.addAll(clientProps.topic.split(","))
-
- for (t in topics) {
- val client = createSimplePublisher(clientProps.host, t)
- val batchPublisher = client as MRSimplerBatchPublisher
- batchPublisher.setProtocolFlag(clientProps.type)
- batchPublisher.props = clientProps.props
- clients.add(client)
- }
-
- return clients
- }
-
-} \ No newline at end of file
diff --git a/ms/blueprintsprocessor/modules/commons/dmaap-lib/src/main/resources/event.properties b/ms/blueprintsprocessor/modules/commons/dmaap-lib/src/main/resources/event.properties
deleted file mode 100644
index 320b08e8..00000000
--- a/ms/blueprintsprocessor/modules/commons/dmaap-lib/src/main/resources/event.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-#
-# ============LICENSE_START=======================================================
-# ONAP - CDS
-# ================================================================================
-# Copyright (C) 2019 Huawei Technologies Co., Ltd. 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=========================================================
-#
-
-#TransportType-Specify which way user want to use. I.e. <HTTPAAF,DME2,HTTPAUTH >
-Protocol =http
-partition=1
-contenttype = application/json
-
-
diff --git a/ms/blueprintsprocessor/modules/commons/dmaap-lib/src/test/kotlin/org/ccsdk/apps/blueprintprocessor/dmaap/TestDmaapEventPublisher.kt b/ms/blueprintsprocessor/modules/commons/dmaap-lib/src/test/kotlin/org/ccsdk/apps/blueprintprocessor/dmaap/TestDmaapEventPublisher.kt
deleted file mode 100644
index 9b3aae5e..00000000
--- a/ms/blueprintsprocessor/modules/commons/dmaap-lib/src/test/kotlin/org/ccsdk/apps/blueprintprocessor/dmaap/TestDmaapEventPublisher.kt
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * ONAP - CDS
- * ================================================================================
- * Copyright (C) 2019 Huawei Technologies Co., Ltd. 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.ccsdk.apps.blueprintprocessor.dmaap
-
-import com.fasterxml.jackson.databind.ObjectMapper
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.onap.ccsdk.apps.blueprintsprocessor.core.BluePrintProperties
-import org.onap.ccsdk.apps.blueprintsprocessor.core.BlueprintPropertyConfiguration
-import org.onap.ccsdk.apps.blueprintsprocessor.dmaap.BluePrintDmaapLibConfiguration
-import org.onap.ccsdk.apps.blueprintsprocessor.dmaap.BluePrintDmaapLibPropertyService
-import org.springframework.beans.factory.annotation.Autowired
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration
-import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
-import org.springframework.boot.test.context.SpringBootTest
-import org.springframework.http.HttpStatus
-import org.springframework.http.ResponseEntity
-import org.springframework.test.context.ContextConfiguration
-import org.springframework.test.context.TestPropertySource
-import org.springframework.test.context.junit4.SpringRunner
-import org.springframework.web.bind.annotation.PathVariable
-import org.springframework.web.bind.annotation.PostMapping
-import org.springframework.web.bind.annotation.RequestMapping
-import org.springframework.web.bind.annotation.RestController
-import kotlin.test.assertEquals
-import kotlin.test.assertNotNull
-
-/**
- * Unit test cases for DMaap publisher code.
- */
-@RunWith(SpringRunner::class)
-@EnableAutoConfiguration(exclude = [DataSourceAutoConfiguration::class])
-@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
-@ContextConfiguration(classes = [BluePrintDmaapLibConfiguration::class, TestController::class,
- BlueprintPropertyConfiguration::class, BluePrintProperties::class])
-@TestPropertySource(properties = ["server.port=9111",
- "blueprintsprocessor.dmaapclient.aai.topic=cds_aai",
- "blueprintsprocessor.dmaapclient.aai.type=HTTPNOAUTH",
- "blueprintsprocessor.dmaapclient.aai.host=127.0.0.1:9111",
- "blueprintsprocessor.dmaapclient.multi.topic=cds_multi1,cds_multi2",
- "blueprintsprocessor.dmaapclient.multi.type=HTTPNOAUTH",
- "blueprintsprocessor.dmaapclient.multi.host=127.0.0.1:9111"])
-class TestDmaapEventPublisher {
-
- @Autowired
- lateinit var dmaapService : BluePrintDmaapLibPropertyService
-
- /**
- * Tests the event properties being set properly and sent as request.
- */
- @Test
- fun testEventProperties() {
- val strList = mutableListOf<String>()
- val dmaapClient = dmaapService.blueprintDmaapClientService("aai")
-
- strList.add("{\n" +
- " \"a\" : \"hello\"\n" +
- "}")
- dmaapClient.sendMessage(strList)
- val msgs = dmaapClient.close(2)
- assertEquals(msgs!!.size, 1)
- val topic1 = msgs.get(0)
- assertEquals(topic1!!.size, 0)
- }
-
- /**
- * Tests the event properties being set properly and sent as request with
- * single message.
- */
- @Test
- fun testEventPropertiesWithSingleMsg() {
- val dmaapClient = dmaapService.blueprintDmaapClientService("aai")
- val str : String = "{\n" +
- " \"a\" : \"hello\"\n" +
- "}"
- dmaapClient.sendMessage(str)
- val msgs = dmaapClient.close(2)
- assertEquals(msgs!!.size, 1)
- val topic1 = msgs.get(0)
- assertEquals(topic1!!.size, 0)
- }
-
- /**
- * Tests the event properties with multiple topics.
- */
- @Test
- fun testMultiTopicProperties() {
- val strList = mutableListOf<String>()
- val dmaapClient = dmaapService.blueprintDmaapClientService("multi")
-
- strList.add("{\n" +
- " \"a\" : \"hello\"\n" +
- "}")
- dmaapClient.sendMessage(strList)
- val msgs = dmaapClient.close(2)
- assertEquals(msgs!!.size, 2)
- val topic1 = msgs.get(0)
- assertEquals(topic1!!.size, 0)
- val topic2 = msgs.get(1)
- assertEquals(topic2!!.size, 0)
- }
-
-
- /**
- * Tests the event properties with multiple topics with JSON node as input.
- */
- @Test
- fun testMultiTopicPropertiesWithJsonInput() {
- val jsonString = "{\n" +
- " \"topic\" : \"cds_json1,cds_json2\",\n" +
- " \"type\" : \"HTTPNOAUTH\",\n" +
- " \"host\" : \"127.0.0.1:9111\"\n" +
- "}"
- val mapper = ObjectMapper()
- val node = mapper.readTree(jsonString)
- val strList = mutableListOf<String>()
- val dmaapClient = dmaapService.blueprintDmaapClientService(node)
-
- strList.add("{\n" +
- " \"a\" : \"hello\"\n" +
- "}")
- dmaapClient.sendMessage(strList)
- val msgs = dmaapClient.close(2)
- assertEquals(msgs!!.size, 2)
- val topic1 = msgs.get(0)
- assertEquals(topic1!!.size, 0)
- val topic2 = msgs.get(1)
- assertEquals(topic2!!.size, 0)
- }
-
-
- /**
- * Tests the event properties with multiple messages.
- */
- @Test
- fun testMultiMsgsProperties() {
- val strList = mutableListOf<String>()
- val dmaapClient = dmaapService.blueprintDmaapClientService("aai")
-
- strList.add("{\n" +
- " \"a\" : \"hello\"\n" +
- "}")
- strList.add("{\n" +
- " \"a\" : \"second\"\n" +
- "}")
- dmaapClient.sendMessage(strList)
- val msgs = dmaapClient.close(2)
- assertEquals(msgs!!.size, 1)
- val topic1 = msgs.get(0)
- assertEquals(topic1!!.size, 0)
- }
-
- /**
- * Tests the DMAAP client properties generated with the complete prefix.
- */
- @Test
- fun testDmaapClientProperties() {
- val properties = dmaapService.dmaapClientProperties(
- "blueprintsprocessor.dmaapclient.aai")
- assertNotNull(properties, "failed to create property bean")
- assertNotNull(properties.host, "failed to get url property" +
- " in property bean")
- }
-
- /**
- * Tests the blueprint DMAAP client service with only selector prefix.
- */
- @Test
- fun testBlueprintDmaapClientService() {
- val blueprintDmaapClientService =
- dmaapService.blueprintDmaapClientService("aai")
- assertNotNull(blueprintDmaapClientService,
- "failed to create blueprintDmaapClientService")
- }
-
-}
-
-/**
- * Rest controller for testing the client request that is sent.
- */
-@RestController
-@RequestMapping(path = ["/events"])
-open class TestController {
-
- /**
- * Accepts request for a topic and sends a message as response.
- */
- @PostMapping(path = ["/{topic}"])
- fun postTopic(@PathVariable(value = "topic") topic : String):
- ResponseEntity<Any> {
- var a = "{\n" +
- " \"message\" : \"The message is published into $topic " +
- "topic\"\n" +
- "}"
- return ResponseEntity(a, HttpStatus.OK)
- }
-}
diff --git a/ms/blueprintsprocessor/modules/commons/dmaap-lib/src/test/resources/logback-test.xml b/ms/blueprintsprocessor/modules/commons/dmaap-lib/src/test/resources/logback-test.xml
deleted file mode 100644
index 0f76057a..00000000
--- a/ms/blueprintsprocessor/modules/commons/dmaap-lib/src/test/resources/logback-test.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<!--
- ~ ============LICENSE_START=======================================================
- ~ ONAP - CDS
- ~ ================================================================================
- ~ Copyright (C) 2019 Huawei Technologies Co., Ltd. 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=========================================================
- -->
-
-
-<configuration>
- <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
- <!-- encoders are assigned the type
- ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
- <encoder>
- <pattern>%d{HH:mm:ss.SSS} %-5level %logger{100} - %msg%n</pattern>
- </encoder>
- </appender>
-
- <logger name="org.springframework.test" level="warn"/>
- <logger name="org.springframework" level="warn"/>
- <logger name="org.hibernate" level="info"/>
- <logger name="org.onap.ccsdk.apps.blueprintsprocessor" level="info"/>
-
- <root level="warn">
- <appender-ref ref="STDOUT"/>
- </root>
-
-</configuration>
diff --git a/ms/blueprintsprocessor/modules/commons/dmaap-lib/src/test/resources/preferredRoute.txt b/ms/blueprintsprocessor/modules/commons/dmaap-lib/src/test/resources/preferredRoute.txt
deleted file mode 100644
index 7e6ed8bd..00000000
--- a/ms/blueprintsprocessor/modules/commons/dmaap-lib/src/test/resources/preferredRoute.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-# ============LICENSE_START==========================================
-# ONAP : APPC
-# ===================================================================
-# Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
-# ===================================================================
-#
-# Unless otherwise specified, all software contained herein is licensed
-# under the Apache License, Version 2.0 (the License);
-# you may not use this software 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.
-#
-# ECOMP is a trademark and service mark of AT&T Intellectual Property.
-# ============LICENSE_END============================================
-preferredRouteKey=MR1