| /*- |
| * ============LICENSE_START======================================================= |
| * ONAP CLAMP |
| * ================================================================================ |
| * Copyright (C) 2019 AT&T Intellectual Property. All rights |
| * reserved. |
| * ================================================================================ |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| * ============LICENSE_END============================================ |
| * =================================================================== |
| * |
| */ |
| |
| export default class LoopCache { |
| loopJsonCache; |
| |
| constructor(loopJson) { |
| this.loopJsonCache = loopJson; |
| } |
| |
| updateMicroServiceProperties(name, newMsProperties) { |
| for (var policy in this.loopJsonCache["microServicePolicies"]) { |
| 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; |
| } |
| |
| 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"]; |
| } |
| |
| 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"]; |
| } |
| |
| 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; |
| } |
| |
| 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) { |
| 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["modelService"]["resourceDetails"]["VF"]; |
| } |
| |
| getResourceDetailsVfModuleProperty() { |
| return this.loopJsonCache["modelService"]["resourceDetails"]["VFModule"]; |
| } |
| |
| getLoopLogsArray() { |
| return this.loopJsonCache.loopLogs; |
| } |
| |
| getComputedState() { |
| return this.loopJsonCache.lastComputedState; |
| } |
| |
| 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; |
| } |
| } |