@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 protected void handle(APIReconnectPrimaryStorageMsg msg) { final APIReconnectPrimaryStorageEvent evt = new APIReconnectPrimaryStorageEvent(msg.getId()); // fire disconnected canonical event only if the current status is connected boolean fireEvent = self.getStatus() == PrimaryStorageStatus.Connected; self.setStatus(PrimaryStorageStatus.Connecting); dbf.update(self); connect(false, new Completion(msg) { @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 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 protected void handle(APIReconnectPrimaryStorageMsg msg) { final APIReconnectPrimaryStorageEvent evt = new APIReconnectPrimaryStorageEvent(msg.getId()); // fire disconnected canonical event only if the current status is connected boolean fireEvent = self.getStatus() == PrimaryStorageStatus.Connected; self.setStatus(PrimaryStorageStatus.Connecting); dbf.update(self); connect(false, new Completion(msg) { @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 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); } }); }
protected boolean changeStatus(PrimaryStorageStatus status) { if (status == self.getStatus()) { return false; } PrimaryStorageStatus oldStatus = self.getStatus(); self.setStatus(status); self = dbf.updateAndRefresh(self); PrimaryStorageStatusChangedData d = new PrimaryStorageStatusChangedData(); d.setInventory(PrimaryStorageInventory.valueOf(self)); d.setPrimaryStorageUuid(self.getUuid()); d.setOldStatus(oldStatus.toString()); d.setNewStatus(status.toString()); evtf.fire(PrimaryStorageCanonicalEvent.PRIMARY_STORAGE_STATUS_CHANGED_PATH, d); logger.debug(String.format("the primary storage[uuid:%s, name:%s] changed status from %s to %s", self.getUuid(), self.getName(), oldStatus, status)); return true; }
primaryStorageVO.setDescription(msg.getDescription()); primaryStorageVO.setState(PrimaryStorageState.Enabled); primaryStorageVO.setStatus(PrimaryStorageStatus.Connecting); primaryStorageVO.setZoneUuid(msg.getZoneUuid());