summaryrefslogtreecommitdiffstats
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.java28
1 files changed, 18 insertions, 10 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 75bf6ae3..6e3e8659 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
@@ -18,16 +18,21 @@
* limitations under the License.
* ============LICENSE_END============================================
* ===================================================================
- *
+ *
*/
package org.onap.clamp.clds.model.properties;
import com.att.eelf.configuration.EELFLogger;
import com.att.eelf.configuration.EELFManager;
+import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.JsonNode;
+import java.io.IOException;
import java.util.List;
+import java.util.Map;
+
+import org.onap.clamp.clds.util.JacksonUtils;
/**
* Parse policyConfigurations from Policy json properties.
@@ -61,7 +66,7 @@ public class PolicyItem implements Cloneable {
private String targetResourceId;
private String recipeInfo;
private String recipeLevel;
- private String recipePayload;
+ private Map<String, String> recipePayload;
private String oapRop;
private String oapLimit;
@@ -69,8 +74,9 @@ public class PolicyItem implements Cloneable {
* Parse Policy given json node.
*
* @param node
+ * @throws IOException
*/
- public PolicyItem(JsonNode node) {
+ public PolicyItem(JsonNode node) throws IOException {
id = AbstractModelElement.getValueByName(node, "_id");
recipe = AbstractModelElement.getValueByName(node, "recipe");
maxRetries = AbstractModelElement.getIntValueByName(node, "maxRetries");
@@ -83,9 +89,16 @@ public class PolicyItem implements Cloneable {
}
recipeInfo = AbstractModelElement.getValueByName(node, "recipeInfo");
recipeLevel = AbstractModelElement.getValueByName(node, "recipeLevel");
- recipePayload = AbstractModelElement.getValueByName(node, "recipeInput");
+ String payload = AbstractModelElement.getValueByName(node, "recipeInput");
+
+
+ if (payload != null && !payload.isEmpty()) {
+ //recipePayload = JacksonUtils.getObjectMapperInstance().convertValue(payload, Map.class);
+ recipePayload = JacksonUtils.getObjectMapperInstance().readValue(payload, new TypeReference<Map<String, String>>(){});
+ }
oapRop = AbstractModelElement.getValueByName(node, "oapRop");
oapLimit = AbstractModelElement.getValueByName(node, "oapLimit");
+ actor = AbstractModelElement.getValueByName(node, "actor");
}
/**
@@ -202,7 +215,7 @@ public class PolicyItem implements Cloneable {
return recipeLevel;
}
- public String getRecipePayload() {
+ public Map<String, String> getRecipePayload() {
return recipePayload;
}
@@ -219,9 +232,4 @@ public class PolicyItem implements Cloneable {
}
return oapLimit;
}
-
- @Override
- public Object clone() throws CloneNotSupportedException {
- return super.clone();
- }
}