X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fonap%2Fclamp%2Floop%2Ftemplate%2FPolicyModel.java;h=3f45d0551f5c7daa39e7bb4cf5e204e35efb6e16;hb=635445a5f262464c88287e5b5ceace4abf9cc4bc;hp=53539fccbf01fafdf08cafa8206ea0aca16efba0;hpb=5d03e8b55ff7780079085184f6d30a4d0a26a4a7;p=clamp.git diff --git a/src/main/java/org/onap/clamp/loop/template/PolicyModel.java b/src/main/java/org/onap/clamp/loop/template/PolicyModel.java index 53539fcc..3f45d055 100644 --- a/src/main/java/org/onap/clamp/loop/template/PolicyModel.java +++ b/src/main/java/org/onap/clamp/loop/template/PolicyModel.java @@ -23,12 +23,11 @@ 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; import java.util.Set; - import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; @@ -36,7 +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; @@ -47,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 { /** @@ -68,7 +71,7 @@ public class PolicyModel extends AuditEntity implements Serializable, Comparable */ @Id @Expose - @Column(name = "version") + @Column(name = "version", nullable = false) private String version; @Column(columnDefinition = "MEDIUMTEXT", name = "policy_tosca") @@ -81,18 +84,41 @@ public class PolicyModel extends AuditEntity implements Serializable, Comparable @ManyToMany(mappedBy = "policyModels", fetch = FetchType.EAGER) private Set usedByElementModels = new HashSet<>(); + @Expose + @Type(type = "json") + @Column(columnDefinition = "json", name = "policy_pdp_group") + private JsonObject policyPdpGroup; + /** * usedByElementModels getter. - * + * * @return the usedByElementModels */ public Set getUsedByElementModels() { 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. - * + * * @return the policyModelTosca */ public String getPolicyModelTosca() { @@ -101,7 +127,7 @@ public class PolicyModel extends AuditEntity implements Serializable, Comparable /** * policyModelTosca setter. - * + * * @param policyModelTosca the policyModelTosca to set */ public void setPolicyModelTosca(String policyModelTosca) { @@ -110,7 +136,7 @@ public class PolicyModel extends AuditEntity implements Serializable, Comparable /** * policyModelType getter. - * + * * @return the modelType */ public String getPolicyModelType() { @@ -119,7 +145,7 @@ public class PolicyModel extends AuditEntity implements Serializable, Comparable /** * policyModelType setter. - * + * * @param modelType the modelType to set */ public void setPolicyModelType(String modelType) { @@ -128,7 +154,7 @@ public class PolicyModel extends AuditEntity implements Serializable, Comparable /** * version getter. - * + * * @return the version */ public String getVersion() { @@ -137,7 +163,7 @@ public class PolicyModel extends AuditEntity implements Serializable, Comparable /** * version setter. - * + * * @param version the version to set */ public void setVersion(String version) { @@ -147,7 +173,7 @@ public class PolicyModel extends AuditEntity implements Serializable, Comparable /** * policyAcronym getter. - * + * * @return the policyAcronym value */ public String getPolicyAcronym() { @@ -156,7 +182,7 @@ public class PolicyModel extends AuditEntity implements Serializable, Comparable /** * policyAcronym setter. - * + * * @param policyAcronym The policyAcronym to set */ public void setPolicyAcronym(String policyAcronym) { @@ -171,17 +197,37 @@ public class PolicyModel extends AuditEntity implements Serializable, Comparable /** * Constructor. - * + * * @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) */ - public PolicyModel(String policyType, String policyModelTosca, String version, String policyAcronym) { + public PolicyModel(String policyType, String policyModelTosca, String version, + String policyAcronym) { this.policyModelType = policyType; this.policyModelTosca = policyModelTosca; this.version = version; this.policyAcronym = policyAcronym; + if (this.policyAcronym == null) { + this.policyAcronym = createDefaultPolicyAcronym(policyType); + } + } + + /** + * 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 + */ + public PolicyModel(String policyType, String policyModelTosca, String version) { + this(policyType, policyModelTosca, version, null); + } + + public static String createDefaultPolicyAcronym(String policyType) { + String[] policyNameArray = policyType.split("\\."); + return policyNameArray[policyNameArray.length - 1]; } @Override