Create SVG in UI
[clamp.git] / ui-react / src / api / LoopCache.js
index 80f02f0..3e19b4f 100644 (file)
  * limitations under the License.
  * ============LICENSE_END============================================
  * ===================================================================
- * 
+ *
  */
 
-class LoopCache {
+export default class LoopCache {
        loopJsonCache;
 
        constructor(loopJson) {
                this.loopJsonCache=loopJson;
-               //LoopCache.SET_LOOP_JSON_CACHE(require('./example.json');
        }
 
-       updateMsProperties(type, newMsProperties) {
-               if (newMsProperties["name"] == type) {
+       updateMicroServiceProperties(name, newMsProperties) {
                        for (var policy in this.loopJsonCache["microServicePolicies"]) {
-                               if (this.loopJsonCache["microServicePolicies"][policy]["name"] == type) {
-                                       this.loopJsonCache["microServicePolicies"][policy] = 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;
                                }
                        }
-               }
        }
 
        updateGlobalProperties(newGlobalProperties) {
                this.loopJsonCache["globalPropertiesJson"] = newGlobalProperties;
        }
 
-       updateOpPolicyProperties(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"];
        }
 
-       getOperationalPolicyProperty() {
-               return JSON.parse(JSON.stringify(this.loopJsonCache["operationalPolicies"]["0"]["configurationsJson"]));
+       getOperationalPolicyJsonSchema() {
+               return this.loopJsonCache["operationalPolicies"]["0"]["jsonRepresentation"];
        }
 
        getOperationalPolicies() {
-               return JSON.parse(JSON.stringify(this.loopJsonCache["operationalPolicies"]));
+               return this.loopJsonCache["operationalPolicies"];
        }
 
-       getGlobalProperty() {
-               return JSON.parse(JSON.stringify(this.loopJsonCache["globalPropertiesJson"]));
+       getOperationalPoliciesNoJsonSchema() {
+               var operationalPolicies = JSON.parse(JSON.stringify(this.loopJsonCache["operationalPolicies"]));
+               delete operationalPolicies[0]["jsonRepresentation"];
+               return operationalPolicies;
        }
 
-       getDeploymentProperties() {
-               return JSON.parse(JSON.stringify(this.loopJsonCache["globalPropertiesJson"]["dcaeDeployParameters"]));
+       getGlobalProperties() {
+               return this.loopJsonCache["globalPropertiesJson"];
        }
 
-       getMsJson(type) {
-               var msProperties = this.loopJsonCache["microServicePolicies"];
-               for (var policy in msProperties) {
-                       if (msProperties[policy]["name"] == type) {
-                               return JSON.parse(JSON.stringify(msProperties[policy]));
+       getDcaeDeploymentProperties() {
+               return this.loopJsonCache["globalPropertiesJson"]["dcaeDeployParameters"];
+       }
+
+       getMicroServicePolicies() {
+               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;
        }
 
-       getMsProperty(type) {
-               var msProperties = this.loopJsonCache["microServicePolicies"];
-               for (var policy in msProperties) {
-                       if (msProperties[policy]["name"] == type) {
-                               if (msProperties[policy]["properties"] !== null && msProperties[policy]["properties"] !== undefined) {
-                                       return JSON.parse(JSON.stringify(msProperties[policy]["properties"]));
-                               }
+       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;
        }
 
-       getMsUI(type) {
-               var msProperties = this.loopJsonCache["microServicePolicies"];
+       getMicroServiceForName(name) {
+               var msProperties=this.getMicroServicePolicies();
                for (var policy in msProperties) {
-                       if (msProperties[policy]["name"] == type) {
-                               return JSON.parse(JSON.stringify(msProperties[policy]["jsonRepresentation"]));
+                       if (msProperties[policy]["name"] === name) {
+                               return msProperties[policy];
                        }
                }
                return null;
        }
 
+       getMicroServicePropertiesForName(name) {
+               var msConfig = this.getMicroServiceForName(name);
+               if (msConfig !== null) {
+                       return msConfig["configurationsJson"];
+               }
+               return null;
+       }
+
+       getMicroServiceJsonRepresentationForName(name) {
+               var msConfig = this.getMicroServiceForName(name);
+               if (msConfig !== null) {
+                       return msConfig["jsonRepresentation"];
+               }
+               return null;
+       }
+
        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() {
                return this.loopJsonCache.loopLogs;
        }
 
+       getComputedState() {
+               return this.loopJsonCache.lastComputedState;
+       }
+
        getComponentStates() {
                return this.loopJsonCache.components;
        }
 
-       get getLoopJsonCache() {
-               return this.loopJsonCache;
+       getTemplateName() {
+           if (this.getLoopTemplate() !== undefined) {
+                               return this.getLoopTemplate().name;
+        }
+           return null;
        }
 
-       set setLoopJsonCache(newJson) {
-               this.loopJsonCache = newJson;
+       getLoopTemplate() {
+               return this.loopJsonCache["loopTemplate"];
        }
-}
 
-export const LOOP_CACHE = new LoopCache(require('./example.json'));
+       isOpenLoopTemplate() {
+               var loopTemplate = this.getLoopTemplate();
+               if(loopTemplate != null && loopTemplate["allowedLoopType"] === "OPEN") {
+                       return true;
+               }
+               return false;
+       }
 
-export default LoopCache;
+       getAllLoopElementModels() {
+           var loopTemplate = this.getLoopTemplate();
+           var loopElementModels = [];
+           if(loopTemplate != null) {
+               for (var element of loopTemplate['loopElementModelsUsed']) {
+                   loopElementModels.push(element['loopElementModel'])
+               }
+           }
+           return loopElementModels;
+       }
+}