blob: 97177949ee34385747b999cffb18182f4e4dece1 [file] [log] [blame]
Michael Landodd603392017-07-12 00:54:52 +03001/*-
2 * ============LICENSE_START=======================================================
3 * SDC
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
10 *
11 * http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
19 */
20
Michael Landoa5445102018-03-04 14:53:33 +020021import * as _ from "lodash";
Michael Landoed64b5e2017-06-09 03:19:04 +030022import {Module, AttributeModel, ResourceInstance, PropertyModel, InputFEModel} from "../models";
23import {ComponentInstanceFactory} from "./component-instance-factory";
Tal Gitelmaned7e1c32017-06-29 19:30:00 +030024import {InputBEModel, PropertyBEModel, RelationshipModel} from "app/models";
Michael Landoa5445102018-03-04 14:53:33 +020025import { PolicyInstance } from "app/models/graph/zones/policy-instance";
Michael Landoed64b5e2017-06-09 03:19:04 +030026
27export class CommonUtils {
28
29 static initProperties(propertiesObj:Array<PropertyModel>, uniqueId?:string):Array<PropertyModel> {
30
31 let properties = new Array<PropertyModel>();
32 if (propertiesObj) {
33 _.forEach(propertiesObj, (property:PropertyModel):void => {
34 if (uniqueId) {
35 property.readonly = property.parentUniqueId != uniqueId;
36 }
37 properties.push(new PropertyModel(property));
38 });
39 }
40 return properties;
41 };
42
43 static initAttributes(attributesObj:Array<AttributeModel>, uniqueId?:string):Array<AttributeModel> {
44
45 let attributes = new Array<AttributeModel>();
46 if (attributesObj) {
47 _.forEach(attributesObj, (attribute:AttributeModel):void => {
48 if (uniqueId) {
49 attribute.readonly = attribute.parentUniqueId != uniqueId;
50 }
51 attributes.push(new AttributeModel(attribute));
52 });
53 }
54 return attributes;
55 };
56
57 static initComponentInstances(componentInstanceObj:Array<ResourceInstance>):Array<ResourceInstance> {
58
59 let componentInstances = new Array<ResourceInstance>();
60 if (componentInstanceObj) {
61 _.forEach(componentInstanceObj, (instance:ResourceInstance):void => {
62 componentInstances.push(ComponentInstanceFactory.createComponentInstance(instance));
63 });
64 }
65 return componentInstances;
66 };
67
68 static initModules(moduleArrayObj:Array<Module>):Array<Module> {
69
70 let modules = new Array<Module>();
71
72 if (moduleArrayObj) {
73 _.forEach(moduleArrayObj, (module:Module):void => {
74 if (module.type === "org.openecomp.groups.VfModule") {
75 modules.push(new Module(module));
76 }
77 });
78 }
79 return modules;
80 };
81
Tal Gitelmaned7e1c32017-06-29 19:30:00 +030082 static initInputs(inputsObj: Array<InputBEModel>): Array<InputBEModel> {
Michael Landoed64b5e2017-06-09 03:19:04 +030083
Tal Gitelmaned7e1c32017-06-29 19:30:00 +030084 let inputs = new Array<InputBEModel>();
Michael Landoed64b5e2017-06-09 03:19:04 +030085
86 if(inputsObj) {
Tal Gitelmaned7e1c32017-06-29 19:30:00 +030087 _.forEach(inputsObj, (input: InputBEModel):void => {
88 inputs.push(new InputBEModel(input));
Michael Landoed64b5e2017-06-09 03:19:04 +030089 })
90 }
91
92 return inputs;
93 }
94
95 static initBeProperties(propertiesObj: Array<PropertyBEModel>): Array<PropertyBEModel> {
96
97 let properties = new Array<PropertyBEModel>();
98
99 if (propertiesObj) {
100 _.forEach(propertiesObj, (property: PropertyBEModel): void => {
101 properties.push(new PropertyBEModel(property));
102 })
103 }
104
105 return properties;
106 }
107
108 static initComponentInstanceRelations = (componentInstanceRelationsObj:Array<RelationshipModel>):Array<RelationshipModel> => {
109 if (componentInstanceRelationsObj) {
110 let componentInstancesRelations: Array<RelationshipModel> = [];
111 _.forEach(componentInstanceRelationsObj, (instanceRelation:RelationshipModel):void => {
112 componentInstancesRelations.push(new RelationshipModel(instanceRelation));
113 });
114 return componentInstancesRelations;
115 }
116 };
Michael Landoa5445102018-03-04 14:53:33 +0200117
118 static initPolicies = (policiesObj: Array<PolicyInstance>):Array<PolicyInstance> => {
119 let policies = new Array<PolicyInstance>();
120
121 if (policiesObj) {
122 _.forEach(policiesObj, (policy: PolicyInstance): void => {
123 policies.push(new PolicyInstance(policy));
124 })
125 }
126
127 return policies;
128 }
Michael Landoed64b5e2017-06-09 03:19:04 +0300129}
130