Table of Contents
Analysis on Forwarded
...
Event
- We are using 'NCMPAsynRequestResponse' event schema to consume 'DMIAsynRequestResponse' event and forward to the client after mapping to different properties.
- NCMPAsynRequestResponse has 2 object properties other than individual properties. The below 2 has the same properties.
- Event :
- While mapping properties from 'DMIAsynRequestResponse' to 'NCMPAsynRequestResponse, We
- We are not mapping anything to this property object/type. , While mapping properties from 'DMIAsynRequestResponse' to 'NCMPAsynRequestResponse'. We can find the same on the below screenshot.
- Forwarded Event :
- While mapping properties from 'DMIAsynRequestResponse' to 'NCMPAsynRequestResponse', We are mapping all the properties to the 'ForwardedEvent'.
- Particularly response-Data from 'DMIAsynRequestResponse' is mapped to additional properties in of 'NCMPAsynRequestResponse → ForwardedEvent'
- Event :
...
Existing schemas with properties
...
draw.io Diagram border true diagramName Analysis-Async-Schema simpleViewer falsetrue width links auto tbstyle top diagramDisplayName lbox false diagramWidth 9511011 revision 25
# | properties | NCMP Async Headers/ |
---|
External Props | NCMP Async has Forwaded |
---|
-Event | NCMP Async has Event | DMI Async Headers/ |
---|
External Props | DMI Async |
---|
has Event-Content | ||||||
---|---|---|---|---|---|---|
1 | eventId | * | * | * | * | N/A |
2 | eventCorrelationId | * | * | * | * | N/A |
3 | eventTime | * | * | * | * | N/A |
4 | eventTarget | * | * | * | * | N/A |
5 | eventType | * | * | * | * | N/A |
6 | eventSchema | * | * | * | * | N/A |
7 | eventSchemaVersion | * | * | N/A | * | N/A |
8 | eventSource | N/A | * | * | * | N/A |
9 | response-data-schema | Event/FE | * | * | Event-Content | * |
10 | response-status | Event/FE | * | * | Event-Content | * |
11 | response-code | Event/FE | * | * | Event-Content | * |
12 | forwardedEventData | Fwd Event | * | N/A | N/A | N/A |
13 | response-data | Event | N/A | * | Event-Content | * |
Steps Need to take to update
- TO check with client that anyone using this schema. If yes, We need to deprecate this version and create the new version.
- To keep schema consistent map all the properties of 'DMIAsynRequestResponse' to 'NCMPAsynRequestResponse → Event' instead of 'NCMPAsynRequestResponse → ForwardedEvent'.
- For now 'response-data' of 'DMIAsynRequestResponse' is mapping to 'additional-properties' of 'forwardedEvent' in 'NCMPAsynRequestResponse' .
- 'response-date → payload' should be matched to the 'forwardedEvent → forwardedEventData →forwardedEventPayload ' .
- If the above mapping is wrong, We need to update the mapping to the appropriate one.
- If we agreed with team to use 'Event' instead of ' forwardedEvent', We need to introduce the 'schemaVersion' property in 'Event' schema
- If the above point is agreed, We need to keep only the payload inside the 'Event'.
Conclusion
- The schema consists of duplicated data.
- Instead of using the type 'Event' we used the new type 'ForwardedEvent'.
- CPS 'additionalProperties (privateProperties)' field is clashed with the framework generated 'additionalProperties' field.
- Proposed the new schema at CPS Events Structure for the agreement.
- Once the above one agreed, We work the same at
Jira server ONAP Jira serverId 425b2b0a-557c-3c0c-b515-579789cceedb key CPS-1660 - Identified 'response-data' was miss-mapped to ForwardedEvent → (additionalProperties ( generated by the framework)).