X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=catalog-ui%2Fsrc%2Fapp%2Futils%2Fcommon-utils.ts;h=92398e871d2ee6c310ce3363548e563617f59852;hb=db333a620e4b8dec6c58009162561b32c83d6bd9;hp=97177949ee34385747b999cffb18182f4e4dece1;hpb=a5445100050e49e83f73424198d73cd72d672a4d;p=sdc.git diff --git a/catalog-ui/src/app/utils/common-utils.ts b/catalog-ui/src/app/utils/common-utils.ts index 97177949ee..92398e871d 100644 --- a/catalog-ui/src/app/utils/common-utils.ts +++ b/catalog-ui/src/app/utils/common-utils.ts @@ -19,10 +19,14 @@ */ import * as _ from "lodash"; -import {Module, AttributeModel, ResourceInstance, PropertyModel, InputFEModel} from "../models"; +import {Module, AttributeModel, ResourceInstance, PropertyModel, InputFEModel, OperationModel} from "../models"; import {ComponentInstanceFactory} from "./component-instance-factory"; import {InputBEModel, PropertyBEModel, RelationshipModel} from "app/models"; import { PolicyInstance } from "app/models/graph/zones/policy-instance"; +import { GroupInstance } from "../models/graph/zones/group-instance"; +import { InterfaceModel } from "../models/operation"; +import {AttributeBEModel} from "../models/attributes-outputs/attribute-be-model"; +import {OutputBEModel} from "../models/attributes-outputs/output-be-model"; export class CommonUtils { @@ -30,7 +34,7 @@ export class CommonUtils { let properties = new Array(); if (propertiesObj) { - _.forEach(propertiesObj, (property:PropertyModel):void => { + propertiesObj.forEach((property:PropertyModel):void => { if (uniqueId) { property.readonly = property.parentUniqueId != uniqueId; } @@ -44,7 +48,7 @@ export class CommonUtils { let attributes = new Array(); if (attributesObj) { - _.forEach(attributesObj, (attribute:AttributeModel):void => { + attributesObj.forEach((attribute:AttributeModel):void => { if (uniqueId) { attribute.readonly = attribute.parentUniqueId != uniqueId; } @@ -58,7 +62,7 @@ export class CommonUtils { let componentInstances = new Array(); if (componentInstanceObj) { - _.forEach(componentInstanceObj, (instance:ResourceInstance):void => { + componentInstanceObj.forEach((instance:ResourceInstance):void => { componentInstances.push(ComponentInstanceFactory.createComponentInstance(instance)); }); } @@ -70,7 +74,7 @@ export class CommonUtils { let modules = new Array(); if (moduleArrayObj) { - _.forEach(moduleArrayObj, (module:Module):void => { + moduleArrayObj.forEach((module:Module):void => { if (module.type === "org.openecomp.groups.VfModule") { modules.push(new Module(module)); } @@ -84,7 +88,7 @@ export class CommonUtils { let inputs = new Array(); if(inputsObj) { - _.forEach(inputsObj, (input: InputBEModel):void => { + inputsObj.forEach((input: InputBEModel):void => { inputs.push(new InputBEModel(input)); }) } @@ -92,12 +96,25 @@ export class CommonUtils { return inputs; } + static initOutputs(outputsObj: Array): Array { + + let outputs = new Array(); + + if(outputsObj) { + outputsObj.forEach((output: OutputBEModel):void => { + outputs.push(new OutputBEModel(output)); + }) + } + + return outputs; + } + static initBeProperties(propertiesObj: Array): Array { let properties = new Array(); if (propertiesObj) { - _.forEach(propertiesObj, (property: PropertyBEModel): void => { + propertiesObj.forEach((property: PropertyBEModel): void => { properties.push(new PropertyBEModel(property)); }) } @@ -105,10 +122,23 @@ export class CommonUtils { return properties; } + static initBeAttributes(attributesObj: Array): Array { + + let attributes = new Array(); + + if (attributesObj) { + attributesObj.forEach((attribute: AttributeBEModel): void => { + attributes.push(new AttributeBEModel(attribute)); + }) + } + + return attributes; + } + static initComponentInstanceRelations = (componentInstanceRelationsObj:Array):Array => { if (componentInstanceRelationsObj) { let componentInstancesRelations: Array = []; - _.forEach(componentInstanceRelationsObj, (instanceRelation:RelationshipModel):void => { + componentInstanceRelationsObj.forEach((instanceRelation:RelationshipModel):void => { componentInstancesRelations.push(new RelationshipModel(instanceRelation)); }); return componentInstancesRelations; @@ -119,12 +149,83 @@ export class CommonUtils { let policies = new Array(); if (policiesObj) { - _.forEach(policiesObj, (policy: PolicyInstance): void => { + policiesObj.forEach((policy: PolicyInstance): void => { policies.push(new PolicyInstance(policy)); }) } return policies; } + static initGroups = (groupsObj: Array):Array => { + let groups = new Array(); + + if(groupsObj) { + groupsObj.forEach((group: GroupInstance):void => { + groups.push(new GroupInstance(group)); + }); + } + + return groups; + } + + static initInterfaces(interfaces: Array): Array { + + return _.map(interfaces, (interf: InterfaceModel) => { + + return new InterfaceModel({ + type: interf.type, + uniqueId: interf.uniqueId, + operations: _.map(interf.operations, + (operation: OperationModel) => { + const newOperation = new OperationModel(operation); + newOperation.interfaceType = interf.type; + newOperation.interfaceId = interf.uniqueId; + + const {inputs, outputs, milestones} = operation; + if (inputs) { + newOperation.createInputsList(inputs.listToscaDataDefinition); + } + if (outputs) { + newOperation.createOutputsList(outputs.listToscaDataDefinition); + } + if (milestones) { + newOperation.milestones = milestones; + } + + return newOperation; + } + ) + }); + + }); + } + + static initInterfaceOperations(interfaces: Array): Array { + + return _.reduce(interfaces, (acc, interf: InterfaceModel) => { + + return acc.concat( + _.map(interf.operations, + (operation: OperationModel) => { + const newOperation = new OperationModel(operation); + newOperation.interfaceType = interf.type; + newOperation.interfaceId = interf.uniqueId; + + const {inputs, outputs} = operation; + if (inputs) { + newOperation.createInputsList(inputs.listToscaDataDefinition); + } + if (outputs) { + newOperation.createOutputsList(outputs.listToscaDataDefinition); + } + + return newOperation; + } + ) + ); + + }, []); + } + }