From 87f0b004fb0b15f3e8fa30d39bdf8ae3310b8743 Mon Sep 17 00:00:00 2001 From: mpriyank Date: Thu, 4 May 2023 11:24:29 +0100 Subject: DMI Data AVC to use kafka headers - POC done keeping AvcEvent schema in mind. - Approach to have header schema per event schema. - Moved the header information from AvcEvent to separate AvcEventHeader schema. - Added Jsr303 annotation support for required field check Issue-ID: CPS-1671 Change-Id: I2e4f969e8ca4f6282d1b9aa5fd52d16174a26084 Signed-off-by: mpriyank --- .../resources/schemas/avc-event-schema-v1.json | 60 ---------------------- .../schemas/dmidataavc/avc-event-headers-v1.json | 50 ++++++++++++++++++ .../schemas/dmidataavc/avc-event-schema-v1.json | 24 +++++++++ 3 files changed, 74 insertions(+), 60 deletions(-) delete mode 100644 cps-ncmp-events/src/main/resources/schemas/avc-event-schema-v1.json create mode 100644 cps-ncmp-events/src/main/resources/schemas/dmidataavc/avc-event-headers-v1.json create mode 100644 cps-ncmp-events/src/main/resources/schemas/dmidataavc/avc-event-schema-v1.json (limited to 'cps-ncmp-events/src') diff --git a/cps-ncmp-events/src/main/resources/schemas/avc-event-schema-v1.json b/cps-ncmp-events/src/main/resources/schemas/avc-event-schema-v1.json deleted file mode 100644 index 0e9f25663..000000000 --- a/cps-ncmp-events/src/main/resources/schemas/avc-event-schema-v1.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2019-09/schema", - "$id": "urn:cps:org.onap.cps.ncmp.events:avc-event-schema:v1", - "$ref": "#/definitions/AvcEvent", - "definitions": { - "AvcEvent": { - "description": "The payload for AVC event.", - "type": "object", - "properties": { - "eventId": { - "description": "The unique id identifying the event generated by DMI for this AVC event.", - "type": "string" - }, - "eventCorrelationId": { - "description": "The request id passed by NCMP for this AVC event.", - "type": "string" - }, - "eventTime": { - "description": "The time of the AVC event. The expected format is 'yyyy-MM-dd'T'HH:mm:ss.SSSZ'.", - "type": "string" - }, - "eventSource": { - "description": "The source of the AVC event.", - "type": "string" - }, - "eventType": { - "description": "The type of the AVC event.", - "type": "string" - }, - "eventSchema": { - "description": "The event schema for AVC events.", - "type": "string" - }, - "eventSchemaVersion": { - "description": "The event schema version for AVC events.", - "type": "string" - }, - "event": { - "$ref": "#/definitions/Event" - } - }, - "required": [ - "eventId", - "eventCorrelationId", - "eventTime", - "eventSource", - "eventType", - "eventSchema", - "eventSchemaVersion" - ], - "additionalProperties": false - }, - "Event": { - "description": "The AVC event content.", - "type": "object", - "existingJavaType": "java.lang.Object", - "additionalProperties": false - } - } -} \ No newline at end of file diff --git a/cps-ncmp-events/src/main/resources/schemas/dmidataavc/avc-event-headers-v1.json b/cps-ncmp-events/src/main/resources/schemas/dmidataavc/avc-event-headers-v1.json new file mode 100644 index 000000000..caae82bb2 --- /dev/null +++ b/cps-ncmp-events/src/main/resources/schemas/dmidataavc/avc-event-headers-v1.json @@ -0,0 +1,50 @@ +{ + "$schema": "https://json-schema.org/draft/2019-09/schema", + "$id": "urn:cps:org.onap.cps.ncmp.events:avc-event-headers-schema:v1", + "$ref": "#/definitions/AvcEventHeader", + "definitions": { + "AvcEventHeader": { + "description": "The header for AVC event.", + "type": "object", + "javaType" : "org.onap.cps.ncmp.events.avc.v1.AvcEventHeader", + "properties": { + "eventId": { + "description": "The unique id identifying the event generated by DMI for this AVC event.", + "type": "string" + }, + "eventCorrelationId": { + "description": "The request id passed by NCMP for this AVC event.", + "type": "string" + }, + "eventTime": { + "description": "The time of the AVC event. The expected format is 'yyyy-MM-dd'T'HH:mm:ss.SSSZ'.", + "type": "string" + }, + "eventSource": { + "description": "The source of the AVC event.", + "type": "string" + }, + "eventType": { + "description": "The type of the AVC event.", + "type": "string" + }, + "eventSchema": { + "description": "The event schema for AVC events.", + "type": "string" + }, + "eventSchemaVersion": { + "description": "The event schema version for AVC events.", + "type": "string" + } + }, + "required": [ + "eventId", + "eventCorrelationId", + "eventType", + "eventSchema", + "eventSchemaVersion" + ], + "additionalProperties": false + } + } +} \ No newline at end of file diff --git a/cps-ncmp-events/src/main/resources/schemas/dmidataavc/avc-event-schema-v1.json b/cps-ncmp-events/src/main/resources/schemas/dmidataavc/avc-event-schema-v1.json new file mode 100644 index 000000000..407551f4f --- /dev/null +++ b/cps-ncmp-events/src/main/resources/schemas/dmidataavc/avc-event-schema-v1.json @@ -0,0 +1,24 @@ +{ + "$schema": "https://json-schema.org/draft/2019-09/schema", + "$id": "urn:cps:org.onap.cps.ncmp.events:avc-event-schema:v1", + "$ref": "#/definitions/AvcEvent", + "definitions": { + "AvcEvent": { + "description": "The payload for AVC event.", + "type": "object", + "javaType" : "org.onap.cps.ncmp.events.avc.v1.AvcEvent", + "properties": { + "event": { + "description": "The AVC event content.", + "type": "object", + "existingJavaType": "java.lang.Object", + "additionalProperties": false + } + }, + "required": [ + "event" + ], + "additionalProperties": false + } + } +} \ No newline at end of file -- cgit 1.2.3-korg