Update APEX example to use JSON Schema plugin
Change-Id: Ic8b412ce0ca71b4452d67b1e4445e423b0ec5b54
Issue-ID: POLICY-4292
Signed-off-by: a.sreekumar <ajith.sreekumar@bell.ca>
diff --git a/examples/examples-grpc/pom.xml b/examples/examples-grpc/pom.xml
index df4df53..70dd31b 100644
--- a/examples/examples-grpc/pom.xml
+++ b/examples/examples-grpc/pom.xml
@@ -3,6 +3,7 @@
============LICENSE_START=======================================================
Copyright (C) 2020 Nordix Foundation.
Modifications Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
+ Modifications Copyright (C) 2022 Bell Canada. All rights reserved.
================================================================================
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -53,6 +54,11 @@
<version>${project.version}</version>
</dependency>
<dependency>
+ <groupId>org.onap.policy.apex-pdp.plugins.plugins-context.plugins-context-schema</groupId>
+ <artifactId>plugins-context-schema-json</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
<groupId>org.onap.policy.apex-pdp.plugins.plugins-executor</groupId>
<artifactId>plugins-executor-javascript</artifactId>
<version>${project.version}</version>
@@ -90,6 +96,13 @@
<build>
<plugins>
<plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <argLine>-Xss1m</argLine>
+ </configuration>
+ </plugin>
+ <plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<executions>
diff --git a/examples/examples-grpc/src/main/resources/examples/config/APEXgRPC/ApexConfig.json b/examples/examples-grpc/src/main/resources/examples/config/APEXgRPC/ApexConfig.json
index c34f9e3..8e968ac 100644
--- a/examples/examples-grpc/src/main/resources/examples/config/APEXgRPC/ApexConfig.json
+++ b/examples/examples-grpc/src/main/resources/examples/config/APEXgRPC/ApexConfig.json
@@ -17,6 +17,9 @@
"Avro": {
"parameterClassName": "org.onap.policy.apex.plugins.context.schema.avro.AvroSchemaHelperParameters"
},
+ "Json": {
+ "parameterClassName": "org.onap.policy.apex.plugins.context.schema.json.JsonSchemaHelperParameters"
+ },
"Java": {
"parameterClassName": "org.onap.policy.apex.context.impl.schema.java.JavaSchemaHelperParameters",
"jsonAdapters": {
diff --git a/examples/examples-grpc/src/main/resources/examples/events/APEXgRPC/CDSResponseStatusEvent.json b/examples/examples-grpc/src/main/resources/examples/events/APEXgRPC/CDSResponseStatusEvent.json
index d616ac1..64142d4 100644
--- a/examples/examples-grpc/src/main/resources/examples/events/APEXgRPC/CDSResponseStatusEvent.json
+++ b/examples/examples-grpc/src/main/resources/examples/events/APEXgRPC/CDSResponseStatusEvent.json
@@ -6,8 +6,8 @@
"target": "DCAE",
"toscaPolicyState": "EXIT_SUCCESS",
"status": {
- "subscriptionName": "testPolicyB",
"nfName": "pnf300",
+ "subscriptionName": "testPolicyB",
"changeType": "CREATE",
"message": "success"
}
diff --git a/examples/examples-grpc/src/main/resources/logic/CreateSubscriptionPayloadTask.js b/examples/examples-grpc/src/main/resources/logic/CreateSubscriptionPayloadTask.js
index 85e7ae2..4cacf81 100644
--- a/examples/examples-grpc/src/main/resources/logic/CreateSubscriptionPayloadTask.js
+++ b/examples/examples-grpc/src/main/resources/logic/CreateSubscriptionPayloadTask.js
@@ -1,6 +1,7 @@
/*
* ============LICENSE_START=======================================================
* Copyright (C) 2020 Nordix. All rights reserved.
+ * Modifications Copyright (C) 2022 Bell Canada. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -22,7 +23,7 @@
var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
-var payloadProperties = executor.subject.getOutFieldSchemaHelper("payload").createNewSubInstance("create_DasH_subscription_DasH_properties_record");
+var payloadProperties = new java.util.HashMap();
payloadProperties.put("nfName", pmSubscriptionInfo.get("nfName"))
payloadProperties.put("subscriptionName", pmSubscriptionInfo.get("subscription").get("subscriptionName"))
@@ -31,12 +32,12 @@
payloadProperties.put("fileLocation", pmSubscriptionInfo.get("subscription").get("fileLocation"))
payloadProperties.put("measurementGroups", pmSubscriptionInfo.get("subscription").get("measurementGroups"))
-var payloadEntry = executor.subject.getOutFieldSchemaHelper("payload").createNewSubInstance("CDSRequestPayloadEntry");
-payloadEntry.put("create_DasH_subscription_DasH_properties", payloadProperties)
+var payloadEntry = new java.util.HashMap();
+payloadEntry.put("create-subscription-properties", payloadProperties)
-var payload = executor.subject.getOutFieldSchemaHelper("payload").createNewInstance();
+var payload = new java.util.HashMap();
var payloadSchemaHelper = executor.subject.getOutFieldSchemaHelper("payload");
-payload.put("create_DasH_subscription_DasH_request", payloadEntry);
+payload.put("create-subscription-request", payloadEntry);
executor.logger.info("CDS payload - " + executor.stringify2Json( payload, payloadSchemaHelper));
diff --git a/examples/examples-grpc/src/main/resources/logic/CreateSubscriptionRequestTask.js b/examples/examples-grpc/src/main/resources/logic/CreateSubscriptionRequestTask.js
index 6384298..33f1203 100644
--- a/examples/examples-grpc/src/main/resources/logic/CreateSubscriptionRequestTask.js
+++ b/examples/examples-grpc/src/main/resources/logic/CreateSubscriptionRequestTask.js
@@ -1,6 +1,7 @@
/*
* ============LICENSE_START=======================================================
* Copyright (C) 2020 Nordix. All rights reserved.
+ * Modifications Copyright (C) 2022 Bell Canada. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -24,12 +25,12 @@
var payload = executor.inFields.get("payload")
var actionName = "create-subscription"
-var commonHeader = executor.subject.getOutFieldSchemaHelper("commonHeader").createNewInstance();
+var commonHeader = new java.util.HashMap();
commonHeader.put("originatorId", "sdnc");
commonHeader.put("requestId", "123456-1000");
commonHeader.put("subRequestId", "sub-123456-1000");
-var actionIdentifiers = executor.subject.getOutFieldSchemaHelper("actionIdentifiers").createNewInstance();
+var actionIdentifiers = new java.util.HashMap();
actionIdentifiers.put("actionName", actionName);
actionIdentifiers.put("blueprintName", "pm_control");
actionIdentifiers.put("blueprintVersion", "1.0.0");
diff --git a/examples/examples-grpc/src/main/resources/logic/DeleteSubscriptionPayloadTask.js b/examples/examples-grpc/src/main/resources/logic/DeleteSubscriptionPayloadTask.js
index 180dcba..7a897ea 100644
--- a/examples/examples-grpc/src/main/resources/logic/DeleteSubscriptionPayloadTask.js
+++ b/examples/examples-grpc/src/main/resources/logic/DeleteSubscriptionPayloadTask.js
@@ -1,6 +1,7 @@
/*
* ============LICENSE_START=======================================================
* Copyright (C) 2020 Nordix. All rights reserved.
+ * Modifications Copyright (C) 2022 Bell Canada. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -22,7 +23,7 @@
var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
-var payloadProperties = executor.subject.getOutFieldSchemaHelper("payload").createNewSubInstance("delete_DasH_subscription_DasH_properties_record");
+var payloadProperties = new java.util.HashMap();
payloadProperties.put("nfName", pmSubscriptionInfo.get("nfName"))
payloadProperties.put("subscriptionName", pmSubscriptionInfo.get("subscription").get("subscriptionName"))
@@ -31,11 +32,11 @@
payloadProperties.put("fileLocation", pmSubscriptionInfo.get("subscription").get("fileLocation"))
payloadProperties.put("measurementGroups", pmSubscriptionInfo.get("subscription").get("measurementGroups"))
-var payloadEntry = executor.subject.getOutFieldSchemaHelper("payload").createNewSubInstance("CDSRequestPayloadEntry");
-payloadEntry.put("delete_DasH_subscription_DasH_properties", payloadProperties)
+var payloadEntry = new java.util.HashMap();
+payloadEntry.put("delete-subscription-properties", payloadProperties)
-var payload = executor.subject.getOutFieldSchemaHelper("payload").createNewInstance();
-payload.put("delete_DasH_subscription_DasH_request", payloadEntry);
+var payload = new java.util.HashMap();
+payload.put("delete-subscription-request", payloadEntry);
executor.outFields.put("albumID", executor.inFields.get("albumID"))
executor.outFields.put("payload", payload);
diff --git a/examples/examples-grpc/src/main/resources/logic/DeleteSubscriptionRequestTask.js b/examples/examples-grpc/src/main/resources/logic/DeleteSubscriptionRequestTask.js
index 9ec2a11..dc0f235 100644
--- a/examples/examples-grpc/src/main/resources/logic/DeleteSubscriptionRequestTask.js
+++ b/examples/examples-grpc/src/main/resources/logic/DeleteSubscriptionRequestTask.js
@@ -1,6 +1,7 @@
/*
* ============LICENSE_START=======================================================
* Copyright (C) 2020 Nordix. All rights reserved.
+ * Modifications Copyright (C) 2022 Bell Canada. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -24,12 +25,12 @@
var payload = executor.inFields.get("payload")
var actionName = "delete-subscription"
-var commonHeader = executor.subject.getOutFieldSchemaHelper("commonHeader").createNewInstance();
+var commonHeader = new java.util.HashMap();
commonHeader.put("originatorId", "sdnc");
commonHeader.put("requestId", "123456-1000");
commonHeader.put("subRequestId", "sub-123456-1000");
-var actionIdentifiers = executor.subject.getOutFieldSchemaHelper("actionIdentifiers").createNewInstance();
+var actionIdentifiers = new java.util.HashMap();
actionIdentifiers.put("actionName", actionName);
actionIdentifiers.put("blueprintName", "pm_control");
actionIdentifiers.put("blueprintVersion", "1.0.0");
diff --git a/examples/examples-grpc/src/main/resources/logic/ReceivePMSubscriptionTask.js b/examples/examples-grpc/src/main/resources/logic/ReceivePMSubscriptionTask.js
index 0134b6b..ea3a9e4 100644
--- a/examples/examples-grpc/src/main/resources/logic/ReceivePMSubscriptionTask.js
+++ b/examples/examples-grpc/src/main/resources/logic/ReceivePMSubscriptionTask.js
@@ -1,6 +1,7 @@
/*
* ============LICENSE_START=======================================================
* Copyright (C) 2020 Nordix. All rights reserved.
+ * Modifications Copyright (C) 2022 Bell Canada. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -23,7 +24,7 @@
//albumID will be used to fetch info from our album later
var albumID = uuidType.fromString("d0050623-18e5-46c9-9298-9a567990cd7c");
-var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").getSchemaHelper().createNewInstance();
+var pmSubscriptionInfo = new java.util.HashMap();
var returnValue = true;;
if (executor.inFields.get("policyName") != null) {
diff --git a/examples/examples-grpc/src/main/resources/logic/ResponseTask.js b/examples/examples-grpc/src/main/resources/logic/ResponseTask.js
index dc49489..d3424bd 100644
--- a/examples/examples-grpc/src/main/resources/logic/ResponseTask.js
+++ b/examples/examples-grpc/src/main/resources/logic/ResponseTask.js
@@ -1,7 +1,7 @@
/*
* ============LICENSE_START=======================================================
* Copyright (C) 2020 Nordix. All rights reserved.
- * Modifications Copyright (C) 2021 Bell Canada. All rights reserved.
+ * Modifications Copyright (C) 2021-2022 Bell Canada. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -26,7 +26,7 @@
var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(albumID.toString());
-var responseStatus = executor.subject.getOutFieldSchemaHelper("CDSResponseStatusEvent", "status").createNewInstance();
+var responseStatus = new java.util.HashMap();
responseStatus.put("subscriptionName", pmSubscriptionInfo.get("subscription").get("subscriptionName"))
responseStatus.put("nfName", pmSubscriptionInfo.get("nfName"))
@@ -34,7 +34,7 @@
var response = executor.inFields.get("payload")
-if ("failure".equals(response.get("create_DasH_subscription_DasH_response").get("odl_DasH_response").get("status"))) {
+if ("failure".equals(response.get("create-subscription-response").get("odl-response").get("status"))) {
responseStatus.put("message", "failed")
} else {
responseStatus.put("message", "success")
diff --git a/examples/examples-grpc/src/main/resources/policy/APEXgRPCPolicy.apex b/examples/examples-grpc/src/main/resources/policy/APEXgRPCPolicy.apex
index 34d590d..bb08c70 100644
--- a/examples/examples-grpc/src/main/resources/policy/APEXgRPCPolicy.apex
+++ b/examples/examples-grpc/src/main/resources/policy/APEXgRPCPolicy.apex
@@ -29,44 +29,44 @@
schema create name=UUIDType flavour=Java schema=java.util.UUID
schema create name=SimpleIntType flavour=Java schema=java.lang.Integer
-schema create name=CDSRequestCommonHeaderType flavour=Avro schema=LS
-#MACROFILE:"src/main/resources/schemas/CDSRequestCommonHeaderType.avsc"
+schema create name=CDSRequestCommonHeaderType flavour=Json schema=LS
+#MACROFILE:"src/main/resources/schemas/CDSRequestCommonHeaderType.json"
LE
-schema create name=CDSResponseCommonHeaderType flavour=Avro schema=LS
-#MACROFILE:"src/main/resources/schemas/CDSResponseCommonHeaderType.avsc"
+schema create name=CDSResponseCommonHeaderType flavour=Json schema=LS
+#MACROFILE:"src/main/resources/schemas/CDSResponseCommonHeaderType.json"
LE
-schema create name=CDSActionIdentifiersType flavour=Avro schema=LS
-#MACROFILE:"src/main/resources/schemas/CDSActionIdentifiersType.avsc"
+schema create name=CDSActionIdentifiersType flavour=Json schema=LS
+#MACROFILE:"src/main/resources/schemas/CDSActionIdentifiersType.json"
LE
-schema create name=CDSResponseStatusType flavour=Avro schema=LS
-#MACROFILE:"src/main/resources/schemas/CDSResponseStatusType.avsc"
+schema create name=CDSResponseStatusType flavour=Json schema=LS
+#MACROFILE:"src/main/resources/schemas/CDSResponseStatusType.json"
LE
-schema create name=CDSCreateSubscriptionPayloadType flavour=Avro schema=LS
-#MACROFILE:"src/main/resources/schemas/CDSCreateSubscriptionPayloadType.avsc"
+schema create name=CDSCreateSubscriptionPayloadType flavour=Json schema=LS
+#MACROFILE:"src/main/resources/schemas/CDSCreateSubscriptionPayloadType.json"
LE
schema create name=CDSDeleteSubscriptionPayloadType flavour=Avro schema=LS
#MACROFILE:"src/main/resources/schemas/CDSDeleteSubscriptionPayloadType.avsc"
LE
-schema create name=CDSResponsePayloadType flavour=Avro schema=LS
-#MACROFILE:"src/main/resources/schemas/CDSResponsePayloadType.avsc"
+schema create name=CDSResponsePayloadType flavour=Json schema=LS
+#MACROFILE:"src/main/resources/schemas/CDSResponsePayloadType.json"
LE
-schema create name=SubscriptionStatusType flavour=Avro schema=LS
-#MACROFILE:"src/main/resources/schemas/SubscriptionStatusType.avsc"
+schema create name=SubscriptionStatusType flavour=Json schema=LS
+#MACROFILE:"src/main/resources/schemas/SubscriptionStatusType.json"
LE
-schema create name=PMSubscriptionType flavour=Avro schema=LS
-#MACROFILE:"src/main/resources/schemas/PMSubscriptionType.avsc"
+schema create name=PMSubscriptionType flavour=Json schema=LS
+#MACROFILE:"src/main/resources/schemas/PMSubscriptionType.json"
LE
-schema create name=SubscriptionType flavour=Avro schema=LS
-#MACROFILE:"src/main/resources/schemas/SubscriptionType.avsc"
+schema create name=SubscriptionType flavour=Json schema=LS
+#MACROFILE:"src/main/resources/schemas/SubscriptionType.json"
LE
##
diff --git a/examples/examples-grpc/src/main/resources/schemas/CDSActionIdentifiersType.avsc b/examples/examples-grpc/src/main/resources/schemas/CDSActionIdentifiersType.avsc
deleted file mode 100644
index 1d55517..0000000
--- a/examples/examples-grpc/src/main/resources/schemas/CDSActionIdentifiersType.avsc
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "type": "record",
- "name": "CDSActionIdentifiers_Type",
- "namespace": "org.onap.policy.apex.onap.helloworld",
- "fields": [
- {
- "name": "actionName",
- "type": "string"
- },
- {
- "name": "blueprintName",
- "type": "string"
- },
- {
- "name": "blueprintVersion",
- "type": "string"
- },
- {
- "name": "mode",
- "type": "string"
- }
- ]
-}
diff --git a/examples/examples-grpc/src/main/resources/schemas/CDSActionIdentifiersType.json b/examples/examples-grpc/src/main/resources/schemas/CDSActionIdentifiersType.json
new file mode 100644
index 0000000..a02d51f
--- /dev/null
+++ b/examples/examples-grpc/src/main/resources/schemas/CDSActionIdentifiersType.json
@@ -0,0 +1,24 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "type": "object",
+ "properties": {
+ "actionName": {
+ "type": "string"
+ },
+ "blueprintName": {
+ "type": "string"
+ },
+ "blueprintVersion": {
+ "type": "string"
+ },
+ "mode": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "actionName",
+ "blueprintName",
+ "blueprintVersion",
+ "mode"
+ ]
+}
diff --git a/examples/examples-grpc/src/main/resources/schemas/CDSCreateSubscriptionPayloadType.avsc b/examples/examples-grpc/src/main/resources/schemas/CDSCreateSubscriptionPayloadType.avsc
deleted file mode 100644
index 4dc03d3..0000000
--- a/examples/examples-grpc/src/main/resources/schemas/CDSCreateSubscriptionPayloadType.avsc
+++ /dev/null
@@ -1,91 +0,0 @@
-{
- "type": "map",
- "values": {
- "type": "record",
- "name": "CDSRequestPayloadEntry",
- "fields": [
- {
- "name": "create_DasH_subscription_DasH_properties",
- "type": {
- "name": "create_DasH_subscription_DasH_properties_record",
- "type": "record",
- "fields": [
- {
- "name": "nfName",
- "type": "string"
- },
- {
- "name": "subscriptionName",
- "type": "string"
- },
- {
- "name": "administrativeState",
- "type": "string"
- },
- {
- "name": "fileBasedGP",
- "type": "string"
- },
- {
- "name": "fileLocation",
- "type": "string"
- },
- {
- "name": "measurementGroups",
- "type": {
- "type": "array",
- "items": {
- "name": "measurementGroups_record",
- "type": "record",
- "fields": [
- {
- "name": "measurementGroup",
- "type": {
- "name": "measurementGroup",
- "type": "record",
- "fields": [
- {
- "name": "measurementTypes",
- "type": {
- "type": "array",
- "items": {
- "name": "measurementTypes_record",
- "type": "record",
- "fields": [
- {
- "name": "measurementType",
- "type": "string"
- }
- ]
- }
- }
- },
- {
- "name": "managedObjectDNsBasic",
- "type": {
- "type": "array",
- "items": {
- "name": "managedObjectDNsBasic_record",
- "type": "record",
- "fields": [
- {
- "name": "DN",
- "type": "string"
- }
- ]
- }
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- ]
- }
- }
- ]
- }
-}
\ No newline at end of file
diff --git a/examples/examples-grpc/src/main/resources/schemas/CDSCreateSubscriptionPayloadType.json b/examples/examples-grpc/src/main/resources/schemas/CDSCreateSubscriptionPayloadType.json
new file mode 100644
index 0000000..10f961f
--- /dev/null
+++ b/examples/examples-grpc/src/main/resources/schemas/CDSCreateSubscriptionPayloadType.json
@@ -0,0 +1,133 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "required": [
+ "create-subscription-request"
+ ],
+ "properties": {
+ "create-subscription-request": {
+ "type": "object",
+ "required": [
+ "create-subscription-properties"
+ ],
+ "properties": {
+ "create-subscription-properties": {
+ "type": "object",
+ "required": [
+ "nfName",
+ "administrativeState",
+ "subscriptionName",
+ "measurementGroups",
+ "fileBasedGP",
+ "fileLocation"
+ ],
+ "properties": {
+ "nfName": {
+ "type": "string",
+ "default": "",
+ "examples": [
+ "pnf300"
+ ],
+ "pattern": "^.*$"
+ },
+ "administrativeState": {
+ "type": "string",
+ "default": "",
+ "examples": [
+ "UNLOCKED"
+ ],
+ "pattern": "^.*$"
+ },
+ "subscriptionName": {
+ "type": "string",
+ "default": "",
+ "examples": [
+ "testPolicyB"
+ ],
+ "pattern": "^.*$"
+ },
+ "measurementGroups": {
+ "type": "array",
+ "default": [],
+ "items": {
+ "type": "object",
+ "required": [
+ "measurementGroup"
+ ],
+ "properties": {
+ "measurementGroup": {
+ "type": "object",
+ "required": [
+ "measurementTypes",
+ "managedObjectDNsBasic"
+ ],
+ "properties": {
+ "measurementTypes": {
+ "type": "array",
+ "default": [],
+ "items": {
+ "type": "object",
+ "required": [
+ "measurementType"
+ ],
+ "properties": {
+ "measurementType": {
+ "type": "string",
+ "default": "",
+ "examples": [
+ "countera"
+ ],
+ "pattern": "^.*$"
+ }
+ }
+ }
+ },
+ "managedObjectDNsBasic": {
+ "type": "array",
+ "default": [],
+ "items": {
+ "$id": "#root/create-subscription-request/create-subscription-properties/measurementGroups/items/measurementGroup/managedObjectDNsBasic/items",
+ "title": "Items",
+ "type": "object",
+ "required": [
+ "DN"
+ ],
+ "properties": {
+ "DN": {
+ "type": "string",
+ "default": "",
+ "examples": [
+ "dna"
+ ],
+ "pattern": "^.*$"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "fileBasedGP": {
+ "type": "string",
+ "default": "",
+ "examples": [
+ "15.0"
+ ],
+ "pattern": "^.*$"
+ },
+ "fileLocation": {
+ "type": "string",
+ "default": "",
+ "examples": [
+ "/pm/pm.xml"
+ ],
+ "pattern": "^.*$"
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/examples/examples-grpc/src/main/resources/schemas/CDSRequestCommonHeaderType.avsc b/examples/examples-grpc/src/main/resources/schemas/CDSRequestCommonHeaderType.avsc
deleted file mode 100644
index 7e7e925..0000000
--- a/examples/examples-grpc/src/main/resources/schemas/CDSRequestCommonHeaderType.avsc
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "type": "record",
- "name": "CDSRequestCommonHeader_Type",
- "namespace": "org.onap.policy.apex.onap.helloworld",
- "fields": [
- {
- "name": "originatorId",
- "type": "string"
- },
- {
- "name": "requestId",
- "type": "string"
- },
- {
- "name": "subRequestId",
- "type": "string"
- }
- ]
-}
diff --git a/examples/examples-grpc/src/main/resources/schemas/CDSRequestCommonHeaderType.json b/examples/examples-grpc/src/main/resources/schemas/CDSRequestCommonHeaderType.json
new file mode 100644
index 0000000..c1890f9
--- /dev/null
+++ b/examples/examples-grpc/src/main/resources/schemas/CDSRequestCommonHeaderType.json
@@ -0,0 +1,43 @@
+{
+ "definitions": {},
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "title": "Root",
+ "type": "object",
+ "required": [
+ "requestId",
+ "subRequestId",
+ "originatorId"
+ ],
+ "properties": {
+ "requestId": {
+ "$id": "#root/requestId",
+ "title": "Requestid",
+ "type": "string",
+ "default": "",
+ "examples": [
+ "123456-1000"
+ ],
+ "pattern": "^.*$"
+ },
+ "subRequestId": {
+ "$id": "#root/subRequestId",
+ "title": "Subrequestid",
+ "type": "string",
+ "default": "",
+ "examples": [
+ "sub-123456-1000"
+ ],
+ "pattern": "^.*$"
+ },
+ "originatorId": {
+ "$id": "#root/originatorId",
+ "title": "Originatorid",
+ "type": "string",
+ "default": "",
+ "examples": [
+ "sdnc"
+ ],
+ "pattern": "^.*$"
+ }
+ }
+}
diff --git a/examples/examples-grpc/src/main/resources/schemas/CDSResponseCommonHeaderType.avsc b/examples/examples-grpc/src/main/resources/schemas/CDSResponseCommonHeaderType.avsc
deleted file mode 100644
index fe2fae8..0000000
--- a/examples/examples-grpc/src/main/resources/schemas/CDSResponseCommonHeaderType.avsc
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "type": "record",
- "name": "CDSResponseCommonHeader_Type",
- "namespace": "org.onap.policy.apex.onap.helloworld",
- "fields": [
- {
- "name": "originatorId",
- "type": "string"
- },
- {
- "name": "requestId",
- "type": "string"
- },
- {
- "name": "subRequestId",
- "type": "string"
- },
- {
- "name": "timestamp",
- "type": "string"
- }
- ]
-}
diff --git a/examples/examples-grpc/src/main/resources/schemas/CDSResponseCommonHeaderType.json b/examples/examples-grpc/src/main/resources/schemas/CDSResponseCommonHeaderType.json
new file mode 100644
index 0000000..08bc87c
--- /dev/null
+++ b/examples/examples-grpc/src/main/resources/schemas/CDSResponseCommonHeaderType.json
@@ -0,0 +1,28 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "type": "object",
+ "properties": {
+ "timestamp": {
+ "type": "string"
+ },
+ "requestId": {
+ "type": "string"
+ },
+ "subRequestId": {
+ "type": "string"
+ },
+ "flag": {
+ "type": "object"
+ },
+ "originatorId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "timestamp",
+ "requestId",
+ "subRequestId",
+ "flag",
+ "originatorId"
+ ]
+}
diff --git a/examples/examples-grpc/src/main/resources/schemas/CDSResponsePayloadType.avsc b/examples/examples-grpc/src/main/resources/schemas/CDSResponsePayloadType.avsc
deleted file mode 100644
index e8a9581..0000000
--- a/examples/examples-grpc/src/main/resources/schemas/CDSResponsePayloadType.avsc
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "name": "CDSResponsePayloadEntry",
- "type": "record",
- "namespace": "com.acme.avro",
- "fields": [
- {
- "name": "create_DasH_subscription_DasH_response",
- "type": {
- "name": "create_DasH_subscription_DasH_response",
- "type": "record",
- "fields": [
- {
- "name": "odl_DasH_response",
- "type": {
- "name": "odl_DasH_response",
- "type": "record",
- "fields": [
- {
- "name": "status",
- "type": "string"
- }
- ]
- }
- }
- ]
- }
- }
- ]
-}
diff --git a/examples/examples-grpc/src/main/resources/schemas/CDSResponsePayloadType.json b/examples/examples-grpc/src/main/resources/schemas/CDSResponsePayloadType.json
new file mode 100644
index 0000000..a3cbd9f
--- /dev/null
+++ b/examples/examples-grpc/src/main/resources/schemas/CDSResponsePayloadType.json
@@ -0,0 +1,28 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "type": "object",
+ "properties": {
+ "create-subscription-response": {
+ "type": "object",
+ "properties": {
+ "odl-response": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "status"
+ ]
+ }
+ },
+ "required": [
+ "odl-response"
+ ]
+ }
+ },
+ "required": [
+ "create-subscription-response"
+ ]
+}
diff --git a/examples/examples-grpc/src/main/resources/schemas/CDSResponseStatusType.avsc b/examples/examples-grpc/src/main/resources/schemas/CDSResponseStatusType.avsc
deleted file mode 100644
index fa2dfa7..0000000
--- a/examples/examples-grpc/src/main/resources/schemas/CDSResponseStatusType.avsc
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "type": "record",
- "name": "CDSResponseStatus_Type",
- "namespace": "org.onap.policy.apex.onap.helloworld",
- "fields": [
- {
- "name": "code",
- "type": "int"
- },
- {
- "name": "eventType",
- "type": "string"
- },
- {
- "name": "timestamp",
- "type": "string"
- },
- {
- "name": "message",
- "type": "string"
- }
- ]
-}
diff --git a/examples/examples-grpc/src/main/resources/schemas/CDSResponseStatusType.json b/examples/examples-grpc/src/main/resources/schemas/CDSResponseStatusType.json
new file mode 100644
index 0000000..9f3da62
--- /dev/null
+++ b/examples/examples-grpc/src/main/resources/schemas/CDSResponseStatusType.json
@@ -0,0 +1,24 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "integer"
+ },
+ "message": {
+ "type": "string"
+ },
+ "eventType": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "code",
+ "message",
+ "eventType",
+ "timestamp"
+ ]
+}
diff --git a/examples/examples-grpc/src/main/resources/schemas/PMSubscriptionType.avsc b/examples/examples-grpc/src/main/resources/schemas/PMSubscriptionType.avsc
deleted file mode 100644
index 1d9c7d4..0000000
--- a/examples/examples-grpc/src/main/resources/schemas/PMSubscriptionType.avsc
+++ /dev/null
@@ -1,101 +0,0 @@
-{
- "name": "PMSubscription",
- "type": "record",
- "namespace": "org.onap.policy.apex.onap.pmcontrol",
- "fields": [
- {
- "name": "nfName",
- "type": "string"
- },
- {
- "name": "changeType",
- "type": "string"
- },
- {
- "name": "closedLoopControlName",
- "type": "string"
- },
- {
- "name": "policyName",
- "type": "string"
- },
- {
- "name": "subscription",
- "type": {
- "name": "subscription",
- "type": "record",
- "fields": [
- {
- "name": "subscriptionName",
- "type": "string"
- },
- {
- "name": "administrativeState",
- "type": "string"
- },
- {
- "name": "fileBasedGP",
- "type": "int"
- },
- {
- "name": "fileLocation",
- "type": "string"
- },
- {
- "name": "measurementGroups",
- "type": {
- "type": "array",
- "items": {
- "name": "Measurement_Groups_Type",
- "type": "record",
- "fields": [
- {
- "name": "measurementGroup",
- "type": {
- "name": "Measurement_Group_Type",
- "type": "record",
- "fields": [
- {
- "name": "measurementTypes",
- "type": {
- "type": "array",
- "items": {
- "name": "Measurement_Types_Type",
- "type": "record",
- "fields": [
- {
- "name": "measurementType",
- "type": "string"
- }
- ]
- }
- }
- },
- {
- "name": "managedObjectDNsBasic",
- "type": {
- "type": "array",
- "items": {
- "name": "Managed_Object_Dns_Basic_Type",
- "type": "record",
- "fields": [
- {
- "name": "DN",
- "type": "string"
- }
- ]
- }
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- ]
- }
- }
- ]
-}
\ No newline at end of file
diff --git a/examples/examples-grpc/src/main/resources/schemas/PMSubscriptionType.json b/examples/examples-grpc/src/main/resources/schemas/PMSubscriptionType.json
new file mode 100644
index 0000000..ab0aaa2
--- /dev/null
+++ b/examples/examples-grpc/src/main/resources/schemas/PMSubscriptionType.json
@@ -0,0 +1,101 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "type": "object",
+ "properties": {
+ "changeType": {
+ "type": "string"
+ },
+ "closedLoopControlName": {
+ "type": "string"
+ },
+ "policyName": {
+ "type": "string"
+ },
+ "nfName": {
+ "type": "string"
+ },
+ "subscription": {
+ "type": "array",
+ "items": [
+ {
+ "type": "object",
+ "properties": {
+ "measurementGroup": {
+ "type": "object",
+ "properties": {
+ "measurementTypes": {
+ "type": "array",
+ "items": [
+ {
+ "type": "object",
+ "properties": {
+ "measurementType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "measurementType"
+ ]
+ },
+ {
+ "type": "object",
+ "properties": {
+ "measurementType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "measurementType"
+ ]
+ }
+ ]
+ },
+ "managedObjectDNsBasic": {
+ "type": "array",
+ "items": [
+ {
+ "type": "object",
+ "properties": {
+ "DN": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DN"
+ ]
+ },
+ {
+ "type": "object",
+ "properties": {
+ "DN": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DN"
+ ]
+ }
+ ]
+ }
+ },
+ "required": [
+ "measurementTypes",
+ "managedObjectDNsBasic"
+ ]
+ }
+ },
+ "required": [
+ "measurementGroup"
+ ]
+ }
+ ]
+ }
+ },
+ "required": [
+ "changeType",
+ "closedLoopControlName",
+ "policyName",
+ "nfName",
+ "subscription"
+ ]
+}
diff --git a/examples/examples-grpc/src/main/resources/schemas/SubscriptionStatusType.avsc b/examples/examples-grpc/src/main/resources/schemas/SubscriptionStatusType.avsc
deleted file mode 100644
index 247ba8a..0000000
--- a/examples/examples-grpc/src/main/resources/schemas/SubscriptionStatusType.avsc
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "type": "record",
- "name": "ActivateSubscriptionStatus_Type",
- "namespace": "org.onap.policy.apex.onap.helloworld",
- "fields": [
- {
- "name": "subscriptionName",
- "type": "string"
- },
- {
- "name": "nfName",
- "type": "string"
- },
- {
- "name": "changeType",
- "type": "string"
- },
- {
- "name": "message",
- "type": "string"
- }
- ]
-}
\ No newline at end of file
diff --git a/examples/examples-grpc/src/main/resources/schemas/SubscriptionStatusType.json b/examples/examples-grpc/src/main/resources/schemas/SubscriptionStatusType.json
new file mode 100644
index 0000000..fb81768
--- /dev/null
+++ b/examples/examples-grpc/src/main/resources/schemas/SubscriptionStatusType.json
@@ -0,0 +1,24 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "type": "object",
+ "properties": {
+ "subscriptionName": {
+ "type": "string"
+ },
+ "nfName": {
+ "type": "string"
+ },
+ "changeType": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "subscriptionName",
+ "nfName",
+ "changeType",
+ "message"
+ ]
+}
diff --git a/examples/examples-grpc/src/main/resources/schemas/SubscriptionType.avsc b/examples/examples-grpc/src/main/resources/schemas/SubscriptionType.avsc
deleted file mode 100644
index 7172b7a..0000000
--- a/examples/examples-grpc/src/main/resources/schemas/SubscriptionType.avsc
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "name": "subscription",
- "type": "record",
- "fields": [
- {
- "name": "subscriptionName",
- "type": "string"
- },
- {
- "name": "administrativeState",
- "type": "string"
- },
- {
- "name": "fileBasedGP",
- "type": "int"
- },
- {
- "name": "fileLocation",
- "type": "string"
- },
- {
- "name": "measurementGroups",
- "type": {
- "type": "array",
- "items": {
- "name": "Measurement_Groups_Type",
- "type": "record",
- "fields": [
- {
- "name": "measurementGroup",
- "type": {
- "name": "Measurement_Group_Type",
- "type": "record",
- "fields": [
- {
- "name": "measurementTypes",
- "type": {
- "type": "array",
- "items": {
- "name": "Measurement_Types_Type",
- "type": "record",
- "fields": [
- {
- "name": "measurementType",
- "type": "string"
- }
- ]
- }
- }
- },
- {
- "name": "managedObjectDNsBasic",
- "type": {
- "type": "array",
- "items": {
- "name": "Managed_Object_Dns_Basic_Type",
- "type": "record",
- "fields": [
- {
- "name": "DN",
- "type": "string"
- }
- ]
- }
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- ]
-}
\ No newline at end of file
diff --git a/examples/examples-grpc/src/main/resources/schemas/SubscriptionType.json b/examples/examples-grpc/src/main/resources/schemas/SubscriptionType.json
new file mode 100644
index 0000000..4dbade5
--- /dev/null
+++ b/examples/examples-grpc/src/main/resources/schemas/SubscriptionType.json
@@ -0,0 +1,133 @@
+{
+ "definitions": {},
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "title": "Root",
+ "type": "object",
+ "required": [
+ "subscriptionName",
+ "administrativeState",
+ "fileBasedGP",
+ "fileLocation",
+ "measurementGroups"
+ ],
+ "properties": {
+ "subscriptionName": {
+ "$id": "#root/subscriptionName",
+ "title": "Subscriptionname",
+ "type": "string",
+ "default": "",
+ "examples": [
+ "testPolicyB"
+ ],
+ "pattern": "^.*$"
+ },
+ "administrativeState": {
+ "$id": "#root/administrativeState",
+ "title": "Administrativestate",
+ "type": "string",
+ "default": "",
+ "examples": [
+ "UNLOCKED"
+ ],
+ "pattern": "^.*$"
+ },
+ "fileBasedGP": {
+ "$id": "#root/fileBasedGP",
+ "title": "Filebasedgp",
+ "type": "integer",
+ "examples": [
+ 15
+ ],
+ "default": 0
+ },
+ "fileLocation": {
+ "$id": "#root/fileLocation",
+ "title": "Filelocation",
+ "type": "string",
+ "default": "",
+ "examples": [
+ "/pm/pm.xml"
+ ],
+ "pattern": "^.*$"
+ },
+ "measurementGroups": {
+ "$id": "#root/measurementGroups",
+ "title": "Measurementgroups",
+ "type": "array",
+ "default": [],
+ "items": {
+ "$id": "#root/measurementGroups/items",
+ "title": "Items",
+ "type": "object",
+ "required": [
+ "measurementGroup"
+ ],
+ "properties": {
+ "measurementGroup": {
+ "$id": "#root/measurementGroups/items/measurementGroup",
+ "title": "Measurementgroup",
+ "type": "object",
+ "required": [
+ "measurementTypes",
+ "managedObjectDNsBasic"
+ ],
+ "properties": {
+ "measurementTypes": {
+ "$id": "#root/measurementGroups/items/measurementGroup/measurementTypes",
+ "title": "Measurementtypes",
+ "type": "array",
+ "default": [],
+ "items": {
+ "$id": "#root/measurementGroups/items/measurementGroup/measurementTypes/items",
+ "title": "Items",
+ "type": "object",
+ "required": [
+ "measurementType"
+ ],
+ "properties": {
+ "measurementType": {
+ "$id": "#root/measurementGroups/items/measurementGroup/measurementTypes/items/measurementType",
+ "title": "Measurementtype",
+ "type": "string",
+ "default": "",
+ "examples": [
+ "countera"
+ ],
+ "pattern": "^.*$"
+ }
+ }
+ }
+ },
+ "managedObjectDNsBasic": {
+ "$id": "#root/measurementGroups/items/measurementGroup/managedObjectDNsBasic",
+ "title": "Managedobjectdnsbasic",
+ "type": "array",
+ "default": [],
+ "items": {
+ "$id": "#root/measurementGroups/items/measurementGroup/managedObjectDNsBasic/items",
+ "title": "Items",
+ "type": "object",
+ "required": [
+ "DN"
+ ],
+ "properties": {
+ "DN": {
+ "$id": "#root/measurementGroups/items/measurementGroup/managedObjectDNsBasic/items/DN",
+ "title": "Dn",
+ "type": "string",
+ "default": "",
+ "examples": [
+ "dna"
+ ],
+ "pattern": "^.*$"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/plugins/plugins-context/plugins-context-schema/plugins-context-schema-json/pom.xml b/plugins/plugins-context/plugins-context-schema/plugins-context-schema-json/pom.xml
index 75c42fa..62dcb85 100644
--- a/plugins/plugins-context/plugins-context-schema/plugins-context-schema-json/pom.xml
+++ b/plugins/plugins-context/plugins-context-schema/plugins-context-schema-json/pom.xml
@@ -33,7 +33,6 @@
<dependency>
<groupId>com.worldturner.medeia</groupId>
<artifactId>medeia-validator-gson</artifactId>
- <version>1.1.1</version>
</dependency>
<dependency>
<groupId>junit</groupId>