diff options
author | Xue Gao <xg353y@intl.att.com> | 2019-04-26 11:32:21 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2019-04-26 11:32:21 +0000 |
commit | 893b3ad8f4b985c35e9f24346eca515e6bc251e8 (patch) | |
tree | 65b2f6ec219967ba34a1dc69cc942315f77ec89f /src/main/java/org/onap | |
parent | d4976b71508b2a3670167b7f0f412d3bfdd6ce54 (diff) | |
parent | 5415b26467f198856b3149c11827a93e2ed8a72a (diff) |
Merge "Change Yaml to Json payload"
Diffstat (limited to 'src/main/java/org/onap')
-rw-r--r-- | src/main/java/org/onap/clamp/policy/Policy.java | 4 | ||||
-rw-r--r-- | src/main/java/org/onap/clamp/policy/operational/OperationalPolicy.java | 16 |
2 files changed, 17 insertions, 3 deletions
diff --git a/src/main/java/org/onap/clamp/policy/Policy.java b/src/main/java/org/onap/clamp/policy/Policy.java index f4efab0d7..fc097bd60 100644 --- a/src/main/java/org/onap/clamp/policy/Policy.java +++ b/src/main/java/org/onap/clamp/policy/Policy.java @@ -25,13 +25,15 @@ package org.onap.clamp.policy; import com.google.gson.JsonObject; +import java.io.UnsupportedEncodingException; + public interface Policy { String getName(); JsonObject getJsonRepresentation(); - String createPolicyPayload(); + String createPolicyPayload() throws UnsupportedEncodingException; /** * Generate the policy name. diff --git a/src/main/java/org/onap/clamp/policy/operational/OperationalPolicy.java b/src/main/java/org/onap/clamp/policy/operational/OperationalPolicy.java index 1e35ad6c4..b2f6109f7 100644 --- a/src/main/java/org/onap/clamp/policy/operational/OperationalPolicy.java +++ b/src/main/java/org/onap/clamp/policy/operational/OperationalPolicy.java @@ -31,6 +31,9 @@ import com.google.gson.JsonObject; import com.google.gson.annotations.Expose; import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; @@ -150,8 +153,7 @@ public class OperationalPolicy implements Serializable, Policy { return true; } - @Override - public String createPolicyPayload() { + public String createPolicyPayloadYaml() { JsonObject policyPayloadResult = new JsonObject(); policyPayloadResult.addProperty("tosca_definitions_version", "tosca_simple_yaml_1_0_0"); @@ -181,6 +183,16 @@ public class OperationalPolicy implements Serializable, Policy { return (new Yaml()).dump(jsonMap); } + @Override + public String createPolicyPayload() throws UnsupportedEncodingException { + + // Now the Yaml payload must be injected in a json ... + JsonObject payload = new JsonObject(); + payload.addProperty("policy-id", this.getName()); + payload.addProperty("content", URLEncoder.encode(createPolicyPayloadYaml(), StandardCharsets.UTF_8.toString())); + return new GsonBuilder().setPrettyPrinting().create().toJson(payload); + } + /** * Return a map containing all Guard policies indexed by Guard policy Name. * |