refactor: Remove LcmEventHeader parameter from sendLcmEvent method 41/142641/2
authorToineSiebelink <toine.siebelink@est.tech>
Wed, 3 Dec 2025 10:47:52 +0000 (10:47 +0000)
committerToineSiebelink <toine.siebelink@est.tech>
Thu, 4 Dec 2025 14:43:24 +0000 (14:43 +0000)
commit9c57debe4cf97f9175894c6f1476a7015555070d
tree0c8c13dc6b653a919014b24fb60115f364397197
parentb4d215e8468f7a9743ba3f0d7c10f4e263ba04b5
refactor: Remove LcmEventHeader parameter from sendLcmEvent method

- Remove LcmEventHeader parameter from LcmEventsProducer.sendLcmEvent()
- Extract headers directly from LcmEvent object using new extractHeadersAsMap() method
- Remove json definition of now unnecessary lcm event header object
- Fix bug(?) related to recording metrics when sending event failed
- Removed unnecessary null checks for status during metric record
- Refactored LcmEventHelper, LcmEventProducer and LcmEventProducerHelper into 3 classes with clear responsibilities
  LcmEventProducer               : can send events (depends on LcmObjectCreator)
  LcmEventObjectCreator          : create events(depends on CmHandlePropertyChangeDetector)
  CmHandlePropertyChangeDetector : detects the updates
- Cleaned up corresponding test classes
- Renamed cps/events/EventsProducer.java to cps/events/EventProducer (singular, consistent with other classes)
  (apologies, this caused updates for 3/4 of the files in this commit)
- Renamed dmi/EventProducer to dmi/DmiEventProducer to avoid clashes with main EventProducer (in some testware)

Issue-ID: CPS-3072
Change-Id: I2126fed8a1d45c0360a777b4419103804c5ff9f2
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
39 files changed:
cps-ncmp-events/src/main/resources/schemas/lcm/lcm-event-header-v1.json [deleted file]
cps-ncmp-rest/src/test/groovy/org/onap/cps/ncmp/rest/controller/NetworkCmProxyControllerSpec.groovy
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/data/async/DataOperationEventConsumer.java
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/data/async/DmiAsyncRequestResponseEventConsumer.java
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/data/utils/DmiDataOperationsHelper.java
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/datajobs/subscription/cmavc/CmAvcEventConsumer.java
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/datajobs/subscription/dmi/DmiEventProducer.java [moved from cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/datajobs/subscription/dmi/EventProducer.java with 93% similarity]
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/datajobs/subscription/ncmp/CmSubscriptionHandlerImpl.java
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/CmHandleRegistrationServicePropertyHandler.java
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/sync/lcm/CmHandlePropertyChangeDetector.java [new file with mode: 0644]
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/sync/lcm/CmHandlePropertyUpdates.java [moved from cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/sync/lcm/LcmEventHeaderMapper.java with 68% similarity]
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/sync/lcm/LcmEventObjectCreator.java [new file with mode: 0644]
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/sync/lcm/LcmEventProducer.java [new file with mode: 0644]
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/sync/lcm/LcmEventsCmHandleStateHandlerImpl.java
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/sync/lcm/LcmEventsHelper.java [deleted file]
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/sync/lcm/LcmEventsProducer.java [deleted file]
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/sync/lcm/LcmEventsProducerHelper.java [deleted file]
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/utils/events/InventoryEventProducer.java
cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/data/DmiDataOperationsSpec.groovy
cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/data/async/CpsAsyncRequestResponseEventIntegrationSpec.groovy
cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/data/async/DataOperationEventConsumerSpec.groovy
cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/data/async/FilterStrategiesIntegrationSpec.groovy
cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/data/async/SerializationIntegrationSpec.groovy
cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/data/utils/DmiDataOperationsHelperSpec.groovy
cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/datajobs/subscription/cmavc/CmAvcEventConsumerSpec.groovy
cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/datajobs/subscription/dmi/EventProducerSpec.groovy
cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/datajobs/subscription/ncmp/CmSubscriptionHandlerImplSpec.groovy
cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/inventory/CmHandleRegistrationServicePropertyHandlerSpec.groovy
cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/inventory/sync/lcm/CmHandleStateMonitorSpec.groovy
cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/inventory/sync/lcm/EventProducerSpec.groovy [moved from cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/inventory/sync/lcm/EventsProducerSpec.groovy with 85% similarity]
cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/inventory/sync/lcm/LcmEventObjectCreatorSpec.groovy [moved from cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/inventory/sync/lcm/LcmEventsProducerHelperSpec.groovy with 85% similarity]
cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/inventory/sync/lcm/LcmEventProducerSpec.groovy [new file with mode: 0644]
cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/inventory/sync/lcm/LcmEventsCmHandleStateHandlerImplSpec.groovy
cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/inventory/sync/lcm/LcmEventsProducerSpec.groovy [deleted file]
cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/utils/events/InventoryEventProducerSpec.groovy
cps-service/src/main/java/org/onap/cps/events/CpsDataUpdateEventsProducer.java
cps-service/src/main/java/org/onap/cps/events/EventProducer.java [moved from cps-service/src/main/java/org/onap/cps/events/EventsProducer.java with 97% similarity]
cps-service/src/test/groovy/org/onap/cps/events/CpsDataUpdateEventProducerSpec.groovy [moved from cps-service/src/test/groovy/org/onap/cps/events/CpsDataUpdateEventsProducerSpec.groovy with 94% similarity]
cps-service/src/test/groovy/org/onap/cps/events/EventProducerSpec.groovy [moved from cps-service/src/test/groovy/org/onap/cps/events/EventsProducerSpec.groovy with 94% similarity]