diff options
Diffstat (limited to 'vid-webpack-master/src/app/shared/services/defaultDataServiceGenerator/default.data.generator.service.ts')
-rw-r--r-- | vid-webpack-master/src/app/shared/services/defaultDataServiceGenerator/default.data.generator.service.ts | 86 |
1 files changed, 71 insertions, 15 deletions
diff --git a/vid-webpack-master/src/app/shared/services/defaultDataServiceGenerator/default.data.generator.service.ts b/vid-webpack-master/src/app/shared/services/defaultDataServiceGenerator/default.data.generator.service.ts index e00b259a0..1bf698463 100644 --- a/vid-webpack-master/src/app/shared/services/defaultDataServiceGenerator/default.data.generator.service.ts +++ b/vid-webpack-master/src/app/shared/services/defaultDataServiceGenerator/default.data.generator.service.ts @@ -1,6 +1,5 @@ import {Injectable} from '@angular/core'; import * as _ from 'lodash'; - import {NgRedux} from '@angular-redux/store'; import {AppState} from '../../store/reducers'; import {VnfTreeNode} from "../../models/vnfTreeNode"; @@ -21,12 +20,15 @@ import {VnfGroupTreeNode} from "../../models/vnfGroupTreeNode"; import {ModelInfo} from "../../models/modelInfo"; import {ServiceInstanceActions} from "../../models/serviceInstanceActions"; import Parameter = Constants.Parameter; +import {createPNFInstance} from "../../storeUtil/utils/pnf/pnf.actions"; +import {FeatureFlagsService, Features} from "../featureFlag/feature-flags.service"; @Injectable() export class DefaultDataGeneratorService { static controlsFieldsStatus = {}; public requiredFields = { VF: [InputType.LCP_REGION, InputType.TENANT, InputType.PLATFORM], + PNF: [InputType.PLATFORM], Network: [InputType.LCP_REGION, InputType.TENANT, InputType.PLATFORM], VL: [InputType.LCP_REGION, InputType.TENANT, InputType.PLATFORM], VFmodule: [], @@ -65,11 +67,10 @@ export class DefaultDataGeneratorService { break; } if (Utils.hasContents(inputs[key][Parameter.CONSTRAINTS]) - && ( inputs[key][Parameter.CONSTRAINTS].length > 0 )) { + && (inputs[key][Parameter.CONSTRAINTS].length > 0)) { let constraintsArray = inputs[key][Parameter.CONSTRAINTS]; this.addConstraintParameters(parameterList, constraintsArray, key, inputs, parameter); - } - else { + } else { parameterList.push(parameter); } @@ -97,8 +98,8 @@ export class DefaultDataGeneratorService { name: constraintsArray[i][Parameter.VALID_VALUES][j], isDefault: false }; - if ((Utils.hasContents(inputs[key][Parameter.DEFAULT]) ) - && (inputs[key][Parameter.DEFAULT] === constraintsArray[i][Parameter.VALID_VALUES][j] )) { + if ((Utils.hasContents(inputs[key][Parameter.DEFAULT])) + && (inputs[key][Parameter.DEFAULT] === constraintsArray[i][Parameter.VALID_VALUES][j])) { option = { name: constraintsArray[i][Parameter.VALID_VALUES][j], isDefault: true @@ -180,14 +181,13 @@ export class DefaultDataGeneratorService { return _.isEmpty(displayInputs) ? [] : this.getArbitraryInputs(displayInputs); } - updateNetworksOnFirstSet(serviceId: string, formServiceValues: any){ + updateNetworksOnFirstSet(serviceId: string, formServiceValues: any) { const serviceHierarchy = this.store.getState().service.serviceHierarchy[serviceId]; if (serviceHierarchy && !_.isEmpty(serviceHierarchy.networks)) { for (let networkUUID in serviceHierarchy.networks) { const isEcompGeneratedNaming = this.getIsEcompGeneratedNaming(serviceHierarchy.networks[networkUUID]); let min_vnf_instances_greater_than_0 = serviceHierarchy.networks[networkUUID].properties['min_instances'] && serviceHierarchy.networks[networkUUID].properties['min_instances'] > 0; - if(min_vnf_instances_greater_than_0) - { + if (min_vnf_instances_greater_than_0) { this.createNetworkInstanceReduxIfNotExist( serviceId, this.generateNetworkData(serviceHierarchy, networkUUID, formServiceValues, isEcompGeneratedNaming) @@ -197,14 +197,13 @@ export class DefaultDataGeneratorService { } } - updateVnfGroupsOnFirstSet(serviceId: string, formServiceValues: any){ + updateVnfGroupsOnFirstSet(serviceId: string, formServiceValues: any) { const serviceHierarchy = this.store.getState().service.serviceHierarchy[serviceId]; if (serviceHierarchy && !_.isEmpty(serviceHierarchy.vnfGroups)) { for (let vnfGroupUUID in serviceHierarchy.vnfGroups) { const isEcompGeneratedNaming = this.getIsEcompGeneratedNaming(serviceHierarchy.vnfGroups[vnfGroupUUID]); let min_vnf_group_instances_greater_than_0 = serviceHierarchy.vnfGroups[vnfGroupUUID].properties['min_instances'] && serviceHierarchy.vnfGroups[vnfGroupUUID].properties['min_instances'] > 0; - if(min_vnf_group_instances_greater_than_0) - { + if (min_vnf_group_instances_greater_than_0) { this.createVnfGroupInstanceReduxIfNotExist( serviceId, this.generateVnfGroupData(serviceHierarchy, vnfGroupUUID, formServiceValues, isEcompGeneratedNaming) @@ -214,9 +213,38 @@ export class DefaultDataGeneratorService { } } + updatePnfsOnFirstSet(serviceId: string, formServiceValues: any) { + const serviceHierarchy = this.store.getState().service.serviceHierarchy[serviceId]; + if (serviceHierarchy && !_.isEmpty(serviceHierarchy.pnfs)) { + for (let pnfUUID in serviceHierarchy.pnfs) { + if (this.isMinInstancesGreaterThanZero(serviceHierarchy, pnfUUID) && this.isExtendedMacroPnfConfigOn()) { + this.createPNFInstanceReduxIfNotExist( + serviceId, + this.generatePNFData( + serviceHierarchy, + pnfUUID, + formServiceValues, + this.getIsEcompGeneratedNaming(serviceHierarchy.pnfs[pnfUUID]) + ) + ); + } + } + } + } + + isExtendedMacroPnfConfigOn(): boolean { + return FeatureFlagsService.getFlagState(Features.FLAG_EXTENDED_MACRO_PNF_CONFIG, this.store) + } + + isMinInstancesGreaterThanZero(serviceHierarchy, pnfUUID): boolean { + return serviceHierarchy.pnfs[pnfUUID].properties['min_instances'] + && serviceHierarchy.pnfs[pnfUUID].properties['min_instances'] > 0; + } + updateReduxOnFirstSet(serviceId: string, formServiceValues: any): void { this.updateNetworksOnFirstSet(serviceId, formServiceValues); this.updateVnfGroupsOnFirstSet(serviceId, formServiceValues); + this.updatePnfsOnFirstSet(serviceId, formServiceValues); const serviceHierarchy = this.store.getState().service.serviceHierarchy[serviceId]; if (serviceHierarchy && !_.isEmpty(serviceHierarchy.vnfs)) { for (let vnfUUID in serviceHierarchy.vnfs) { @@ -245,8 +273,7 @@ export class DefaultDataGeneratorService { } let min_vnf_instances_greater_than_0 = serviceHierarchy.vnfs[vnfUUID].properties['min_instances'] && serviceHierarchy.vnfs[vnfUUID].properties['min_instances'] > 0; - if(min_vnf_instances_greater_than_0) - { + if (min_vnf_instances_greater_than_0) { this.createVNFInstanceReduxIfNotExist( serviceId, this.generateVNFData(serviceHierarchy, vnfUUID, formServiceValues, isEcompGeneratedNaming) @@ -256,7 +283,6 @@ export class DefaultDataGeneratorService { } } - private getIsEcompGeneratedNaming(vnfJson) { const ecompGeneratedNaming = vnfJson.properties.ecomp_generated_naming; return ecompGeneratedNaming === "true"; @@ -269,6 +295,13 @@ export class DefaultDataGeneratorService { } } + createPNFInstanceReduxIfNotExist(serviceId: string, pnfData: any): void { + if(!this.store.getState().service.serviceInstance[serviceId].pnfs[pnfData.modelInfo.modelCustomizationName]){ + this.store.dispatch(createPNFInstance(pnfData, pnfData.modelInfo.modelCustomizationName, serviceId)); + this.store.dispatch(changeInstanceCounter(pnfData.modelInfo.modelUniqueId, serviceId, 1, <any> {data : {type : 'PNF'}})); + } + } + createNetworkInstanceReduxIfNotExist(serviceId: string, networkData: any): void { if(!this.store.getState().service.serviceInstance[serviceId].vnfs[networkData.modelInfo.modelCustomizationName]){ this.store.dispatch(createNetworkInstance(networkData, networkData.modelInfo.modelCustomizationName, serviceId)); @@ -378,6 +411,29 @@ export class DefaultDataGeneratorService { } } + generatePNFData(serviceHierarchy: any, pnfName: string, formValues: any, isEcompGeneratedNaming) { + return { + 'uuid' : serviceHierarchy.pnfs[pnfName].uuid, + 'isMissingData' :this.setIsMissingData(ServiceNodeTypes.PNF, [], isEcompGeneratedNaming), + 'productFamilyId': formValues.productFamilyId, + 'lcpCloudRegionId': null, + 'tenantId': null, + 'lineOfBusiness': null, + 'platformName': null, + 'modelInfo': { + 'modelType': 'PNF', + 'modelInvariantId': serviceHierarchy.pnfs[pnfName].invariantUuid, + 'modelVersionId': serviceHierarchy.pnfs[pnfName].uuid, + 'modelName': serviceHierarchy.pnfs[pnfName].name, + 'modelVersion': serviceHierarchy.pnfs[pnfName].version, + 'modelCustomizationId': serviceHierarchy.pnfs[pnfName].customizationUuid, + 'modelCustomizationName': serviceHierarchy.pnfs[pnfName].modelCustomizationName, + 'modelUniqueId' : serviceHierarchy.pnfs[pnfName].customizationUuid || serviceHierarchy.pnfs[pnfName].uuid, + }, + 'trackById': DefaultDataGeneratorService.createRandomTrackById(), + } + } + generateNetworkData(serviceHierarchy: any, networkName: string, formValues: any, isEcompGeneratedNaming) { return { 'uuid' : serviceHierarchy.network[networkName].uuid, |