aboutsummaryrefslogtreecommitdiffstats
path: root/vid-webpack-master/src/app/shared/storeUtil/utils/vnf/vnf.reducers.ts
diff options
context:
space:
mode:
authorEinat Vinouze <einat.vinouze@intl.att.com>2019-08-27 16:01:01 +0300
committerIttay Stern <ittay.stern@att.com>2019-09-09 07:01:36 +0000
commite1f7974f0badbd4440d5b7ea5f1b1cb2d4973818 (patch)
tree46be9cdc44cbb475527bc3c43df23d16f7579d29 /vid-webpack-master/src/app/shared/storeUtil/utils/vnf/vnf.reducers.ts
parente25b88b5a7a0f3bf63ca7160a441b53145484bcc (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.ts57
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
}
}
};
-
-
-
-
-