From 51de07c4250ac0b9502c6e5c6fe35ed1b310c8b4 Mon Sep 17 00:00:00 2001 From: sebdet Date: Wed, 1 Apr 2020 11:58:07 +0200 Subject: 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 Change-Id: I84d543987f421e3185c2783fc6cd779302658a1f --- .../execution/cds/ToscaMetadataCdsProcess.java | 31 ++++++++++++++++++---- 1 file changed, 26 insertions(+), 5 deletions(-) (limited to 'src/main/java/org') 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 b1c88903..b81e46bf 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); -- cgit 1.2.3-korg