Remove dead code
[clamp.git] / src / main / java / org / onap / clamp / clds / model / properties / PolicyItem.java
index 2ac51ab..1855468 100644 (file)
@@ -25,18 +25,18 @@ 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 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"]},{
@@ -83,47 +83,54 @@ public class PolicyItem implements Cloneable {
     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() {
@@ -131,6 +138,7 @@ public class PolicyItem implements Cloneable {
     }
 
     /**
+     * Get the recipe.
      * @return the recipe
      */
     public String getRecipe() {
@@ -138,48 +146,55 @@ public class PolicyItem implements Cloneable {
     }
 
     /**
-     * @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() {
@@ -187,6 +202,7 @@ public class PolicyItem implements Cloneable {
     }
 
     /**
+     * Get the retry time limit.
      * @return the retryTimeLimit
      */
     public int getRetryTimeLimit() {
@@ -194,6 +210,7 @@ public class PolicyItem implements Cloneable {
     }
 
     /**
+     * Get the parent policy.
      * @return the parentPolicy
      */
     public String getParentPolicy() {
@@ -201,6 +218,7 @@ public class PolicyItem implements Cloneable {
     }
 
     /**
+     * Get the list of parent policy conditions.
      * @return the parentPolicyConditions
      */
     public List<String> getParentPolicyConditions() {
@@ -208,6 +226,7 @@ public class PolicyItem implements Cloneable {
     }
 
     /**
+     * Get the actor.
      * @return the actor
      */
     public String getActor() {
@@ -215,7 +234,8 @@ public class PolicyItem implements Cloneable {
     }
 
     /**
-     * @set the actor
+     * Set the actor.
+     * @param the actor
      */
     public void setActor(String actor) {
         this.actor = actor;
@@ -245,6 +265,10 @@ public class PolicyItem implements Cloneable {
         return recipePayload;
     }
 
+    /**
+     * Get oap rop.
+     * @return The oap rop?
+     */
     public String getOapRop() {
         if (oapRop == null) {
             oapRop = "0m";
@@ -252,6 +276,10 @@ public class PolicyItem implements Cloneable {
         return oapRop;
     }
 
+    /**
+     * Get oap limit.
+     * @return the oap limit
+     */
     public String getOapLimit() {
         if (oapLimit == null) {
             oapLimit = "0";