Fix Payload in policy 72/71572/1
authorsebdet <sebastien.determe@intl.att.com>
Wed, 31 Oct 2018 17:41:40 +0000 (18:41 +0100)
committersebdet <sebastien.determe@intl.att.com>
Wed, 31 Oct 2018 17:41:40 +0000 (18:41 +0100)
Fix payload field in Op Policy, must now be YAML format + fix SO actor
value

Issue-ID: CLAMP-241
Change-Id: Icce97a0c396fb9ae11c98ace66893066494fcf73
Signed-off-by: sebdet <sebastien.determe@intl.att.com>
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": {