+ 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));
+ }
+ }
+
+ }
+ }
+
+ }
+ }
+ }