More modular approach
Modular approach for React components and CSS + theming
Issue-ID: CLAMP-418
Change-Id: I359f31e92492ae75ac26ef297abde822c6cd56ea
Signed-off-by: sebdet <sebastien.determe@intl.att.com>
diff --git a/ui-react/src/components/backend_communication/LoopCache.js b/ui-react/src/components/backend_communication/LoopCache.js
new file mode 100644
index 0000000..7fd2059
--- /dev/null
+++ b/ui-react/src/components/backend_communication/LoopCache.js
@@ -0,0 +1,116 @@
+/*-
+ * ============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============================================
+ * ===================================================================
+ *
+ */
+class LoopCache
+{
+ constructor(loopJson) {
+ this.loopJsonCache=loopJson;
+ }
+
+ updateMsProperties(type, newMsProperties) {
+ if (newMsProperties["name"] == type) {
+ for (p in this.loopJsonCache["microServicePolicies"]) {
+ if (this.loopJsonCache["microServicePolicies"][p]["name"] == type) {
+ this.loopJsonCache["microServicePolicies"][p] = newMsProperties;
+ }
+ }
+ }
+ }
+
+ updateGlobalProperties(newGlobalProperties) {
+ this.loopJsonCache["globalPropertiesJson"] = newGlobalProperties;
+ }
+
+ updateOpPolicyProperties(newOpProperties) {
+ this.loopJsonCache["operationalPolicies"] = newOpProperties;
+ }
+
+ getLoopName() {
+ return this.loopJsonCache["name"];
+ }
+
+ getOperationalPolicyProperty() {
+ return JSON.parse(JSON.stringify(this.loopJsonCache["operationalPolicies"]["0"]["configurationsJson"]));
+ }
+
+ getOperationalPolicies() {
+ return JSON.parse(JSON.stringify(this.loopJsonCache["operationalPolicies"]));
+ }
+
+ getGlobalProperty() {
+ return JSON.parse(JSON.stringify(this.loopJsonCache["globalPropertiesJson"]));
+ }
+
+ getDeploymentProperties() {
+ return JSON.parse(JSON.stringify(this.loopJsonCache["globalPropertiesJson"]["dcaeDeployParameters"]));
+ }
+
+ getMsJson(type) {
+ var msProperties = this.loopJsonCache["microServicePolicies"];
+ for (p in msProperties) {
+ if (msProperties[p]["name"] == type) {
+ return JSON.parse(JSON.stringify(msProperties[p]));
+ }
+ }
+ return null;
+ }
+
+ getMsProperty(type) {
+ var msProperties = this.loopJsonCache["microServicePolicies"];
+ for (p in msProperties) {
+ if (msProperties[p]["name"] == type) {
+ if (msProperties[p]["properties"] !== null && msProperties[p]["properties"] !== undefined) {
+ return JSON.parse(JSON.stringify(msProperties[p]["properties"]));
+ }
+ }
+ }
+ return null;
+ }
+
+ getMsUI(type) {
+ var msProperties = this.loopJsonCache["microServicePolicies"];
+ for (p in msProperties) {
+ if (msProperties[p]["name"] == type) {
+ return JSON.parse(JSON.stringify(msProperties[p]["jsonRepresentation"]));
+ }
+ }
+ return null;
+ }
+
+ getResourceDetailsVfProperty() {
+ return this.loopJsonCache["modelPropertiesJson"]["resourceDetails"]["VF"];
+ }
+
+ getResourceDetailsVfModuleProperty() {
+ return this.loopJsonCache["modelPropertiesJson"]["resourceDetails"]["VFModule"];
+ }
+
+ getLoopLogsArray() {
+ return this.loopJsonCache.loopLogs;
+ }
+
+ getComponentStates() {
+ return this.loopJsonCache.components;
+ }
+
+}
+export default LoopCache;