*/
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 {
let properties = new Array<PropertyModel>();
if (propertiesObj) {
- _.forEach(propertiesObj, (property:PropertyModel):void => {
+ propertiesObj.forEach((property:PropertyModel):void => {
if (uniqueId) {
property.readonly = property.parentUniqueId != uniqueId;
}
let attributes = new Array<AttributeModel>();
if (attributesObj) {
- _.forEach(attributesObj, (attribute:AttributeModel):void => {
+ attributesObj.forEach((attribute:AttributeModel):void => {
if (uniqueId) {
attribute.readonly = attribute.parentUniqueId != uniqueId;
}
let componentInstances = new Array<ResourceInstance>();
if (componentInstanceObj) {
- _.forEach(componentInstanceObj, (instance:ResourceInstance):void => {
+ componentInstanceObj.forEach((instance:ResourceInstance):void => {
componentInstances.push(ComponentInstanceFactory.createComponentInstance(instance));
});
}
let modules = new Array<Module>();
if (moduleArrayObj) {
- _.forEach(moduleArrayObj, (module:Module):void => {
+ moduleArrayObj.forEach((module:Module):void => {
if (module.type === "org.openecomp.groups.VfModule") {
modules.push(new Module(module));
}
let inputs = new Array<InputBEModel>();
if(inputsObj) {
- _.forEach(inputsObj, (input: InputBEModel):void => {
+ inputsObj.forEach((input: InputBEModel):void => {
inputs.push(new InputBEModel(input));
})
}
return inputs;
}
+ static initOutputs(outputsObj: Array<OutputBEModel>): Array<OutputBEModel> {
+
+ let outputs = new Array<OutputBEModel>();
+
+ if(outputsObj) {
+ outputsObj.forEach((output: OutputBEModel):void => {
+ outputs.push(new OutputBEModel(output));
+ })
+ }
+
+ return outputs;
+ }
+
static initBeProperties(propertiesObj: Array<PropertyBEModel>): Array<PropertyBEModel> {
let properties = new Array<PropertyBEModel>();
if (propertiesObj) {
- _.forEach(propertiesObj, (property: PropertyBEModel): void => {
+ propertiesObj.forEach((property: PropertyBEModel): void => {
properties.push(new PropertyBEModel(property));
})
}
return properties;
}
+ static initBeAttributes(attributesObj: Array<AttributeBEModel>): Array<AttributeBEModel> {
+
+ let attributes = new Array<AttributeBEModel>();
+
+ if (attributesObj) {
+ attributesObj.forEach((attribute: AttributeBEModel): void => {
+ attributes.push(new AttributeBEModel(attribute));
+ })
+ }
+
+ return attributes;
+ }
+
static initComponentInstanceRelations = (componentInstanceRelationsObj:Array<RelationshipModel>):Array<RelationshipModel> => {
if (componentInstanceRelationsObj) {
let componentInstancesRelations: Array<RelationshipModel> = [];
- _.forEach(componentInstanceRelationsObj, (instanceRelation:RelationshipModel):void => {
+ componentInstanceRelationsObj.forEach((instanceRelation:RelationshipModel):void => {
componentInstancesRelations.push(new RelationshipModel(instanceRelation));
});
return componentInstancesRelations;
let policies = new Array<PolicyInstance>();
if (policiesObj) {
- _.forEach(policiesObj, (policy: PolicyInstance): void => {
+ policiesObj.forEach((policy: PolicyInstance): void => {
policies.push(new PolicyInstance(policy));
})
}
return policies;
}
+ static initGroups = (groupsObj: Array<GroupInstance>):Array<GroupInstance> => {
+ let groups = new Array<GroupInstance>();
+
+ if(groupsObj) {
+ groupsObj.forEach((group: GroupInstance):void => {
+ groups.push(new GroupInstance(group));
+ });
+ }
+
+ return groups;
+ }
+
+ static initInterfaces(interfaces: Array<InterfaceModel>): Array<InterfaceModel> {
+
+ 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<InterfaceModel>): Array<OperationModel> {
+
+ 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;
+ }
+ )
+ );
+
+ }, []);
+ }
+
}