aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/org/onap/clamp/clds/model/properties/PolicyItem.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/onap/clamp/clds/model/properties/PolicyItem.java')
-rw-r--r--src/main/java/org/onap/clamp/clds/model/properties/PolicyItem.java12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/main/java/org/onap/clamp/clds/model/properties/PolicyItem.java b/src/main/java/org/onap/clamp/clds/model/properties/PolicyItem.java
index 2ac51ab4..d6deddc6 100644
--- a/src/main/java/org/onap/clamp/clds/model/properties/PolicyItem.java
+++ b/src/main/java/org/onap/clamp/clds/model/properties/PolicyItem.java
@@ -33,6 +33,7 @@ import java.util.List;
import java.util.Map;
import org.onap.clamp.clds.util.JacksonUtils;
+import org.yaml.snakeyaml.Yaml;
/**
* Parse policyConfigurations from Policy json properties.
@@ -105,7 +106,16 @@ public class PolicyItem implements Cloneable {
String payload = AbstractModelElement.getValueByName(node, "recipePayload");
if (payload != null && !payload.isEmpty()) {
- recipePayload = JacksonUtils.getObjectMapperInstance().readValue(payload, new TypeReference<Map<String, String>>(){});
+ if (payload.trim().startsWith("{") && payload.trim().endsWith("}")) {
+ // Seems to be a JSON
+ recipePayload = JacksonUtils.getObjectMapperInstance().readValue(payload,
+ new TypeReference<Map<String, String>>() {
+ });
+ } else {
+ // SHould be a YAML then
+ Yaml yaml = new Yaml();
+ recipePayload = (Map<String, String>) yaml.load(payload);
+ }
}
oapRop = AbstractModelElement.getValueByName(node, "oapRop");
oapLimit = AbstractModelElement.getValueByName(node, "oapLimit");