@Override public void handle(Map data) { self = dbf.reload(self); completion.success(); } }).error(new FlowErrorHandler(completion) {
@Override public void handle(Map data) { self = dbf.reload(self); evt.setInventory(VmInstanceInventory.valueOf(self)); bus.publish(evt); } }).error(new FlowErrorHandler(msg) {
@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 success() { PortForwardingRuleVO prvo = dbf.reload(vo); evt.setInventory(PortForwardingRuleInventory.valueOf(prvo)); bus.publish(evt); }
@Override public void success() { logger.debug(String.format("successfully detached L2Network[uuid:%s] to cluster [uuid:%s]", self.getUuid(), msg.getClusterUuid())); self = dbf.reload(self); bus.reply(msg, reply); }
@Override public void success() { evt.setInventory(EipInventory.valueOf(dbf.reload(vo))); bus.publish(evt); }
@Override public void handle(Map data) { evt.setInventory(PortForwardingRuleInventory.valueOf(dbf.reload(vo))); bus.publish(evt); } }).error(new FlowErrorHandler(msg) {
@Override public void success(ImageSize ret) { self = dbf.reload(self); evt.setInventory(getSelfInventory()); bus.publish(evt); }
@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 success() { self = dbf.reload(self); reply.setVmInventory(getSelfInventory()); bus.reply(msg, reply); taskChain.next(); }
@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 run(FlowTrigger trigger, Map data) { // must reload here, otherwise it will override changes created by previous flows self = dbf.reload(self); getSelf().setStatus(ApplianceVmStatus.Connected); dbf.update(self); trigger.next(); } });
@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() { logger.debug(String.format("successfully detached L2Network[uuid:%s] to cluster [uuid:%s]", self.getUuid(), msg.getClusterUuid())); self = dbf.reload(self); evt.setInventory(self.toInventory()); bus.publish(evt); }
protected void refresh() { VipVO vo = dbf.reload(self); if (vo == null) { throw new OperationFailureException(err(SysErrors.RESOURCE_NOT_FOUND, "cannot find the vip[name:%s, uuid:%s, ip:%s], it may have been deleted", self.getName(), self.getUuid(), self.getIp() )); } self = vo; }
@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(MessageReply reply) { if (reply.isSuccess()) { self = dbf.reload(self); evt.setInventory(L3NetworkInventory.valueOf(self)); bus.publish(evt); } else { evt.setError(reply.getError()); bus.publish(evt); } } });
private void handle(APIRemoveMonFromCephBackupStorageMsg msg) { SimpleQuery<CephBackupStorageMonVO> q = dbf.createQuery(CephBackupStorageMonVO.class); q.add(CephBackupStorageMonVO_.hostname, Op.IN, msg.getMonHostnames()); q.add(CephBackupStorageMonVO_.backupStorageUuid, Op.EQ, self.getUuid()); List<CephBackupStorageMonVO> vos = q.list(); if (!vos.isEmpty()) { dbf.removeCollection(vos, CephBackupStorageMonVO.class); } APIRemoveMonFromCephBackupStorageEvent evt = new APIRemoveMonFromCephBackupStorageEvent(msg.getId()); evt.setInventory(CephBackupStorageInventory.valueOf(dbf.reload(getSelf()))); bus.publish(evt); }