diff options
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/org/onap/clamp/loop/CsarInstaller.java | 7 | ||||
-rw-r--r-- | src/main/java/org/onap/clamp/loop/LoopController.java | 10 | ||||
-rw-r--r-- | src/main/java/org/onap/clamp/loop/LoopService.java | 16 | ||||
-rw-r--r-- | src/main/java/org/onap/clamp/loop/deploy/DcaeDeployParameters.java (renamed from src/main/java/org/onap/clamp/loop/deploy/DeployParameters.java) | 59 | ||||
-rw-r--r-- | src/main/java/org/onap/clamp/policy/operational/OperationalPolicy.java | 15 |
5 files changed, 71 insertions, 36 deletions
diff --git a/src/main/java/org/onap/clamp/loop/CsarInstaller.java b/src/main/java/org/onap/clamp/loop/CsarInstaller.java index 371f88e8b..16351b820 100644 --- a/src/main/java/org/onap/clamp/loop/CsarInstaller.java +++ b/src/main/java/org/onap/clamp/loop/CsarInstaller.java @@ -31,7 +31,6 @@ import java.io.IOException; import java.util.Arrays; import java.util.HashSet; import java.util.List; -import java.util.Map; import java.util.Map.Entry; import org.json.simple.parser.ParseException; @@ -45,7 +44,7 @@ import org.onap.clamp.clds.sdc.controller.installer.CsarHandler; import org.onap.clamp.clds.sdc.controller.installer.MicroService; import org.onap.clamp.clds.util.JsonUtils; import org.onap.clamp.clds.util.drawing.SvgFacade; -import org.onap.clamp.loop.deploy.DeployParameters; +import org.onap.clamp.loop.deploy.DcaeDeployParameters; import org.onap.clamp.loop.service.Service; import org.onap.clamp.loop.service.ServiceRepository; import org.onap.clamp.policy.Policy; @@ -98,7 +97,7 @@ public class CsarInstaller { @Autowired private SvgFacade svgFacade; - /** + /** * Verify whether Csar is deployed. * * @param csar The Csar Handler @@ -241,7 +240,7 @@ public class CsarInstaller { } private JsonObject createGlobalPropertiesJson(BlueprintArtifact blueprintArtifact, Loop newLoop) { - return new DeployParameters(blueprintArtifact, newLoop).getDeploymentParametersinJson(); + return DcaeDeployParameters.getDcaeDeploymentParametersInJson(blueprintArtifact, newLoop); } private static JsonObject createVfModuleProperties(CsarHandler csar) { diff --git a/src/main/java/org/onap/clamp/loop/LoopController.java b/src/main/java/org/onap/clamp/loop/LoopController.java index 72726fa3f..64874a32d 100644 --- a/src/main/java/org/onap/clamp/loop/LoopController.java +++ b/src/main/java/org/onap/clamp/loop/LoopController.java @@ -117,4 +117,14 @@ public class LoopController { Loop loop = loopService.getLoop(loopName); return loop != null ? loop.getSvgRepresentation() : null; } + + /** + * Refresh the Operational Policy Json representation of the loop. + * + * @param loopName The loop name + * @return The refreshed Loop + */ + public Loop refreshOpPolicyJsonRepresentation(String loopName) { + return loopService.refreshOpPolicyJsonRepresentation(loopName); + } } diff --git a/src/main/java/org/onap/clamp/loop/LoopService.java b/src/main/java/org/onap/clamp/loop/LoopService.java index 85e24cd00..e52029662 100644 --- a/src/main/java/org/onap/clamp/loop/LoopService.java +++ b/src/main/java/org/onap/clamp/loop/LoopService.java @@ -105,4 +105,20 @@ public class LoopService { return loopsRepository.findById(loopName) .orElseThrow(() -> new EntityNotFoundException("Couldn't find closed loop named: " + loopName)); } + + /** + * Api to refresh the Operational Policy UI window. + * + * @param loopName The loop Name + * @return The refreshed loop object + */ + public Loop refreshOpPolicyJsonRepresentation(String loopName) { + Loop loop = findClosedLoopByName(loopName); + Set<OperationalPolicy> policyList = loop.getOperationalPolicies(); + for (OperationalPolicy policy : policyList) { + policy.updateJsonRepresentation(); + } + loop.setOperationalPolicies(policyList); + return loopsRepository.save(loop); + } } diff --git a/src/main/java/org/onap/clamp/loop/deploy/DeployParameters.java b/src/main/java/org/onap/clamp/loop/deploy/DcaeDeployParameters.java index c994af7c0..1a75f71e6 100644 --- a/src/main/java/org/onap/clamp/loop/deploy/DeployParameters.java +++ b/src/main/java/org/onap/clamp/loop/deploy/DcaeDeployParameters.java @@ -35,33 +35,14 @@ import org.onap.clamp.loop.Loop; import org.onap.clamp.policy.microservice.MicroServicePolicy; import org.yaml.snakeyaml.Yaml; -public class DeployParameters { - - private LinkedHashMap<String, JsonObject> deploymentParamMap = new LinkedHashMap<String, JsonObject>(); - - /** - * Constructor. - * - * @param blueprintArtifactList A list of blueprint artifacts - * @param loop The loop object - */ - public DeployParameters(LinkedHashSet<BlueprintArtifact> blueprintArtifactList, Loop loop) { - this.init(blueprintArtifactList, loop); - } - - /** - * Constructor. - * - * @param blueprintArtifact One blueprint artifact - * @param loop The loop object - */ - public DeployParameters(BlueprintArtifact blueprintArtifact, Loop loop) { - LinkedHashSet<BlueprintArtifact> blueprintArtifactList = new LinkedHashSet<BlueprintArtifact>(); - blueprintArtifactList.add(blueprintArtifact); - this.init(blueprintArtifactList, loop); - } +/** + * To decode the bluprint input parameters. + */ +public class DcaeDeployParameters { - private void init(LinkedHashSet<BlueprintArtifact> blueprintArtifactList, Loop loop) { + private static LinkedHashMap<String, JsonObject> init(LinkedHashSet<BlueprintArtifact> blueprintArtifactList, + Loop loop) { + LinkedHashMap<String, JsonObject> deploymentParamMap = new LinkedHashMap<String, JsonObject>(); String microServiceName = ((MicroServicePolicy) loop.getMicroServicePolicies().toArray()[0]).getName(); // Add index to the microservice name from the 2nd blueprint artifact for now. // Update the microservice names, when able to link the microserivce <-> blueprint in the future @@ -69,15 +50,18 @@ public class DeployParameters { for (BlueprintArtifact blueprintArtifact: blueprintArtifactList) { if (index > 0) { deploymentParamMap.put(microServiceName + index, - generateDeployParameter(blueprintArtifact, microServiceName)); + generateDcaeDeployParameter(blueprintArtifact, microServiceName)); } else { - deploymentParamMap.put(microServiceName, generateDeployParameter(blueprintArtifact, microServiceName)); + deploymentParamMap.put(microServiceName, + generateDcaeDeployParameter(blueprintArtifact, microServiceName)); } index++; } + return deploymentParamMap; } - private JsonObject generateDeployParameter(BlueprintArtifact blueprintArtifact, String microServiceName) { + private static JsonObject generateDcaeDeployParameter(BlueprintArtifact blueprintArtifact, + String microServiceName) { JsonObject deployJsonBody = new JsonObject(); Yaml yaml = new Yaml(); Map<String, Object> inputsNodes = ((Map<String, Object>) ((Map<String, Object>) yaml @@ -95,7 +79,7 @@ public class DeployParameters { return deployJsonBody; } - private void addPropertyToNode(JsonObject node, String key, Object value) { + private static void addPropertyToNode(JsonObject node, String key, Object value) { if (value instanceof String) { node.addProperty(key, (String) value); } else if (value instanceof Number) { @@ -114,7 +98,10 @@ public class DeployParameters { * * @return The deploymentParameters in Json */ - public JsonObject getDeploymentParametersinJson() { + public static JsonObject getDcaeDeploymentParametersInJson(LinkedHashSet<BlueprintArtifact> blueprintArtifactList, + Loop loop) { + LinkedHashMap<String, JsonObject> deploymentParamMap = init(blueprintArtifactList, loop); + JsonObject globalProperties = new JsonObject(); JsonObject deployParamJson = new JsonObject(); for (Map.Entry<String, JsonObject> mapElement: deploymentParamMap.entrySet()) { @@ -124,4 +111,14 @@ public class DeployParameters { return globalProperties; } + /** + * Convert the object in Json. + * + * @return The deploymentParameters in Json + */ + public static JsonObject getDcaeDeploymentParametersInJson(BlueprintArtifact blueprintArtifact, Loop loop) { + LinkedHashSet<BlueprintArtifact> blueprintArtifactList = new LinkedHashSet<BlueprintArtifact>(); + blueprintArtifactList.add(blueprintArtifact); + return getDcaeDeploymentParametersInJson(blueprintArtifactList, loop); + } } 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 e8bf4a655..d9e8a57d6 100644 --- a/src/main/java/org/onap/clamp/policy/operational/OperationalPolicy.java +++ b/src/main/java/org/onap/clamp/policy/operational/OperationalPolicy.java @@ -174,7 +174,7 @@ public class OperationalPolicy implements Serializable, Policy { @Override public JsonObject getJsonRepresentation() { - return jsonRepresentation; + return jsonRepresentation; } void setJsonRepresentation(JsonObject jsonRepresentation) { @@ -282,4 +282,17 @@ public class OperationalPolicy implements Serializable, Policy { return result; } + /** + * Regenerate the Operational Policy Json Representation. + * + */ + public void updateJsonRepresentation() { + try { + this.jsonRepresentation = OperationalPolicyRepresentationBuilder + .generateOperationalPolicySchema(loop.getModelService()); + } catch (JsonSyntaxException | IOException | NullPointerException e) { + logger.error("Unable to generate the operational policy Schema ... ", e); + this.jsonRepresentation = new JsonObject(); + } + } } |