diff options
Diffstat (limited to 'vid-webpack-master/src/app/shared/services')
2 files changed, 62 insertions, 3 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 79cd0682e..e00b259a0 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 @@ -15,7 +15,7 @@ import {NetworkTreeNode} from "../../models/networkTreeNode"; import {createVNFInstance} from "../../storeUtil/utils/vnf/vnf.actions"; import {changeInstanceCounter} from "../../storeUtil/utils/general/general.actions"; import {createNetworkInstance} from "../../storeUtil/utils/network/network.actions"; -import {createVFModuleInstance} from "../../storeUtil/utils/vfModule/vfModule.actions"; +import {createVFModuleInstance, updateVFModulePosition} from "../../storeUtil/utils/vfModule/vfModule.actions"; import {createVnfGroupInstance} from "../../storeUtil/utils/vnfGroup/vnfGroup.actions"; import {VnfGroupTreeNode} from "../../models/vnfGroupTreeNode"; import {ModelInfo} from "../../models/modelInfo"; @@ -234,6 +234,7 @@ export class DefaultDataGeneratorService { this.addDefaultVfModulesInRedux( serviceId, vfModuleModel.properties.initialCount, + vfModuleModel.properties.baseModule, vfModule, vnfModuleUUID, vnfUUID @@ -282,9 +283,14 @@ export class DefaultDataGeneratorService { } } - addDefaultVfModulesInRedux(serviceId: string, numberOfVfModules: number, vfModuleData: any, vfModuleName: string, vnfUUID : string){ + addDefaultVfModulesInRedux(serviceId: string, numberOfVfModules: number,baseModule:boolean, vfModuleData: any, vfModuleName: string, vnfUUID : string){ for (let i = 0; i < numberOfVfModules; i++) { - this.store.dispatch(createVFModuleInstance(vfModuleData, vfModuleName, serviceId, null, vnfUUID)); + if(baseModule) { + this.store.dispatch(createVFModuleInstance(vfModuleData, vfModuleName, serviceId, 1, vnfUUID)); + } else { + this.store.dispatch(createVFModuleInstance(vfModuleData, vfModuleName, serviceId, i+1, vnfUUID)); + } + } } @@ -460,4 +466,55 @@ export class DefaultDataGeneratorService { return newVfModule; } + calculatePositionOfVfmodule(serviceModelId:string) { + const serviceInstance = this.store.getState().service.serviceInstance[serviceModelId]; + const serviceHierarchy = this.store.getState().service.serviceHierarchy[serviceModelId]; + + const vnfList = serviceInstance.vnfs; + let totalSecondListLength =1; + if (!_.isEmpty(vnfList)) { + for (let vnfStoreKey in vnfList) { + const firstVfModuleInstanceList = vnfList[vnfStoreKey].vfModules; + if (!_.isEmpty(firstVfModuleInstanceList)) { + for (let vfModuleInstanceKey in firstVfModuleInstanceList) { + let secondVfModuleInstanceList = firstVfModuleInstanceList[vfModuleInstanceKey]; + let numSecondVfModuleInstanceList = Object.keys(secondVfModuleInstanceList).length; + totalSecondListLength = totalSecondListLength + numSecondVfModuleInstanceList; + + } + } else { + //No instances added yet , hence start from 1 + totalSecondListLength = 1; + } + + } + } + + return totalSecondListLength; + } + + + updatePositionForRemainingVfModules(serviceModelId: string) { + + const serviceInstance = this.store.getState().service.serviceInstance[serviceModelId]; + const vnfList = serviceInstance.vnfs; + if (!_.isEmpty(vnfList)) { + for (let vnfStoreKey in vnfList) { + const firstVfModuleInstanceList = vnfList[vnfStoreKey].vfModules; + if (!_.isEmpty(firstVfModuleInstanceList)) { + for (let vfModuleInstanceKey in firstVfModuleInstanceList) { + let secondVfModuleInstanceList = firstVfModuleInstanceList[vfModuleInstanceKey]; + for(let secondVfModuleInstanceKey in secondVfModuleInstanceList) { + let secondVfModuleObj = secondVfModuleInstanceList[secondVfModuleInstanceKey]; + if(!_.isNil(secondVfModuleObj.position)) { + this.store.dispatch(updateVFModulePosition(vfModuleInstanceKey,secondVfModuleInstanceKey, secondVfModuleObj.position+1,serviceModelId, vnfStoreKey)); + } + } + + } + } + + } + } + } } diff --git a/vid-webpack-master/src/app/shared/services/featureFlag/feature-flags.service.ts b/vid-webpack-master/src/app/shared/services/featureFlag/feature-flags.service.ts index e652be79d..758aa4b15 100644 --- a/vid-webpack-master/src/app/shared/services/featureFlag/feature-flags.service.ts +++ b/vid-webpack-master/src/app/shared/services/featureFlag/feature-flags.service.ts @@ -25,6 +25,8 @@ export enum Features { FLAG_2006_PAUSE_VFMODULE_INSTANTIATION_CREATION = 'FLAG_2006_PAUSE_VFMODULE_INSTANTIATION_CREATION', FLAG_2008_PAUSE_INSTANTIATION_ON_VFMODULE_POPUP = 'FLAG_2008_PAUSE_INSTANTIATION_ON_VFMODULE_POPUP', FLAG_2008_REMOVE_PAUSE_INSTANTIATION = 'FLAG_2008_REMOVE_PAUSE_INSTANTIATION', + FLAG_2008_DISABLE_DRAG_FOR_BASE_MODULE ='FLAG_2008_DISABLE_DRAG_FOR_BASE_MODULE', + FLAG_2008_CREATE_VFMODULE_INSTANTIATION_ORDER_NUMBER ='FLAG_2008_CREATE_VFMODULE_INSTANTIATION_ORDER_NUMBER' } @Injectable() |