diff options
author | xuegao <xg353y@intl.att.com> | 2020-03-11 11:22:15 +0100 |
---|---|---|
committer | xuegao <xg353y@intl.att.com> | 2020-03-13 16:16:54 +0100 |
commit | fb4b25f6827accf6f975f9ca9a7aaee08d335c2f (patch) | |
tree | d3cea2040049a9b73fcdd94f79758dd52c75b758 /src/main/java | |
parent | 5c3a825851bb1a345620c5c4951726c5b94a0341 (diff) |
Add remove op policy option
Update the UI and backend code to be able to remove op policy for loop
instances.
Issue-ID: CLAMP-648
Change-Id: Ib3eab4977fe4f1b85e11f2373263197009bbc3e1
Signed-off-by: xuegao <xg353y@intl.att.com>
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/org/onap/clamp/loop/Loop.java | 11 | ||||
-rw-r--r-- | src/main/java/org/onap/clamp/loop/LoopController.java | 12 | ||||
-rw-r--r-- | src/main/java/org/onap/clamp/loop/LoopService.java | 26 |
3 files changed, 48 insertions, 1 deletions
diff --git a/src/main/java/org/onap/clamp/loop/Loop.java b/src/main/java/org/onap/clamp/loop/Loop.java index f185460cf..2bf3decd6 100644 --- a/src/main/java/org/onap/clamp/loop/Loop.java +++ b/src/main/java/org/onap/clamp/loop/Loop.java @@ -271,6 +271,17 @@ public class Loop extends AuditEntity implements Serializable { } /** + * This method removes an operational policy to the loop. + * It re-computes the Svg as well. + * + * @param opPolicy the operationalPolicy to add + */ + public void removeOperationalPolicy(OperationalPolicy opPolicy) { + operationalPolicies.remove(opPolicy); + this.setSvgRepresentation(SvgLoopGenerator.getSvgImage(this)); + } + + /** * This method adds an micro service policy to the loop. * It re-computes the Svg as well. * diff --git a/src/main/java/org/onap/clamp/loop/LoopController.java b/src/main/java/org/onap/clamp/loop/LoopController.java index 1a67455e8..1a4ae5997 100644 --- a/src/main/java/org/onap/clamp/loop/LoopController.java +++ b/src/main/java/org/onap/clamp/loop/LoopController.java @@ -110,6 +110,18 @@ public class LoopController { } /** + * This method remove an operational policy to a loop instance. + * + * @param loopName The loop name + * @param policyType The policy model type + * @param policyVersion The policy model version + * @return The loop modified + */ + public Loop removeOperationalPolicy(String loopName, String policyType, String policyVersion) { + return loopService.removeOperationalPolicy(loopName, policyType, policyVersion); + } + + /** * This method deletes the loop. * * @param loopName The loop Name diff --git a/src/main/java/org/onap/clamp/loop/LoopService.java b/src/main/java/org/onap/clamp/loop/LoopService.java index 98a2fbddc..953a59471 100644 --- a/src/main/java/org/onap/clamp/loop/LoopService.java +++ b/src/main/java/org/onap/clamp/loop/LoopService.java @@ -120,7 +120,31 @@ public class LoopService { new OperationalPolicy(Policy.generatePolicyName("OPERATIONAL", loop.getModelService().getName(), loop.getModelService().getVersion(), RandomStringUtils.randomAlphanumeric(3), RandomStringUtils.randomAlphanumeric(4)), loop, null, policyModel, null, null, null)); - return loopsRepository.save(loop); + return loopsRepository.saveAndFlush(loop); + } + + /** + * This method remove an operational policy to a loop instance. + * + * @param loopName The loop name + * @param policyType The policy model type + * @param policyVersion The policy model version + * @return The loop modified + */ + Loop removeOperationalPolicy(String loopName, String policyType, String policyVersion) { + Loop loop = getLoop(loopName); + PolicyModel policyModel = policyModelsService.getPolicyModel(policyType, policyVersion); + if (policyModel == null) { + return null; + } + for (OperationalPolicy opPolicy : loop.getOperationalPolicies()) { + if (opPolicy.getPolicyModel().getPolicyModelType().equals(policyType) && + opPolicy.getPolicyModel().getVersion().equals(policyVersion)) { + loop.removeOperationalPolicy(opPolicy); + break; + } + } + return loopsRepository.saveAndFlush(loop); } Loop updateAndSaveOperationalPolicies(String loopName, List<OperationalPolicy> newOperationalPolicies) { |