X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fonap%2Fclamp%2Fpolicy%2Foperational%2FOperationalPolicy.java;h=1c7840579890ec0921345c0a579ed5bf0d085411;hb=2d28cbf6954c50de004a0d8f1a2ada7ec400fea3;hp=a1c8cdbdb310f91c1f4e71198fe98343f25eff90;hpb=cef5b582ed8f2f9a64203e737234e29434314b36;p=clamp.git diff --git a/src/main/java/org/onap/clamp/policy/operational/OperationalPolicy.java b/src/main/java/org/onap/clamp/policy/operational/OperationalPolicy.java index a1c8cdbd..1c784057 100644 --- a/src/main/java/org/onap/clamp/policy/operational/OperationalPolicy.java +++ b/src/main/java/org/onap/clamp/policy/operational/OperationalPolicy.java @@ -32,7 +32,6 @@ import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonSyntaxException; import com.google.gson.annotations.Expose; - import java.io.IOException; import java.io.Serializable; import java.io.UnsupportedEncodingException; @@ -40,7 +39,6 @@ import java.net.URLEncoder; import java.nio.charset.StandardCharsets; import java.util.HashMap; import java.util.Map; - import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; @@ -50,11 +48,11 @@ import javax.persistence.JoinColumns; import javax.persistence.ManyToOne; import javax.persistence.Table; import javax.persistence.Transient; - import org.hibernate.annotations.TypeDef; import org.hibernate.annotations.TypeDefs; import org.onap.clamp.dao.model.jsontype.StringJsonUserType; import org.onap.clamp.loop.Loop; +import org.onap.clamp.loop.template.LoopElementModel; import org.onap.clamp.loop.template.PolicyModel; import org.onap.clamp.policy.Policy; import org.yaml.snakeyaml.DumperOptions; @@ -62,7 +60,7 @@ import org.yaml.snakeyaml.Yaml; @Entity @Table(name = "operational_policies") -@TypeDefs({ @TypeDef(name = "json", typeClass = StringJsonUserType.class) }) +@TypeDefs({@TypeDef(name = "json", typeClass = StringJsonUserType.class)}) public class OperationalPolicy extends Policy implements Serializable { /** * The serial version ID. @@ -83,8 +81,8 @@ public class OperationalPolicy extends Policy implements Serializable { @Expose @ManyToOne(fetch = FetchType.EAGER) - @JoinColumns({ @JoinColumn(name = "policy_model_type", referencedColumnName = "policy_model_type"), - @JoinColumn(name = "policy_model_version", referencedColumnName = "version") }) + @JoinColumns({@JoinColumn(name = "policy_model_type", referencedColumnName = "policy_model_type"), + @JoinColumn(name = "policy_model_version", referencedColumnName = "version")}) private PolicyModel policyModel; public OperationalPolicy() { @@ -98,12 +96,19 @@ public class OperationalPolicy extends Policy implements Serializable { * @param loop The loop that uses this operational policy * @param configurationsJson The operational policy property in the format of * json + * @param policyModel The policy model associated if any, can be null + * @param loopElementModel The loop element from which this instance is supposed to be created */ - public OperationalPolicy(String name, Loop loop, JsonObject configurationsJson) { + public OperationalPolicy(String name, Loop loop, JsonObject configurationsJson, PolicyModel policyModel, + LoopElementModel loopElementModel) { this.name = name; this.loop = loop; + this.setPolicyModel(policyModel); this.setConfigurationsJson(configurationsJson); - LegacyOperationalPolicy.preloadConfiguration(configurationsJson, loop); + this.setLoopElementModel(loopElementModel); + if (policyModel != null && policyModel.getPolicyModelType().contains("legacy")) { + LegacyOperationalPolicy.preloadConfiguration(configurationsJson, loop); + } try { this.setJsonRepresentation( OperationalPolicyRepresentationBuilder.generateOperationalPolicySchema(loop.getModelService())); @@ -128,7 +133,7 @@ public class OperationalPolicy extends Policy implements Serializable { /** * name setter. - * + * * @param name the name to set */ @Override @@ -138,7 +143,7 @@ public class OperationalPolicy extends Policy implements Serializable { /** * policyModel getter. - * + * * @return the policyModel */ public PolicyModel getPolicyModel() { @@ -147,7 +152,7 @@ public class OperationalPolicy extends Policy implements Serializable { /** * policyModel setter. - * + * * @param policyModel the policyModel to set */ public void setPolicyModel(PolicyModel policyModel) { @@ -186,7 +191,7 @@ public class OperationalPolicy extends Policy implements Serializable { /** * Create policy Yaml from json defined here. - * + * * @return A string containing Yaml */ public String createPolicyPayloadYaml() { @@ -260,7 +265,6 @@ public class OperationalPolicy extends Policy implements Serializable { /** * Regenerate the Operational Policy Json Representation. - * */ public void updateJsonRepresentation() { try {