From bdf609572b2a62df00e044f4bae38e4c6c8ce4e7 Mon Sep 17 00:00:00 2001 From: mpriyank Date: Tue, 21 Mar 2023 09:59:00 +0000 Subject: Add event to mapper as well - Explicitly add event to the mapper - Also parameterized the cm-events topic to be overridden later Issue-ID: CPS-1554 Change-Id: Ia6e75117dbb4214648d40318989c4c5fe6fd69f1 Signed-off-by: mpriyank --- cps-application/src/main/resources/application.yml | 1 + .../onap/cps/ncmp/api/impl/notifications/avc/AvcEventMapper.java | 1 + .../cps/ncmp/api/impl/notifications/avc/AvcEventProducer.java | 8 ++++++-- .../impl/notifications/avc/AvcEventProducerIntegrationSpec.groovy | 6 ++++-- cps-ncmp-service/src/test/resources/application.yml | 1 + 5 files changed, 13 insertions(+), 4 deletions(-) diff --git a/cps-application/src/main/resources/application.yml b/cps-application/src/main/resources/application.yml index 02902de68..0007bc824 100644 --- a/cps-application/src/main/resources/application.yml +++ b/cps-application/src/main/resources/application.yml @@ -99,6 +99,7 @@ app: topic: ${NCMP_ASYNC_M2M_TOPIC:ncmp-async-m2m} avc: subscription-topic: ${NCMP_CM_AVC_SUBSCRIPTION:cm-avc-subscription} + cm-events-topic: ${NCMP_CM_EVENTS_TOPIC:cm-events} lcm: events: topic: ${LCM_EVENTS_TOPIC:ncmp-events} diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/notifications/avc/AvcEventMapper.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/notifications/avc/AvcEventMapper.java index b6dc46777..aaa06c665 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/notifications/avc/AvcEventMapper.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/notifications/avc/AvcEventMapper.java @@ -40,6 +40,7 @@ public interface AvcEventMapper { @Mapping(source = "eventSchemaVersion", target = "eventSchemaVersion") @Mapping(source = "eventSource", target = "eventSource") @Mapping(source = "eventType", target = "eventType") + @Mapping(source = "event", target = "event") AvcEvent toOutgoingAvcEvent(AvcEvent incomingAvcEvent); @Named("avcEventId") diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/notifications/avc/AvcEventProducer.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/notifications/avc/AvcEventProducer.java index 049f66100..b8fe730a1 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/notifications/avc/AvcEventProducer.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/notifications/avc/AvcEventProducer.java @@ -23,6 +23,7 @@ package org.onap.cps.ncmp.api.impl.notifications.avc; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.onap.cps.ncmp.event.model.AvcEvent; +import org.springframework.beans.factory.annotation.Value; import org.springframework.kafka.core.KafkaTemplate; import org.springframework.stereotype.Service; @@ -38,6 +39,9 @@ public class AvcEventProducer { private final AvcEventMapper avcEventMapper; + @Value("${app.ncmp.avc.cm-events-topic}") + private String cmEventsTopic; + /** * Sends message to the configured topic with a message key. * @@ -46,7 +50,7 @@ public class AvcEventProducer { public void sendMessage(final AvcEvent incomingAvcEvent) { // generate new event id while keeping other data final AvcEvent outgoingAvcEvent = avcEventMapper.toOutgoingAvcEvent(incomingAvcEvent); - log.debug("Forwarding AVC event {} to topic {} ", outgoingAvcEvent.getEventId(), "cm-events"); - kafkaTemplate.send("cm-events", outgoingAvcEvent.getEventId(), outgoingAvcEvent); + log.debug("Forwarding AVC event {} to topic {} ", outgoingAvcEvent.getEventId(), cmEventsTopic); + kafkaTemplate.send(cmEventsTopic, outgoingAvcEvent.getEventId(), outgoingAvcEvent); } } diff --git a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/notifications/avc/AvcEventProducerIntegrationSpec.groovy b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/notifications/avc/AvcEventProducerIntegrationSpec.groovy index 744737080..a251ecbf0 100644 --- a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/notifications/avc/AvcEventProducerIntegrationSpec.groovy +++ b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/notifications/avc/AvcEventProducerIntegrationSpec.groovy @@ -56,8 +56,10 @@ class AvcEventProducerIntegrationSpec extends MessagingBaseSpec { def kafkaConsumer = new KafkaConsumer<>(consumerConfigProperties('ncmp-group')) def 'Consume and forward valid message'() { - given: 'consumer has a subscription' - kafkaConsumer.subscribe(['cm-events'] as List) + given: 'consumer has a subscription on a topic' + def cmEventsTopic = 'cm-events' + avcEventProducer.cmEventsTopic = cmEventsTopic + kafkaConsumer.subscribe([cmEventsTopic] as List) and: 'an event is sent' def jsonData = TestUtils.getResourceFileContent('sampleAvcInputEvent.json') def testEventSent = jsonObjectMapper.convertJsonString(jsonData, AvcEvent.class) diff --git a/cps-ncmp-service/src/test/resources/application.yml b/cps-ncmp-service/src/test/resources/application.yml index b7dfe86c1..e66f23d23 100644 --- a/cps-ncmp-service/src/test/resources/application.yml +++ b/cps-ncmp-service/src/test/resources/application.yml @@ -20,6 +20,7 @@ app: ncmp: avc: subscription-topic: cm-avc-subscription + cm-events-topic: cm-events ncmp: dmi: -- cgit 1.2.3-korg