Create SVG in UI
[clamp.git] / ui-react / src / api / LoopCache.js
index 3ee5acc..3e19b4f 100644 (file)
@@ -28,10 +28,19 @@ export default class LoopCache {
                this.loopJsonCache=loopJson;
        }
 
-       updateMicroServiceProperties(type, newMsProperties) {
+       updateMicroServiceProperties(name, newMsProperties) {
                        for (var policy in this.loopJsonCache["microServicePolicies"]) {
-                               if (this.loopJsonCache["microServicePolicies"][policy]["name"] === type) {
-                                       this.loopJsonCache["microServicePolicies"][policy]["properties"] = newMsProperties;
+                               if (this.loopJsonCache["microServicePolicies"][policy]["name"] === name) {
+                                       this.loopJsonCache["microServicePolicies"][policy]["configurationsJson"] = newMsProperties;
+                               }
+                       }
+       }
+
+       updateMicroServicePdpGroup(name, pdpGroup, pdpSubgroup) {
+                       for (var policy in this.loopJsonCache["microServicePolicies"]) {
+                               if (this.loopJsonCache["microServicePolicies"][policy]["name"] === name) {
+                                       this.loopJsonCache["microServicePolicies"][policy]["pdpGroup"] = pdpGroup;
+                                       this.loopJsonCache["microServicePolicies"][policy]["pdpSubgroup"] = pdpSubgroup;
                                }
                        }
        }
@@ -40,22 +49,41 @@ export default class LoopCache {
                this.loopJsonCache["globalPropertiesJson"] = newGlobalProperties;
        }
 
-       updateOperationalPolicyProperties(newOpProperties) {
-               this.loopJsonCache["operationalPolicies"] = newOpProperties;
+       updateOperationalPolicyProperties(name, newOpProperties) {
+               for (var policy in this.loopJsonCache["operationalPolicies"]) {
+                               if (this.loopJsonCache["operationalPolicies"][policy]["name"] === name) {
+                                       this.loopJsonCache["operationalPolicies"][policy]["configurationsJson"] = newOpProperties;
+                               }
+                       }
+       }
+
+       updateOperationalPolicyPdpGroup(name, pdpGroup, pdpSubgroup) {
+               for (var policy in this.loopJsonCache["operationalPolicies"]) {
+                       if (this.loopJsonCache["operationalPolicies"][policy]["name"] === name) {
+                               this.loopJsonCache["operationalPolicies"][policy]["pdpGroup"] = pdpGroup;
+                               this.loopJsonCache["operationalPolicies"][policy]["pdpSubgroup"] = pdpSubgroup;
+                       }
+               }
        }
 
        getLoopName() {
                return this.loopJsonCache["name"];
        }
 
-       getOperationalPolicyConfigurationJson() {
-               return this.loopJsonCache["operationalPolicies"]["0"]["configurationsJson"];
+       getOperationalPolicyJsonSchema() {
+               return this.loopJsonCache["operationalPolicies"]["0"]["jsonRepresentation"];
        }
 
        getOperationalPolicies() {
                return this.loopJsonCache["operationalPolicies"];
        }
 
+       getOperationalPoliciesNoJsonSchema() {
+               var operationalPolicies = JSON.parse(JSON.stringify(this.loopJsonCache["operationalPolicies"]));
+               delete operationalPolicies[0]["jsonRepresentation"];
+               return operationalPolicies;
+       }
+
        getGlobalProperties() {
                return this.loopJsonCache["globalPropertiesJson"];
        }
@@ -68,6 +96,84 @@ export default class LoopCache {
                return this.loopJsonCache["microServicePolicies"];
        }
 
+       getOperationalPolicyForName(name) {
+               var opProperties=this.getOperationalPolicies();
+               for (var policy in opProperties) {
+                       if (opProperties[policy]["name"] === name) {
+                               return opProperties[policy];
+                       }
+               }
+               return null;
+       }
+
+       getOperationalPolicyPropertiesForName(name) {
+               var opConfig = this.getOperationalPolicyForName(name);
+               if (opConfig !== null) {
+                       return opConfig["configurationsJson"];
+               }
+               return null;
+       }
+
+       getOperationalPolicyJsonRepresentationForName(name) {
+               var opConfig = this.getOperationalPolicyForName(name);
+               if (opConfig !== null) {
+                       return opConfig["jsonRepresentation"];
+               }
+               return null;
+       }
+
+       getOperationalPolicySupportedPdpGroup(name) {
+               var opConfig=this.getOperationalPolicyForName(name);
+               if (opConfig !== null) {
+                   if (opConfig["policyModel"]["policyPdpGroup"] !== undefined && opConfig["policyModel"]["policyPdpGroup"]["supportedPdpGroups"] !== undefined) {
+                           return opConfig["policyModel"]["policyPdpGroup"]["supportedPdpGroups"];
+                       }
+               }
+               return [];
+       }
+
+       getOperationalPolicyPdpGroup(name) {
+               var opConfig=this.getOperationalPolicyForName(name);
+               if (opConfig !== null) {
+                       return opConfig["pdpGroup"];
+               }
+               return null;
+       }
+
+       getOperationalPolicyPdpSubgroup(name) {
+               var opConfig=this.getOperationalPolicyForName(name);
+               if (opConfig !== null) {
+                       return opConfig["pdpSubgroup"];
+               }
+               return null;
+       }
+
+       getMicroServiceSupportedPdpGroup(name) {
+               var microService=this.getMicroServiceForName(name);
+               if (microService !== null) {
+                   if (microService["policyModel"]["policyPdpGroup"] !== undefined && microService["policyModel"]["policyPdpGroup"]["supportedPdpGroups"] !== undefined) {
+                           return microService["policyModel"]["policyPdpGroup"]["supportedPdpGroups"];
+                       }
+               }
+               return [];
+       }
+
+       getMicroServicePdpGroup(name) {
+               var microService=this.getMicroServiceForName(name);
+               if (microService !== null) {
+                       return microService["pdpGroup"];
+               }
+               return null;
+       }
+
+       getMicroServicePdpSubgroup(name) {
+               var microService=this.getMicroServiceForName(name);
+               if (microService !== null) {
+                       return microService["pdpSubgroup"];
+               }
+               return null;
+       }
+
        getMicroServiceForName(name) {
                var msProperties=this.getMicroServicePolicies();
                for (var policy in msProperties) {
@@ -81,7 +187,7 @@ export default class LoopCache {
        getMicroServicePropertiesForName(name) {
                var msConfig = this.getMicroServiceForName(name);
                if (msConfig !== null) {
-                       return msConfig["properties"];
+                       return msConfig["configurationsJson"];
                }
                return null;
        }
@@ -95,11 +201,11 @@ export default class LoopCache {
        }
 
        getResourceDetailsVfProperty() {
-               return this.loopJsonCache["modelPropertiesJson"]["resourceDetails"]["VF"];
+               return this.loopJsonCache["modelService"]["resourceDetails"]["VF"];
        }
 
        getResourceDetailsVfModuleProperty() {
-               return this.loopJsonCache["modelPropertiesJson"]["resourceDetails"]["VFModule"];
+               return this.loopJsonCache["modelService"]["resourceDetails"]["VFModule"];
        }
 
        getLoopLogsArray() {
@@ -113,4 +219,34 @@ export default class LoopCache {
        getComponentStates() {
                return this.loopJsonCache.components;
        }
+
+       getTemplateName() {
+           if (this.getLoopTemplate() !== undefined) {
+                               return this.getLoopTemplate().name;
+        }
+           return null;
+       }
+
+       getLoopTemplate() {
+               return this.loopJsonCache["loopTemplate"];
+       }
+
+       isOpenLoopTemplate() {
+               var loopTemplate = this.getLoopTemplate();
+               if(loopTemplate != null && loopTemplate["allowedLoopType"] === "OPEN") {
+                       return true;
+               }
+               return false;
+       }
+
+       getAllLoopElementModels() {
+           var loopTemplate = this.getLoopTemplate();
+           var loopElementModels = [];
+           if(loopTemplate != null) {
+               for (var element of loopTemplate['loopElementModelsUsed']) {
+                   loopElementModels.push(element['loopElementModel'])
+               }
+           }
+           return loopElementModels;
+       }
 }