From 5bb44641bf7b40f048e71281885efea68a3fbcbd Mon Sep 17 00:00:00 2001 From: Shireesh Anjal Date: Tue, 21 Jun 2011 21:17:09 +0530 Subject: REST API enhancements --- .../management/gui/actions/DeleteVolumeAction.java | 21 +++++++++++++-------- .../management/gui/actions/RemoveDiskAction.java | 11 ++++------- .../management/gui/views/pages/VolumeLogsPage.java | 15 +++++++-------- 3 files changed, 24 insertions(+), 23 deletions(-) (limited to 'src/com.gluster.storage.management.gui') diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/DeleteVolumeAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/DeleteVolumeAction.java index acfbdd28..eca8e789 100644 --- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/DeleteVolumeAction.java +++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/DeleteVolumeAction.java @@ -77,17 +77,22 @@ public class DeleteVolumeAction extends AbstractActionDelegate { confirmDelete = true; } - status = client.deleteVolume(volume, confirmDelete); - if (status.isSuccess()) { + try { + client.deleteVolume(volume, confirmDelete); showInfoDialog(actionDesc, "Volume [" + volume.getName() + "] deleted successfully!"); modelManager.deleteVolume(volume); - } else { - if (status.isPartSuccess()) { - showWarningDialog(actionDesc, "Volume deleted, but following error(s) occured: " + status); - modelManager.deleteVolume(volume); - } else { + } catch(Exception e) { + showErrorDialog(actionDesc, e.getMessage()); + + // there is a possibility that the error was in post-delete operation, which means + // volume was deleted, but some other error happened. check if this is the case, + // and if so, update the model manager + if(client.volumeExists(volume.getName())) { showErrorDialog(actionDesc, "Volume [" + volume.getName() + "] could not be deleted! Error: [" - + status + "]"); + + e.getMessage() + "]"); + } else { + modelManager.deleteVolume(volume); + showWarningDialog(actionDesc, "Volume deleted, but following error(s) occured: " + e.getMessage()); } } } diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RemoveDiskAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RemoveDiskAction.java index ffe2469d..0cad5945 100644 --- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RemoveDiskAction.java +++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RemoveDiskAction.java @@ -53,10 +53,8 @@ public class RemoveDiskAction extends AbstractActionDelegate { BusyIndicator.showWhile(Display.getDefault(), new Runnable() { public void run() { VolumesClient client = new VolumesClient(); - Status status = client.removeBricks(volume.getName(), bricks, confirmDelete); - - if (status.isSuccess()) { - + try { + client.removeBricks(volume.getName(), bricks, confirmDelete); // Remove the bricks from the volume object for (Brick brick : bricks) { volume.removeBrick(brick); @@ -66,13 +64,12 @@ public class RemoveDiskAction extends AbstractActionDelegate { showInfoDialog(actionDesc, "Volume [" + volume.getName() + "] bricks(s) removed successfully!"); - } else { + } catch (Exception e) { showErrorDialog(actionDesc, "Volume [" + volume.getName() - + "] bricks(s) could not be removed! Error: [" + status + "]"); + + "] bricks(s) could not be removed! Error: [" + e.getMessage() + "]"); } } }); - } }); diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/VolumeLogsPage.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/VolumeLogsPage.java index ab1b353d..9bff0213 100644 --- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/VolumeLogsPage.java +++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/VolumeLogsPage.java @@ -185,16 +185,15 @@ public class VolumeLogsPage extends Composite { return; } - LogMessageListResponse response = client.getLogs(volume.getName(), bricksCombo.getText(), - severityCombo.getText(), fromTimestamp, toTimestamp, Integer.parseInt(lineCountText.getText())); - Status status = response.getStatus(); - if (status.isSuccess()) { - List logMessages = response.getLogMessages(); + try { + List logMessages = client.getLogs(volume.getName(), bricksCombo.getText(), + severityCombo.getText(), fromTimestamp, toTimestamp, + Integer.parseInt(lineCountText.getText())); tableViewer.setInput(logMessages.toArray(new VolumeLogMessage[0])); tableViewer.refresh(); - } else { - MessageDialog.openError(getShell(), "Volume Logs", "Error while fetching volume logs: [" + status - + "]"); + } catch (Exception ex) { + MessageDialog.openError(getShell(), "Volume Logs", + "Error while fetching volume logs: [" + ex.getMessage() + "]"); } } }); -- cgit