X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fonap%2Fclamp%2Fpolicy%2Foperational%2FOperationalPolicy.java;h=4b052427f01a19cd2256aed84d822cf34e3d07de;hb=f01d3e8377fa4e5a9c1b129fe446575d132f91c2;hp=b5a88b39d9d54b1245b92e1a7c1e10b89bee1f1a;hpb=98bade58e0ab9b74378e4e3214700e7b00e10d7d;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 b5a88b39..4b052427 100644 --- a/src/main/java/org/onap/clamp/policy/operational/OperationalPolicy.java +++ b/src/main/java/org/onap/clamp/policy/operational/OperationalPolicy.java @@ -26,19 +26,10 @@ package org.onap.clamp.policy.operational; import com.att.eelf.configuration.EELFLogger; import com.att.eelf.configuration.EELFManager; -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; -import com.google.gson.JsonArray; -import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.annotations.Expose; -import java.io.IOException; import java.io.Serializable; import java.io.UnsupportedEncodingException; -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; @@ -57,8 +48,6 @@ import org.onap.clamp.loop.service.Service; 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; -import org.yaml.snakeyaml.Yaml; @Entity @Table(name = "operational_policies") @@ -123,7 +112,9 @@ public class OperationalPolicy extends Policy implements Serializable { public OperationalPolicy(Loop loop, Service service, LoopElementModel loopElementModel, ToscaConverterWithDictionarySupport toscaConverter) { this(Policy.generatePolicyName("OPERATIONAL", service.getName(), service.getVersion(), - RandomStringUtils.randomAlphanumeric(3), RandomStringUtils.randomAlphanumeric(3)), new JsonObject(), + loopElementModel.getPolicyModels().first().getPolicyAcronym() + '_' + + loopElementModel.getPolicyModels().first().getVersion(), + RandomStringUtils.randomAlphanumeric(3)), new JsonObject(), new JsonObject(), loopElementModel.getPolicyModels().first(), loopElementModel, null, null); this.setLoop(loop); this.updateJsonRepresentation(toscaConverter, service); @@ -136,12 +127,13 @@ public class OperationalPolicy extends Policy implements Serializable { * @param service The loop service * @param policyModel The policy model * @param toscaConverter The tosca converter that must be used to create the Json representation - * @throws IOException In case of issues with the legacy files (generated from resource files */ public OperationalPolicy(Loop loop, Service service, PolicyModel policyModel, - ToscaConverterWithDictionarySupport toscaConverter) throws IOException { + ToscaConverterWithDictionarySupport toscaConverter) { this(Policy.generatePolicyName("OPERATIONAL", service.getName(), service.getVersion(), - RandomStringUtils.randomAlphanumeric(3), RandomStringUtils.randomAlphanumeric(3)), new JsonObject(), + policyModel.getPolicyAcronym() + '_' + policyModel.getVersion(), + RandomStringUtils.randomAlphanumeric(3)), + new JsonObject(), new JsonObject(), policyModel, null, null, null); this.setLoop(loop); this.updateJsonRepresentation(toscaConverter, service); @@ -177,18 +169,12 @@ public class OperationalPolicy extends Policy implements Serializable { if (this.getPolicyModel() == null) { return; } - if (this.isLegacy()) { - // Op policy Legacy case - LegacyOperationalPolicy.preloadConfiguration(this.getConfigurationsJson(), this.loop); - this.setJsonRepresentation(OperationalPolicyRepresentationBuilder - .generateOperationalPolicySchema(this.loop.getModelService())); - } - else { - // Generic Case - this.setJsonRepresentation(toscaConverter.convertToscaToJsonSchemaObject( - this.getPolicyModel().getPolicyModelTosca(), - this.getPolicyModel().getPolicyModelType(), serviceModel)); - } + + // Generic Case + this.setJsonRepresentation(toscaConverter.convertToscaToJsonSchemaObject( + this.getPolicyModel().getPolicyModelTosca(), + this.getPolicyModel().getPolicyModelType(), serviceModel)); + } } @@ -216,96 +202,17 @@ public class OperationalPolicy extends Policy implements Serializable { if (other.name != null) { return false; } - } - else if (!name.equals(other.name)) { - return false; + } else { + if (!name.equals(other.name)) { + return false; + } } return true; } - public Boolean isLegacy() { - return (this.getPolicyModel() != null) && this.getPolicyModel().getPolicyModelType().contains("legacy"); - } - - /** - * Create policy Yaml from json defined here. - * - * @return A string containing Yaml - */ - public String createPolicyPayloadYaml() { - 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); - - JsonObject operationalPolicy = new JsonObject(); - policiesArray.add(operationalPolicy); - - JsonObject operationalPolicyDetails = new JsonObject(); - operationalPolicy.add(this.name, operationalPolicyDetails); - operationalPolicyDetails.addProperty("type", "onap.policies.controlloop.Operational"); - operationalPolicyDetails.addProperty("version", "1.0.0"); - - JsonObject metadata = new JsonObject(); - operationalPolicyDetails.add("metadata", metadata); - metadata.addProperty("policy-id", this.name); - - operationalPolicyDetails.add("properties", LegacyOperationalPolicy - .reworkActorAttributes(this.getConfigurationsJson().get("operational_policy").deepCopy())); - - DumperOptions options = new DumperOptions(); - options.setIndent(2); - options.setPrettyFlow(true); - options.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK); - Gson gson = new GsonBuilder().create(); - - return (new Yaml(options)).dump(gson.fromJson(gson.toJson(policyPayloadResult), Map.class)); - } - @Override public String createPolicyPayload() throws UnsupportedEncodingException { - if (isLegacy()) { - // Now using the legacy payload fo Dublin - JsonObject payload = new JsonObject(); - payload.addProperty("policy-id", this.getName()); - payload.addProperty("content", - URLEncoder.encode( - LegacyOperationalPolicy - .createPolicyPayloadYamlLegacy( - this.getConfigurationsJson().get("operational_policy")), - StandardCharsets.UTF_8.toString())); - String opPayload = new GsonBuilder().setPrettyPrinting().create().toJson(payload); - logger.info("Operational policy payload: " + opPayload); - return opPayload; - } - else { - return super.createPolicyPayload(); - } - } - - /** - * Return a map containing all Guard policies indexed by Guard policy Name. - * - * @return The Guards map - */ - public Map createGuardPolicyPayloads() { - Map result = new HashMap<>(); + return super.createPolicyPayload(); - if (this.getConfigurationsJson() != null) { - JsonElement guardsList = this.getConfigurationsJson().get("guard_policies"); - if (guardsList != null) { - for (JsonElement guardElem : guardsList.getAsJsonArray()) { - result.put(guardElem.getAsJsonObject().get("policy-id").getAsString(), - new GsonBuilder().create().toJson(guardElem)); - } - } - } - logger.info("Guard policy payload: " + result); - return result; } }