aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsebdet <sebastien.determe@intl.att.com>2020-04-01 11:58:07 +0200
committersebdet <sebastien.determe@intl.att.com>2020-04-01 11:58:07 +0200
commit51de07c4250ac0b9502c6e5c6fe35ed1b310c8b4 (patch)
tree8bdd4e6ee70937035abbff72737fae86b3372e90
parent580141f7cf72d4a120722fc7b870dfc5c3017ced (diff)
Rework the CDS Json schema
Rework a bit the CDS Json schema, so that the payload info is good now Issue-ID: CLAMP-805 Signed-off-by: sebdet <sebastien.determe@intl.att.com> Change-Id: I84d543987f421e3185c2783fc6cd779302658a1f
-rw-r--r--src/main/java/org/onap/clamp/clds/tosca/update/execution/cds/ToscaMetadataCdsProcess.java31
-rw-r--r--src/test/resources/tosca/new-converter/tosca_apex_with_metadata.json248
2 files changed, 207 insertions, 72 deletions
diff --git a/src/main/java/org/onap/clamp/clds/tosca/update/execution/cds/ToscaMetadataCdsProcess.java b/src/main/java/org/onap/clamp/clds/tosca/update/execution/cds/ToscaMetadataCdsProcess.java
index b1c889031..b81e46bf4 100644
--- a/src/main/java/org/onap/clamp/clds/tosca/update/execution/cds/ToscaMetadataCdsProcess.java
+++ b/src/main/java/org/onap/clamp/clds/tosca/update/execution/cds/ToscaMetadataCdsProcess.java
@@ -110,19 +110,40 @@ public class ToscaMetadataCdsProcess extends ToscaMetadataProcess {
}
}
}
- addToJsonArray(childObject, "enum", schemaAnyOf);
+ addToJsonArray(childObject, "anyOf", schemaAnyOf);
}
private static JsonObject createPayloadProperty(JsonObject workFlow, JsonObject controllerProperties) {
JsonObject payloadResult = new JsonObject();
- payloadResult.addProperty("artifact_name", controllerProperties.get("sdnc_model_name").getAsString());
- payloadResult.addProperty("artifact_version", controllerProperties.get("sdnc_model_version").getAsString());
- payloadResult.addProperty("mode", "async");
- payloadResult.add("data", workFlow.getAsJsonObject("inputs"));
+ payloadResult.add("artifact_name",
+ createAnyOfJsonProperty("artifact_name", controllerProperties.get("sdnc_model_name").getAsString()));
+ payloadResult.add("artifact_version",
+ createAnyOfJsonProperty("artifact_version",
+ controllerProperties.get("sdnc_model_version").getAsString()));
+ payloadResult.add("mode", createAnyOfJsonProperty("mode", "async"));
+
+ payloadResult.add("data", createAnyOfJsonObject("data", workFlow.getAsJsonObject("inputs")));
return payloadResult;
}
+ private static JsonObject createAnyOfJsonProperty(String name, String defaultValue) {
+ JsonObject result = new JsonObject();
+ result.addProperty("title", name);
+ result.addProperty("type", "string");
+ result.addProperty("default", defaultValue);
+ result.addProperty("readOnly", "True");
+ return result;
+ }
+
+ private static JsonObject createAnyOfJsonObject(String name, JsonObject allProperties) {
+ JsonObject result = new JsonObject();
+ result.addProperty("title", name);
+ result.addProperty("type", "object");
+ result.add("properties", allProperties);
+ return result;
+ }
+
private static void addToJsonArray(JsonObject childObject, String section, JsonArray value) {
if (childObject.getAsJsonArray(section) != null) {
childObject.getAsJsonArray(section).addAll(value);
diff --git a/src/test/resources/tosca/new-converter/tosca_apex_with_metadata.json b/src/test/resources/tosca/new-converter/tosca_apex_with_metadata.json
index 687e9b237..4cb5bd8c1 100644
--- a/src/test/resources/tosca/new-converter/tosca_apex_with_metadata.json
+++ b/src/test/resources/tosca/new-converter/tosca_apex_with_metadata.json
@@ -64,22 +64,41 @@
"payload": {
"type": "object",
"description": "Name/value pairs of payload information passed by Policy to the actor",
- "enum": [
+ "anyOf": [
{
"title": "resource-assignment",
"properties": {
- "artifact_name": "baseconfiguration",
- "artifact_version": "1.0.0",
- "mode": "async",
+ "artifact_name": {
+ "title": "artifact_name",
+ "type": "string",
+ "default": "baseconfiguration",
+ "readOnly": "True"
+ },
+ "artifact_version": {
+ "title": "artifact_version",
+ "type": "string",
+ "default": "1.0.0",
+ "readOnly": "True"
+ },
+ "mode": {
+ "title": "mode",
+ "type": "string",
+ "default": "async",
+ "readOnly": "True"
+ },
"data": {
- "resource-assignment-properties": {
- "request-id": "",
- "service-instance-id": "",
- "vnf-id": "",
- "action-name": "",
- "scope-type": "",
- "hostname": "",
- "vnf_name": ""
+ "title": "data",
+ "type": "object",
+ "properties": {
+ "resource-assignment-properties": {
+ "request-id": "",
+ "service-instance-id": "",
+ "vnf-id": "",
+ "action-name": "",
+ "scope-type": "",
+ "hostname": "",
+ "vnf_name": ""
+ }
}
}
}
@@ -87,18 +106,37 @@
{
"title": "activate",
"properties": {
- "artifact_name": "baseconfiguration",
- "artifact_version": "1.0.0",
- "mode": "async",
+ "artifact_name": {
+ "title": "artifact_name",
+ "type": "string",
+ "default": "baseconfiguration",
+ "readOnly": "True"
+ },
+ "artifact_version": {
+ "title": "artifact_version",
+ "type": "string",
+ "default": "1.0.0",
+ "readOnly": "True"
+ },
+ "mode": {
+ "title": "mode",
+ "type": "string",
+ "default": "async",
+ "readOnly": "True"
+ },
"data": {
- "resource-assignment-properties": {
- "request-id": "",
- "service-instance-id": "",
- "vnf-id": "",
- "action-name": "",
- "scope-type": "",
- "hostname": "",
- "vnf_name": ""
+ "title": "data",
+ "type": "object",
+ "properties": {
+ "resource-assignment-properties": {
+ "request-id": "",
+ "service-instance-id": "",
+ "vnf-id": "",
+ "action-name": "",
+ "scope-type": "",
+ "hostname": "",
+ "vnf_name": ""
+ }
}
}
}
@@ -106,18 +144,37 @@
{
"title": "activate-restconf",
"properties": {
- "artifact_name": "baseconfiguration",
- "artifact_version": "1.0.0",
- "mode": "async",
+ "artifact_name": {
+ "title": "artifact_name",
+ "type": "string",
+ "default": "baseconfiguration",
+ "readOnly": "True"
+ },
+ "artifact_version": {
+ "title": "artifact_version",
+ "type": "string",
+ "default": "1.0.0",
+ "readOnly": "True"
+ },
+ "mode": {
+ "title": "mode",
+ "type": "string",
+ "default": "async",
+ "readOnly": "True"
+ },
"data": {
- "resource-assignment-properties": {
- "request-id": "",
- "service-instance-id": "",
- "vnf-id": "",
- "action-name": "",
- "scope-type": "",
- "hostname": "",
- "vnf_name": ""
+ "title": "data",
+ "type": "object",
+ "properties": {
+ "resource-assignment-properties": {
+ "request-id": "",
+ "service-instance-id": "",
+ "vnf-id": "",
+ "action-name": "",
+ "scope-type": "",
+ "hostname": "",
+ "vnf_name": ""
+ }
}
}
}
@@ -125,18 +182,37 @@
{
"title": "activate-cli",
"properties": {
- "artifact_name": "baseconfiguration",
- "artifact_version": "1.0.0",
- "mode": "async",
+ "artifact_name": {
+ "title": "artifact_name",
+ "type": "string",
+ "default": "baseconfiguration",
+ "readOnly": "True"
+ },
+ "artifact_version": {
+ "title": "artifact_version",
+ "type": "string",
+ "default": "1.0.0",
+ "readOnly": "True"
+ },
+ "mode": {
+ "title": "mode",
+ "type": "string",
+ "default": "async",
+ "readOnly": "True"
+ },
"data": {
- "resource-assignment-properties": {
- "request-id": "",
- "service-instance-id": "",
- "vnf-id": "",
- "action-name": "",
- "scope-type": "",
- "hostname": "",
- "vnf_name": ""
+ "title": "data",
+ "type": "object",
+ "properties": {
+ "resource-assignment-properties": {
+ "request-id": "",
+ "service-instance-id": "",
+ "vnf-id": "",
+ "action-name": "",
+ "scope-type": "",
+ "hostname": "",
+ "vnf_name": ""
+ }
}
}
}
@@ -144,18 +220,37 @@
{
"title": "assign-activate",
"properties": {
- "artifact_name": "baseconfiguration",
- "artifact_version": "1.0.0",
- "mode": "async",
+ "artifact_name": {
+ "title": "artifact_name",
+ "type": "string",
+ "default": "baseconfiguration",
+ "readOnly": "True"
+ },
+ "artifact_version": {
+ "title": "artifact_version",
+ "type": "string",
+ "default": "1.0.0",
+ "readOnly": "True"
+ },
+ "mode": {
+ "title": "mode",
+ "type": "string",
+ "default": "async",
+ "readOnly": "True"
+ },
"data": {
- "resource-assignment-properties": {
- "request-id": "",
- "service-instance-id": "",
- "vnf-id": "",
- "action-name": "",
- "scope-type": "",
- "hostname": "",
- "vnf_name": ""
+ "title": "data",
+ "type": "object",
+ "properties": {
+ "resource-assignment-properties": {
+ "request-id": "",
+ "service-instance-id": "",
+ "vnf-id": "",
+ "action-name": "",
+ "scope-type": "",
+ "hostname": "",
+ "vnf_name": ""
+ }
}
}
}
@@ -163,18 +258,37 @@
{
"title": "imperative-test-wf",
"properties": {
- "artifact_name": "baseconfiguration",
- "artifact_version": "1.0.0",
- "mode": "async",
+ "artifact_name": {
+ "title": "artifact_name",
+ "type": "string",
+ "default": "baseconfiguration",
+ "readOnly": "True"
+ },
+ "artifact_version": {
+ "title": "artifact_version",
+ "type": "string",
+ "default": "1.0.0",
+ "readOnly": "True"
+ },
+ "mode": {
+ "title": "mode",
+ "type": "string",
+ "default": "async",
+ "readOnly": "True"
+ },
"data": {
- "resource-assignment-properties": {
- "request-id": "",
- "service-instance-id": "",
- "vnf-id": "",
- "action-name": "",
- "scope-type": "",
- "hostname": "",
- "vnf_name": ""
+ "title": "data",
+ "type": "object",
+ "properties": {
+ "resource-assignment-properties": {
+ "request-id": "",
+ "service-instance-id": "",
+ "vnf-id": "",
+ "action-name": "",
+ "scope-type": "",
+ "hostname": "",
+ "vnf_name": ""
+ }
}
}
}