Merge "Fix Payload in policy" 3.0.2
authorSébastien Determe <sebastien.determe@intl.att.com>
Wed, 31 Oct 2018 17:55:45 +0000 (17:55 +0000)
committerGerrit Code Review <gerrit@onap.org>
Wed, 31 Oct 2018 17:55:45 +0000 (17:55 +0000)
src/main/java/org/onap/clamp/clds/model/properties/PolicyItem.java
src/main/resources/META-INF/resources/designer/partials/portfolios/PolicyWindow_properties.html
src/main/resources/clds/templates/globalProperties.json

index 2ac51ab..d6deddc 100644 (file)
@@ -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");
index 5a46003..331ab5c 100644 (file)
@@ -253,9 +253,9 @@ label {
                                                        </div>
 
                                                        <label for="payload" class="col-sm-4 control-label">
-                                                               Payload</label>
+                                                               Payload (YAML)</label>
                                                        <div class="col-sm-8">
-                                                               <textarea class="form-control" id="recipeInput" name=recipeInput></textarea>
+                                                               <textarea class="form-control" id="recipePayload" name=recipePayload></textarea>
                                                        </div>
                                                </div>
                                                <div class="form-group clearfix">
index b6f68f6..7cd449f 100644 (file)
@@ -49,7 +49,7 @@
                "timeout": 345,
                "actor": {
                        "APPC":"APPC",
-                       "MSO": "SO",
+                       "SO": "SO",
                        "VFC": "VFC"
                },
                "vnfRecipe": {