diff options
author | Einat Vinouze <einat.vinouze@intl.att.com> | 2019-08-27 16:01:01 +0300 |
---|---|---|
committer | Ittay Stern <ittay.stern@att.com> | 2019-09-09 07:01:36 +0000 |
commit | e1f7974f0badbd4440d5b7ea5f1b1cb2d4973818 (patch) | |
tree | 46be9cdc44cbb475527bc3c43df23d16f7579d29 /vid-webpack-master/src/app/shared/storeUtil/utils/vnf/vnf.reducers.ts | |
parent | e25b88b5a7a0f3bf63ca7160a441b53145484bcc (diff) |
Adding feature: Replace vfmodule
Issue-ID: VID-603
Change-Id: I59068a0979d6fb733e4243c8f78921f396dc9d17
Signed-off-by: Einat Vinouze <einat.vinouze@intl.att.com>
Signed-off-by: Amichai Hemli <amichai.hemli@intl.att.com>
Signed-off-by: Ittay Stern <ittay.stern@att.com>
Diffstat (limited to 'vid-webpack-master/src/app/shared/storeUtil/utils/vnf/vnf.reducers.ts')
-rw-r--r-- | vid-webpack-master/src/app/shared/storeUtil/utils/vnf/vnf.reducers.ts | 57 |
1 files changed, 47 insertions, 10 deletions
diff --git a/vid-webpack-master/src/app/shared/storeUtil/utils/vnf/vnf.reducers.ts b/vid-webpack-master/src/app/shared/storeUtil/utils/vnf/vnf.reducers.ts index 072634f2b..c5cd88aa7 100644 --- a/vid-webpack-master/src/app/shared/storeUtil/utils/vnf/vnf.reducers.ts +++ b/vid-webpack-master/src/app/shared/storeUtil/utils/vnf/vnf.reducers.ts @@ -3,7 +3,7 @@ import {VnfInstance} from "../../../models/vnfInstance"; import { CreateVnfInstanceAction, RemoveVnfInstanceAction, - UpdateVnfInstanceAction, UpdateVnfPosition, + UpdateVnfInstanceAction, UpdateVnfPosition, UpgradeVnfAction, VNFActions } from "./vnf.actions"; import * as _ from "lodash"; @@ -55,7 +55,6 @@ export function vnfReducer(state: ServiceState, action: Action): ServiceState { case VNFActions.DELETE_ACTION_VNF_INSTANCE : { return deleteFirstLevel(state, <ActionOnFirstLevel>action,true); - } case VNFActions.UNDO_DELETE_ACTION_VNF_INSTANCE : { @@ -77,13 +76,56 @@ export function vnfReducer(state: ServiceState, action: Action): ServiceState { case VNFActions.UPDATE_VNF_POSITION : { let newState = _.cloneDeep(state); - newState.serviceInstance[(<UpdateVnfPosition>action).instanceId].vnfs[(<UpdateVnfPosition>action).vnfStoreKey].position = (<UpdateVnfPosition>action).node.position; + newState.serviceInstance[(<UpdateVnfPosition>action).instanceId] + .vnfs[(<UpdateVnfPosition>action).vnfStoreKey] + .position = (<UpdateVnfPosition>action).node.position; return newState; } - } -} + case VNFActions.UPGRADE_VNF_ACTION: { + let clonedState = _.cloneDeep(state); + const castingAction = <UpgradeVnfAction>action; + let oldAction = clonedState + .serviceInstance[castingAction.serviceUuid] + .vnfs[castingAction.vnfStoreKey].action; + if(!oldAction.includes("Upgrade")) { + clonedState.serviceInstance[castingAction.serviceUuid] + .vnfs[castingAction.vnfStoreKey] + .action = (`${oldAction}_Upgrade`) as ServiceInstanceActions; + } + + if(_.isNil(clonedState.serviceInstance[castingAction.serviceUuid] + .vnfs[castingAction.vnfStoreKey].upgradedVFMSonsCounter)) { + clonedState.serviceInstance[castingAction.serviceUuid] + .vnfs[castingAction.vnfStoreKey].upgradedVFMSonsCounter = 1; + return clonedState; + } + clonedState.serviceInstance[castingAction.serviceUuid] + .vnfs[castingAction.vnfStoreKey].upgradedVFMSonsCounter++; + return clonedState; + } + case VNFActions.UNDO_UPGRADE_VNF_ACTION: { + let clonedState = _.cloneDeep(state); + const castingAction = <UpgradeVnfAction>action; + if(clonedState.serviceInstance[castingAction.serviceUuid] + .vnfs[castingAction.vnfStoreKey] + .action.includes("Upgrade")) { + clonedState + .serviceInstance[castingAction.serviceUuid] + .vnfs[castingAction.vnfStoreKey].upgradedVFMSonsCounter--; + if(clonedState.serviceInstance[castingAction.serviceUuid].vnfs[castingAction.vnfStoreKey] + .upgradedVFMSonsCounter === 0){ + clonedState.serviceInstance[castingAction.serviceUuid] + .vnfs[castingAction.vnfStoreKey] + .action = ServiceInstanceActions.None; + } + } + return clonedState; + } + + } +} const updateUniqueNames = (oldName: string, newName: string, serviceInstance: ServiceInstance): void => { @@ -108,8 +150,3 @@ export const calculateNextUniqueModelName = (vnfModelName: string, serviceId: st } } }; - - - - - |