blob: ac2da07f2dee62634fa5e6fa8cf8106c54544306 [file] [log] [blame]
/*-
* ============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;
}
}