X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fonap%2Fclamp%2Fpolicy%2Foperational%2FOperationalPolicy.java;h=492c9b9ef507040a780dd50ba92fb398a1d5b4da;hb=e916ac28ba46ff7cad64f1a3150b128ba4772c70;hp=528d695c3d7c1bb5f364dbbd8119cec993f32beb;hpb=82775724cf35060294388f84d2e7d2b0671ee838;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 528d695c..492c9b9e 100644 --- a/src/main/java/org/onap/clamp/policy/operational/OperationalPolicy.java +++ b/src/main/java/org/onap/clamp/policy/operational/OperationalPolicy.java @@ -31,7 +31,6 @@ import com.google.gson.GsonBuilder; import com.google.gson.JsonArray; 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; @@ -120,15 +119,14 @@ public class OperationalPolicy extends Policy implements Serializable { * @param service The loop service * @param loopElementModel The loop element 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, LoopElementModel loopElementModel, - ToscaConverterWithDictionarySupport toscaConverter) throws IOException { + ToscaConverterWithDictionarySupport toscaConverter) { this(Policy.generatePolicyName("OPERATIONAL", service.getName(), service.getVersion(), RandomStringUtils.randomAlphanumeric(3), RandomStringUtils.randomAlphanumeric(3)), new JsonObject(), new JsonObject(), loopElementModel.getPolicyModels().first(), loopElementModel, null, null); this.setLoop(loop); - this.setJsonRepresentation(generateJsonRepresentation(this, toscaConverter)); + this.updateJsonRepresentation(toscaConverter); } /** @@ -146,39 +144,7 @@ public class OperationalPolicy extends Policy implements Serializable { RandomStringUtils.randomAlphanumeric(3), RandomStringUtils.randomAlphanumeric(3)), new JsonObject(), new JsonObject(), policyModel, null, null, null); this.setLoop(loop); - this.setJsonRepresentation(generateJsonRepresentation(this, toscaConverter)); - } - - /** - * This method can generate a Json representation (json schema) for an operational policy. - * This is mainly to support a legacy case and a generic case. - * For the legacy case the operational policy given is modified (configurationJson). - * - * @param operationalPolicy The operational policy - * @param toscaConverter The tosca converter - * @return The Json Object with Json schema - */ - public static JsonObject generateJsonRepresentation(OperationalPolicy operationalPolicy, - ToscaConverterWithDictionarySupport toscaConverter) - throws IOException { - JsonObject jsonReturned = new JsonObject(); - if (operationalPolicy.getPolicyModel() == null) { - return new JsonObject(); - } - if (operationalPolicy.isLegacy()) { - // Op policy Legacy case - LegacyOperationalPolicy.preloadConfiguration(operationalPolicy.getConfigurationsJson(), operationalPolicy.loop); - jsonReturned = OperationalPolicyRepresentationBuilder - .generateOperationalPolicySchema(operationalPolicy.loop.getModelService()); - } - else { - // Generic Case - jsonReturned = toscaConverter.convertToscaToJsonSchemaObject( - operationalPolicy.getPolicyModel().getPolicyModelTosca(), - operationalPolicy.getPolicyModel().getPolicyModelType()); - } - - return jsonReturned; + this.updateJsonRepresentation(toscaConverter); } public void setLoop(Loop loopName) { @@ -204,6 +170,28 @@ public class OperationalPolicy extends Policy implements Serializable { this.name = name; } + @Override + public void updateJsonRepresentation(ToscaConverterWithDictionarySupport toscaConverter) { + { + this.setJsonRepresentation(new JsonObject()); + 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())); + } + } + } + @Override public int hashCode() { final int prime = 31; @@ -320,17 +308,4 @@ public class OperationalPolicy extends Policy implements Serializable { logger.info("Guard policy payload: " + result); return result; } - - /** - * Regenerate the Operational Policy Json Representation. - */ - public void updateJsonRepresentation() { - try { - this.setJsonRepresentation( - OperationalPolicyRepresentationBuilder.generateOperationalPolicySchema(loop.getModelService())); - } catch (JsonSyntaxException | IOException | NullPointerException e) { - logger.error("Unable to generate the operational policy Schema ... ", e); - this.setJsonRepresentation(new JsonObject()); - } - } }