Update UI to define Pdp Group
[clamp.git] / src / main / java / org / onap / clamp / loop / template / PolicyModel.java
index fd0110c..3f45d05 100644 (file)
@@ -23,6 +23,7 @@
 
 package org.onap.clamp.loop.template;
 
+import com.google.gson.JsonObject;
 import com.google.gson.annotations.Expose;
 import java.io.Serializable;
 import java.util.HashSet;
@@ -34,6 +35,10 @@ import javax.persistence.Id;
 import javax.persistence.IdClass;
 import javax.persistence.ManyToMany;
 import javax.persistence.Table;
+import org.hibernate.annotations.Type;
+import org.hibernate.annotations.TypeDef;
+import org.hibernate.annotations.TypeDefs;
+import org.onap.clamp.dao.model.jsontype.StringJsonUserType;
 import org.onap.clamp.loop.common.AuditEntity;
 import org.onap.clamp.util.SemanticVersioning;
 
@@ -44,6 +49,7 @@ import org.onap.clamp.util.SemanticVersioning;
 @Entity
 @Table(name = "policy_models")
 @IdClass(PolicyModelId.class)
+@TypeDefs({@TypeDef(name = "json", typeClass = StringJsonUserType.class)})
 public class PolicyModel extends AuditEntity implements Serializable, Comparable<PolicyModel> {
 
     /**
@@ -65,7 +71,7 @@ public class PolicyModel extends AuditEntity implements Serializable, Comparable
      */
     @Id
     @Expose
-    @Column(name = "version",nullable = false)
+    @Column(name = "version", nullable = false)
     private String version;
 
     @Column(columnDefinition = "MEDIUMTEXT", name = "policy_tosca")
@@ -78,6 +84,11 @@ public class PolicyModel extends AuditEntity implements Serializable, Comparable
     @ManyToMany(mappedBy = "policyModels", fetch = FetchType.EAGER)
     private Set<LoopElementModel> usedByElementModels = new HashSet<>();
 
+    @Expose
+    @Type(type = "json")
+    @Column(columnDefinition = "json", name = "policy_pdp_group")
+    private JsonObject policyPdpGroup;
+
     /**
      * usedByElementModels getter.
      *
@@ -87,6 +98,24 @@ public class PolicyModel extends AuditEntity implements Serializable, Comparable
         return usedByElementModels;
     }
 
+    /**
+     * policyPdpGroup getter.
+     *
+     * @return the policyPdpGroup
+     */
+    public JsonObject getPolicyPdpGroup() {
+        return policyPdpGroup;
+    }
+
+    /**
+     * policyPdpGroup setter.
+     *
+     * @param policyPdpGroup the policyPdpGroup to set
+     */
+    public void setPolicyPdpGroup(JsonObject policyPdpGroup) {
+        this.policyPdpGroup = policyPdpGroup;
+    }
+
     /**
      * policyModelTosca getter.
      *
@@ -169,17 +198,17 @@ public class PolicyModel extends AuditEntity implements Serializable, Comparable
     /**
      * Constructor.
      *
-     * @param policyType The policyType (referenced in the blueprint
+     * @param policyType       The policyType (referenced in the blueprint
      * @param policyModelTosca The policy tosca model in yaml
-     * @param version the version like 1.0.0
-     * @param policyAcronym Subtype for policy if it exists (could be used by UI)
+     * @param version          the version like 1.0.0
+     * @param policyAcronym    Subtype for policy if it exists (could be used by UI)
      */
     public PolicyModel(String policyType, String policyModelTosca, String version,
-        String policyAcronym) {
+                       String policyAcronym) {
         this.policyModelType = policyType;
         this.policyModelTosca = policyModelTosca;
         this.version = version;
-        this.policyAcronym=policyAcronym;
+        this.policyAcronym = policyAcronym;
         if (this.policyAcronym == null) {
             this.policyAcronym = createDefaultPolicyAcronym(policyType);
         }
@@ -187,7 +216,7 @@ public class PolicyModel extends AuditEntity implements Serializable, Comparable
 
     /**
      * Constructor with acronym generated by default from policyType.
-     * 
+     *
      * @param policyType       The policyType (referenced in the blueprint
      * @param policyModelTosca The policy tosca model in yaml
      * @param version          the version like 1.0.0