diff options
author | sebdet <sebastien.determe@intl.att.com> | 2020-04-01 11:58:07 +0200 |
---|---|---|
committer | sebdet <sebastien.determe@intl.att.com> | 2020-04-01 11:58:07 +0200 |
commit | 51de07c4250ac0b9502c6e5c6fe35ed1b310c8b4 (patch) | |
tree | 8bdd4e6ee70937035abbff72737fae86b3372e90 /src/main | |
parent | 580141f7cf72d4a120722fc7b870dfc5c3017ced (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
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/org/onap/clamp/clds/tosca/update/execution/cds/ToscaMetadataCdsProcess.java | 31 |
1 files changed, 26 insertions, 5 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); |