aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/onap/clamp/loop/LoopController.java10
-rw-r--r--src/main/java/org/onap/clamp/loop/LoopService.java10
-rw-r--r--src/main/java/org/onap/clamp/policy/operational/OperationalPolicy.java9
3 files changed, 29 insertions, 0 deletions
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 d1ab0e396..303ae683a 100644
--- a/src/main/java/org/onap/clamp/loop/LoopService.java
+++ b/src/main/java/org/onap/clamp/loop/LoopService.java
@@ -111,4 +111,14 @@ public class LoopService {
return loopsRepository.findById(loopName)
.orElseThrow(() -> new EntityNotFoundException("Couldn't find closed loop named: " + loopName));
}
+
+ 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/policy/operational/OperationalPolicy.java b/src/main/java/org/onap/clamp/policy/operational/OperationalPolicy.java
index 14112694e..486210ea9 100644
--- a/src/main/java/org/onap/clamp/policy/operational/OperationalPolicy.java
+++ b/src/main/java/org/onap/clamp/policy/operational/OperationalPolicy.java
@@ -247,4 +247,13 @@ public class OperationalPolicy implements Serializable, Policy {
return result;
}
+ 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();
+ }
+ }
}