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 com.google.gson.JsonElement;
+import com.google.gson.reflect.TypeToken;
import java.io.IOException;
import java.util.List;
import java.util.Map;
-import org.onap.clamp.clds.util.JacksonUtils;
+import org.onap.clamp.clds.util.JsonUtils;
+import org.yaml.snakeyaml.Yaml;
/**
* Parse policyConfigurations from Policy json properties.
- * <p>
* Example json:
* "Policy_005sny1":[[{"name":"timeout","value":"5"}],{"policyConfigurations":[[
* {"name":"recipe","value":["restart"]},{"name":"maxRetries","value":["3"]},{
private String guardActiveEnd;
/**
- * Parse Policy given json node.
+ * Parse Policy given JSON node.
*
- * @param node
- * @throws IOException
+ * @param item policy in JSON format
+ * @throws IOException IO exception
*/
- public PolicyItem(JsonNode node) throws IOException {
- id = AbstractModelElement.getValueByName(node, "_id");
- recipe = AbstractModelElement.getValueByName(node, "recipe");
- maxRetries = AbstractModelElement.getIntValueByName(node, "maxRetries");
- retryTimeLimit = AbstractModelElement.getIntValueByName(node, "retryTimeLimit");
- parentPolicy = AbstractModelElement.getValueByName(node, "parentPolicy");
- parentPolicyConditions = AbstractModelElement.getValuesByName(node, "parentPolicyConditions");
- targetResourceId = AbstractModelElement.getValueByName(node, "targetResourceId");
+ public PolicyItem(JsonElement item) throws IOException {
+ id = JsonUtils.getStringValueByName(item, "_id");
+ recipe = JsonUtils.getStringValueByName(item, "recipe");
+ maxRetries = JsonUtils.getIntValueByName(item, "maxRetries");
+ retryTimeLimit = JsonUtils.getIntValueByName(item, "retryTimeLimit");
+ parentPolicy = JsonUtils.getStringValueByName(item, "parentPolicy");
+ parentPolicyConditions = JsonUtils.getStringValuesByName(item, "parentPolicyConditions");
+ targetResourceId = JsonUtils.getStringValueByName(item, "targetResourceId");
if (targetResourceId != null && targetResourceId.isEmpty()) {
this.setTargetResourceId(null);
}
- recipeInfo = AbstractModelElement.getValueByName(node, "recipeInfo");
- recipeLevel = AbstractModelElement.getValueByName(node, "recipeLevel");
- recipeInput = AbstractModelElement.getValueByName(node, "recipeInput");
- String payload = AbstractModelElement.getValueByName(node, "recipePayload");
+ recipeInfo = JsonUtils.getStringValueByName(item, "recipeInfo");
+ recipeLevel = JsonUtils.getStringValueByName(item, "recipeLevel");
+ recipeInput = JsonUtils.getStringValueByName(item, "recipeInput");
+ String payload = JsonUtils.getStringValueByName(item, "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 = JsonUtils.GSON.fromJson(payload, new TypeToken<Map<String, String>>() {}.getType());
+ } else {
+ // SHould be a YAML then
+ recipePayload = new Yaml().load(payload);
+ }
}
- oapRop = AbstractModelElement.getValueByName(node, "oapRop");
- oapLimit = AbstractModelElement.getValueByName(node, "oapLimit");
- actor = AbstractModelElement.getValueByName(node, "actor");
-
- enableGuardPolicy = AbstractModelElement.getValueByName(node, "enableGuardPolicy");
- guardPolicyType = AbstractModelElement.getValueByName(node, "guardPolicyType");
- guardTargets = AbstractModelElement.getValueByName(node, "guardTargets");
- minGuard = AbstractModelElement.getValueByName(node, "minGuard");
- maxGuard = AbstractModelElement.getValueByName(node, "maxGuard");
- limitGuard = AbstractModelElement.getValueByName(node, "limitGuard");
- timeUnitsGuard = AbstractModelElement.getValueByName(node, "timeUnitsGuard");
- timeWindowGuard = AbstractModelElement.getValueByName(node, "timeWindowGuard");
- guardActiveStart = AbstractModelElement.getValueByName(node, "guardActiveStart");
- guardActiveEnd = AbstractModelElement.getValueByName(node, "guardActiveEnd");
+ oapRop = JsonUtils.getStringValueByName(item, "oapRop");
+ oapLimit = JsonUtils.getStringValueByName(item, "oapLimit");
+ actor = JsonUtils.getStringValueByName(item, "actor");
+
+ enableGuardPolicy = JsonUtils.getStringValueByName(item, "enableGuardPolicy");
+ guardPolicyType = JsonUtils.getStringValueByName(item, "guardPolicyType");
+ guardTargets = JsonUtils.getStringValueByName(item, "guardTargets");
+ minGuard = JsonUtils.getStringValueByName(item, "minGuard");
+ maxGuard = JsonUtils.getStringValueByName(item, "maxGuard");
+ limitGuard = JsonUtils.getStringValueByName(item, "limitGuard");
+ timeUnitsGuard = JsonUtils.getStringValueByName(item, "timeUnitsGuard");
+ timeWindowGuard = JsonUtils.getStringValueByName(item, "timeWindowGuard");
+ guardActiveStart = JsonUtils.getStringValueByName(item, "guardActiveStart");
+ guardActiveEnd = JsonUtils.getStringValueByName(item, "guardActiveEnd");
}
/**
+ * Get the id.
* @return the id
*/
public String getId() {
}
/**
+ * Get the recipe.
* @return the recipe
*/
public String getRecipe() {
}
/**
- * @set the id
+ * Set the id.
+ * @param the id
*/
public void setId(String id) {
this.id = id;
}
/**
- * @set the recipe
+ * Set the recipe.
+ * @param the recipe
*/
public void setRecipe(String recipe) {
this.recipe = recipe;
}
/**
- * @set the parentPolicy
+ * Set the parent policy.
+ * @param the parentPolicy
*/
public void setParentPolicy(String parentPolicy) {
this.parentPolicy = parentPolicy;
}
/**
- * @set the maxRetries
+ * Set the max retries.
+ * @param the maxRetries
*/
public void setMaxRetries(int maxRetries) {
this.maxRetries = maxRetries;
}
/**
- * @set the retryTimeLimit
+ * Set the retry time limit.
+ * @param the retryTimeLimit
*/
public void setRetryTimeLimit(int retryTimeLimit) {
this.retryTimeLimit = retryTimeLimit;
}
/**
- * @set the parentPolicyConditions
+ * Set the parent policy conditions.
+ * @param the parentPolicyConditions
*/
public void setParentPolicyConditions(List<String> parentPolicyConditions) {
this.parentPolicyConditions = parentPolicyConditions;
}
/**
+ * Get the max retires.
* @return the maxRetries
*/
public int getMaxRetries() {
}
/**
+ * Get the retry time limit.
* @return the retryTimeLimit
*/
public int getRetryTimeLimit() {
}
/**
+ * Get the parent policy.
* @return the parentPolicy
*/
public String getParentPolicy() {
}
/**
+ * Get the list of parent policy conditions.
* @return the parentPolicyConditions
*/
public List<String> getParentPolicyConditions() {
}
/**
+ * Get the actor.
* @return the actor
*/
public String getActor() {
}
/**
- * @set the actor
+ * Set the actor.
+ * @param the actor
*/
public void setActor(String actor) {
this.actor = actor;
return recipePayload;
}
+ /**
+ * Get oap rop.
+ * @return The oap rop?
+ */
public String getOapRop() {
if (oapRop == null) {
oapRop = "0m";
return oapRop;
}
+ /**
+ * Get oap limit.
+ * @return the oap limit
+ */
public String getOapLimit() {
if (oapLimit == null) {
oapLimit = "0";