Modify lcm events to include dataProducerIdentifier and moduleSetTag (CPS-1964 3)

Issue-ID: CPS-2114
Change-Id: I52ae18fe849801706491742818b316df9f8cb554
Signed-off-by: JvD_Ericsson <jeff.van.dam@est.tech>
diff --git a/cps-ncmp-events/src/main/resources/schemas/lcm/lcm-event-schema-v1.json b/cps-ncmp-events/src/main/resources/schemas/lcm/lcm-event-schema-v1.json
index e687303..bd0d90d 100644
--- a/cps-ncmp-events/src/main/resources/schemas/lcm/lcm-event-schema-v1.json
+++ b/cps-ncmp-events/src/main/resources/schemas/lcm/lcm-event-schema-v1.json
@@ -43,6 +43,14 @@
           "description": "alternative id for cmHandle (e.g. 3GPP FDN)",
           "type": "string"
         },
+        "moduleSetTag": {
+          "description": "module set tag for cmHandle",
+          "type": "string"
+        },
+        "dataProducerIdentifier": {
+          "description": "data producer identifier for cmHandle",
+          "type": "string"
+        },
         "oldValues": {
           "$ref": "#/definitions/Values"
         },
diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/events/lcm/LcmEventsCreator.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/events/lcm/LcmEventsCreator.java
index 23d508b..fa27be1 100644
--- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/events/lcm/LcmEventsCreator.java
+++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/events/lcm/LcmEventsCreator.java
@@ -96,6 +96,8 @@
         final Event event = new Event();
         event.setCmHandleId(eventCorrelationId);
         event.setAlternateId(targetNcmpServiceCmHandle.getAlternateId());
+        event.setModuleSetTag(targetNcmpServiceCmHandle.getModuleSetTag());
+        event.setDataProducerIdentifier(targetNcmpServiceCmHandle.getDataProducerIdentifier());
         final CmHandleValuesHolder cmHandleValuesHolder =
                 LcmEventsCreatorHelper.determineEventValues(targetNcmpServiceCmHandle, existingNcmpServiceCmHandle,
                         lcmEventType);
diff --git a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/events/lcm/LcmEventsCreatorSpec.groovy b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/events/lcm/LcmEventsCreatorSpec.groovy
index b7c3b87..bef2963 100644
--- a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/events/lcm/LcmEventsCreatorSpec.groovy
+++ b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/events/lcm/LcmEventsCreatorSpec.groovy
@@ -174,18 +174,20 @@
             assert result.eventId != null
     }
 
-    def 'Map the LcmEvent for alternate IDs when #scenario'() {
-        given: 'NCMP cm handle details with current and old alternate IDs'
-            def existingNcmpServiceCmHandle = new NcmpServiceCmHandle(cmHandleId: cmHandleId, alternateId: existingAlternateId, compositeState: new CompositeState(dataSyncEnabled: false))
-            def targetNcmpServiceCmHandle = new NcmpServiceCmHandle(cmHandleId: cmHandleId, alternateId: targetAlternateId, compositeState: new CompositeState(dataSyncEnabled: false))
+    def 'Map the LcmEvent for alternate ID, data producer identifier, and module set tag when they contain #scenario'() {
+        given: 'NCMP cm handle details with current and old values for alternate ID, module set tag, and data producer identifier'
+            def existingNcmpServiceCmHandle = new NcmpServiceCmHandle(cmHandleId: cmHandleId, alternateId: existingAlternateId, moduleSetTag: existingModuleSetTag, dataProducerIdentifier: existingDataProducerIdentifier, compositeState: new CompositeState(dataSyncEnabled: false))
+            def targetNcmpServiceCmHandle = new NcmpServiceCmHandle(cmHandleId: cmHandleId, alternateId: targetAlternateId, moduleSetTag: targetModuleSetTag, dataProducerIdentifier: targetDataProducerIdentifier, compositeState: new CompositeState(dataSyncEnabled: false))
         when: 'the event is populated'
             def result = objectUnderTest.populateLcmEvent(cmHandleId, targetNcmpServiceCmHandle, existingNcmpServiceCmHandle)
-        then: 'the alternate ID is present or is an empty string in the payload'
-            assert result.event.alternateId == expectedEventAlternateId
-        where: 'the following alternate IDs are provided'
-            scenario                                      | existingAlternateId | targetAlternateId || expectedEventAlternateId
-            'same new and old alternate ID'               | 'someAlternateId'   | 'someAlternateId' || 'someAlternateId'
-            'blank new and old alternate ID'              | ''                  | ''                || ''
-            'new alternate id and blank old alternate ID' | ''                  | 'someAlternateId' || 'someAlternateId'
+        then: 'the alternate ID, module set tag, and data producer identifier are present or are an empty string in the payload'
+            assert result.event.alternateId == targetAlternateId
+            assert result.event.moduleSetTag == targetModuleSetTag
+            assert result.event.dataProducerIdentifier == targetDataProducerIdentifier
+        where: 'the following values are provided for the alternate ID, module set tag, and data producer identifier'
+            scenario                                     | existingAlternateId | targetAlternateId | existingModuleSetTag | targetModuleSetTag | existingDataProducerIdentifier | targetDataProducerIdentifier
+            'same target and existing values'            | 'someAlternateId'   | 'someAlternateId' | 'someModuleSetTag'   | 'someModuleSetTag' | 'someDataProducerIdentifier'   | 'someDataProducerIdentifier'
+            'blank target and existing values'           | ''                  | ''                | ''                   | ''                 | ''                             | ''
+            'new target value and blank existing values' | ''                  | 'someAlternateId' | ''                   | 'someAlternateId'  | ''                             | 'someDataProducerIdentifier'
     }
 }
\ No newline at end of file