summaryrefslogtreecommitdiffstats
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/Loop.java26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/main/java/org/onap/clamp/loop/Loop.java b/src/main/java/org/onap/clamp/loop/Loop.java
index a24d3449f..83f938dde 100644
--- a/src/main/java/org/onap/clamp/loop/Loop.java
+++ b/src/main/java/org/onap/clamp/loop/Loop.java
@@ -23,6 +23,8 @@
package org.onap.clamp.loop;
+import com.google.gson.GsonBuilder;
+import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.annotations.Expose;
@@ -257,6 +259,30 @@ public class Loop implements Serializable {
return buffer.toString().replace('.', '_').replaceAll(" ", "");
}
+ public String createPoliciesPayloadPdpGroup() {
+ JsonObject jsonObject = new JsonObject();
+ JsonArray jsonArray = new JsonArray();
+ jsonObject.add("policies", jsonArray);
+
+ for (OperationalPolicy opPolicy : this.getOperationalPolicies()) {
+ JsonObject policyNode = new JsonObject();
+ jsonArray.add(policyNode);
+ policyNode.addProperty("policy-id", opPolicy.getName());
+
+ for (String guardName : opPolicy.createGuardPolicyPayloads().keySet()) {
+ JsonObject guardPolicyNode = new JsonObject();
+ jsonArray.add(guardPolicyNode);
+ guardPolicyNode.addProperty("policy-id", guardName);
+ }
+ }
+ for (MicroServicePolicy microServicePolicy : this.getMicroServicePolicies()) {
+ JsonObject policyNode = new JsonObject();
+ jsonArray.add(policyNode);
+ policyNode.addProperty("policy-id", microServicePolicy.getName());
+ }
+ return new GsonBuilder().setPrettyPrinting().create().toJson(jsonObject);
+ }
+
@Override
public int hashCode() {
final int prime = 31;