LoopLog repository
[clamp.git] / src / main / java / org / onap / clamp / policy / operational / OperationalPolicy.java
index c1e075d..674bd71 100644 (file)
 
 package org.onap.clamp.policy.operational;
 
+import com.google.gson.GsonBuilder;
+import com.google.gson.JsonArray;
 import com.google.gson.JsonObject;
 import com.google.gson.annotations.Expose;
+
 import java.io.Serializable;
 
 import javax.persistence.Column;
-import javax.persistence.Convert;
 import javax.persistence.Entity;
 import javax.persistence.FetchType;
 import javax.persistence.Id;
 import javax.persistence.JoinColumn;
 import javax.persistence.ManyToOne;
 import javax.persistence.Table;
+
 import org.hibernate.annotations.Type;
 import org.hibernate.annotations.TypeDef;
 import org.hibernate.annotations.TypeDefs;
@@ -66,14 +69,18 @@ public class OperationalPolicy implements Serializable, Policy {
     private Loop loop;
 
     public OperationalPolicy() {
-        //Serialization
+        // Serialization
     }
 
     /**
      * The constructor.
-     * @param name The name of the operational policy
-     * @param loop The loop that uses this operational policy
-     * @param configurationsJson The operational policy property in the format of json
+     *
+     * @param name
+     *        The name of the operational policy
+     * @param loop
+     *        The loop that uses this operational policy
+     * @param configurationsJson
+     *        The operational policy property in the format of json
      */
     public OperationalPolicy(String name, Loop loop, JsonObject configurationsJson) {
         this.name = name;
@@ -81,6 +88,7 @@ public class OperationalPolicy implements Serializable, Policy {
         this.configurationsJson = configurationsJson;
     }
 
+    @Override
     public String getName() {
         return name;
     }
@@ -136,4 +144,23 @@ public class OperationalPolicy implements Serializable, Policy {
         return true;
     }
 
+    @Override
+    public String createPolicyPayload() {
+        JsonObject policyPayloadResult = new JsonObject();
+
+        policyPayloadResult.addProperty("tosca_definitions_version", "tosca_simple_yaml_1_0_0");
+
+        JsonObject topologyTemplateNode = new JsonObject();
+        policyPayloadResult.add("topology_template", topologyTemplateNode);
+
+        JsonArray policiesArray = new JsonArray();
+        topologyTemplateNode.add("policies", policiesArray);
+
+        return new GsonBuilder().setPrettyPrinting().create().toJson(policyPayloadResult);
+    }
+
+    public String createGuardPolicyPayload() {
+        return null;
+    }
+
 }