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;
return true;
}
- @Override
- public String createPolicyPayload() {
+ public String createPolicyPayloadYaml() {
JsonObject policyPayloadResult = new JsonObject();
policyPayloadResult.addProperty("tosca_definitions_version", "tosca_simple_yaml_1_0_0");
return (new Yaml()).dump(jsonMap);
}
+ public String createPolicyPayloadYamlLegacy() {
+ Gson gson = new GsonBuilder().create();
+ Map<?, ?> jsonMap = gson.fromJson(gson.toJson(this.configurationsJson.get("operational_policy")), Map.class);
+ 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(createPolicyPayloadYamlLegacy(), StandardCharsets.UTF_8.toString()));
+ return new GsonBuilder().setPrettyPrinting().create().toJson(payload);
+ }
+
/**
* Return a map containing all Guard policies indexed by Guard policy Name.
*
for (Entry<String, JsonElement> guardElem : guardsList.getAsJsonObject().entrySet()) {
JsonObject guard = new JsonObject();
guard.addProperty("policy-id", guardElem.getKey());
- guard.add("contents", guardElem.getValue());
+ guard.add("content", guardElem.getValue());
result.put(guardElem.getKey(), new GsonBuilder().create().toJson(guard));
}
}