@Override public void run(FlowTrigger trigger, Map data) { node.setState(ManagementNodeState.RUNNING); node = dbf.updateAndRefresh(node); trigger.next(); } }).then(new NoRollbackFlow() {
@Override public void handle(final ErrorCode errCode, Map data) { self.setState(originState); self = dbf.updateAndRefresh(self); completion.fail(errCode); } }).start();
@Override public void handle(final ErrorCode errCode, Map data) { self.setState(originState); self = dbf.updateAndRefresh(self); completion.fail(errCode); } }).start();
public void run(FlowTrigger trigger, Map data) { getSelf().setStatus(ApplianceVmStatus.Disconnected); self = dbf.updateAndRefresh(self); trigger.next(); }
@Override public void rollback(FlowRollback trigger, Map data) { self = dbf.reload(self); getSelf().setStatus(ApplianceVmStatus.Disconnected); self = dbf.updateAndRefresh(self); trigger.rollback(); } }).then(new NoRollbackFlow() {
@Override public void run(FlowTrigger trigger, Map data) { self = dbf.reload(self); getSelf().setStatus(ApplianceVmStatus.Connected); self = dbf.updateAndRefresh(self); trigger.next(); } }).done(new FlowDoneHandler(completion) {
@Override public void rollback(FlowRollback trigger, Map data) { self = dbf.reload(self); getSelf().setStatus(ApplianceVmStatus.Disconnected); self = dbf.updateAndRefresh(self); trigger.rollback(); } });
@Override public void rollback(FlowRollback trigger, Map data) { self = dbf.reload(self); getSelf().setStatus(originStatus); self = dbf.updateAndRefresh(self); trigger.rollback(); } });
@Override public void rollback(FlowRollback trigger, Map data) { self = dbf.reload(self); getSelf().setStatus(ApplianceVmStatus.Disconnected); self = dbf.updateAndRefresh(self); trigger.rollback(); } });
@Override public void fail(ErrorCode errorCode) { self = dbf.reload(self); self.setStatus(PrimaryStorageStatus.Disconnected); self = dbf.updateAndRefresh(self); if (fireEvent) { fireDisconnectedCanonicalEvent(errorCode); } evt.setError(errorCode); bus.publish(evt); } });
@Override public void success() { self = dbf.reload(self); self.setStatus(PrimaryStorageStatus.Connected); self = dbf.updateAndRefresh(self); evt.setInventory(getSelfInventory()); bus.publish(evt); }
@Override public void run(FlowTrigger chain, Map ctx) { final VolumeInventory volume = (VolumeInventory) ctx.get(VmInstanceConstant.Params.AttachingVolumeInventory.toString()); final VmInstanceSpec spec = (VmInstanceSpec) ctx.get(VmInstanceConstant.Params.VmInstanceSpec.toString()); VolumeVO dvol = dbf.findByUuid(volume.getUuid(), VolumeVO.class); dvol.setDeviceId(new NextVolumeDeviceIdGetter().getNextVolumeDeviceId(spec.getVmInventory().getUuid())); dvol = dbf.updateAndRefresh(dvol); ctx.put(VmInstanceConstant.Params.AttachingVolumeInventory.toString(), VolumeInventory.valueOf(dvol)); chain.next(); }
@Override public void success() { self.setUrl(msg.getUrl()); self = dbf.updateAndRefresh(self); for (UpdatePrimaryStorageExtensionPoint ext : pluginRgty.getExtensionList(UpdatePrimaryStorageExtensionPoint.class)){ ext.afterUpdatePrimaryStorage(PrimaryStorageInventory.valueOf(self)); } completion.success(self); }
private void handle(APIUpdateHostMsg msg) { HostVO vo = updateHost(msg); if (vo != null) { self = dbf.updateAndRefresh(vo); } APIUpdateHostEvent evt = new APIUpdateHostEvent(msg.getId()); evt.setInventory(getSelfInventory()); bus.publish(evt); }
private void handle(APIUpdateInstanceOfferingMsg msg) { InstanceOfferingVO vo = updateInstanceOffering(msg); if (vo != null) { self = dbf.updateAndRefresh(vo); } APIUpdateInstanceOfferingEvent evt = new APIUpdateInstanceOfferingEvent(msg.getId()); evt.setInventory(getInventory()); bus.publish(evt); }
@Override public void success() { self.setAllocatorStrategy(inv.getAllocatorStrategy()); self.setInstanceOfferingUuid(msg.getInstanceOfferingUuid()); self = dbf.updateAndRefresh(self); CollectionUtils.safeForEach(exts, ext -> ext.afterChangeInstanceOffering(vm, inv)); completion.success(); }
private void handle(APIChangeRoleStateMsg msg) { if (msg.getStateEvent() == RoleStateEvent.enable) { self.setState(RoleState.Enabled); } else { self.setState(RoleState.Disabled); } self = dbf.updateAndRefresh(self); APIChangeRoleStateEvent evt = new APIChangeRoleStateEvent(msg.getId()); evt.setInventory(getSelfInventory()); bus.publish(evt); }
private void handle(APIChangeImageStateMsg msg) { ImageStateEvent sevt = ImageStateEvent.valueOf(msg.getStateEvent()); if (sevt == ImageStateEvent.disable) { self.setState(ImageState.Disabled); } else { self.setState(ImageState.Enabled); } self = dbf.updateAndRefresh(self); APIChangeImageStateEvent evt = new APIChangeImageStateEvent(msg.getId()); evt.setInventory(ImageInventory.valueOf(self)); bus.publish(evt); }
protected void handle(APIChangeVipStateMsg msg) { VipVO vip = dbf.findByUuid(msg.getUuid(), VipVO.class); VipStateEvent sevt = VipStateEvent.valueOf(msg.getStateEvent()); vip.setState(vip.getState().nextState(sevt)); vip = dbf.updateAndRefresh(vip); APIChangeVipStateEvent evt = new APIChangeVipStateEvent(msg.getId()); evt.setInventory(VipInventory.valueOf(vip)); bus.publish(evt); }
private void fail(WorkFlowVO vo, ErrorCode err) { vo.setReason(err.toString()); vo.setState(flowState.getNextState(vo.getState(), WorkFlowStateEvent.failed)); logger.debug(String.format("workflow[%s] in chain[%s] failed because %s", vo.getName(), getName(), err)); dbf.update(vo); chainvo.setReason(err.toString()); chainvo.setState(chainStates.getNextState(chainvo.getState(), WorkFlowChainStateEvent.failed)); chainvo.setCurrentPosition(vo.getPosition()); chainvo = dbf.updateAndRefresh(chainvo); rollback(); WorkFlowContext ctx = WorkFlowContext.fromBytes(vo.getContext()); tellCallbackFailure(ctx, err); }