diff options
| author | Shireesh Anjal <shireesh@gluster.com> | 2011-06-21 21:17:09 +0530 |
|---|---|---|
| committer | Shireesh Anjal <shireesh@gluster.com> | 2011-06-21 21:17:09 +0530 |
| commit | d37d17a75ef78fc05b2038c01e47b6b46aab60e4 (patch) | |
| tree | dd1d921f69a819b4a2887d3eb85aac7db4890c34 /src/com.gluster.storage.management.gui | |
| parent | e0ac946f71010ab1ff1497c6a5ef0b9aac2be359 (diff) | |
REST API enhancements
Diffstat (limited to 'src/com.gluster.storage.management.gui')
11 files changed, 90 insertions, 121 deletions
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/AddServerAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/AddServerAction.java index 67948fb8..4d1a87c9 100644 --- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/AddServerAction.java +++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/AddServerAction.java @@ -52,20 +52,29 @@ public class AddServerAction extends AbstractActionDelegate { String partErrMsg = ""; for (Server server : selectedServers) { guiHelper.setStatusMessage("Adding server [" + server.getName() + "]..."); - GlusterServerResponse response = glusterServersClient.addServer(server); - Status status = response.getStatus(); - if (status.isSuccess()) { + + try { + glusterServersClient.addServer(server); modelManager.removeDiscoveredServer(server); - modelManager.addGlusterServer(response.getGlusterServer()); + modelManager.addGlusterServer(glusterServersClient.getGlusterServer(server.getName())); successServers.add(server); - } else if (status.isPartSuccess()) { - modelManager.removeDiscoveredServer(server); - modelManager.addGlusterServer(response.getGlusterServer()); - partSuccessServers.add(server); - partErrMsg += "[" + server.getName() + "] : " + status; - } else { - errMsg += "[" + server.getName() + "] : " + status; + } catch(Exception e) { + // TODO: Handle error conditions } + +// Status status = response.getStatus(); +// if (status.isSuccess()) { +// modelManager.removeDiscoveredServer(server); +// modelManager.addGlusterServer(response.getGlusterServer()); +// successServers.add(server); +// } else if (status.isPartSuccess()) { +// modelManager.removeDiscoveredServer(server); +// modelManager.addGlusterServer(response.getGlusterServer()); +// partSuccessServers.add(server); +// partErrMsg += "[" + server.getName() + "] : " + status; +// } else { +// errMsg += "[" + server.getName() + "] : " + status; +// } } guiHelper.clearStatusMessage(); 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 9222c6c7..acfbdd28 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 @@ -63,10 +63,11 @@ public class DeleteVolumeAction extends AbstractActionDelegate { Status status; if (volume.getStatus() == VOLUME_STATUS.ONLINE) { // To stop the volume service, if running - status = client.stopVolume(volume.getName()); - if (!status.isSuccess()) { + try { + client.stopVolume(volume.getName()); + } catch(Exception e) { showErrorDialog(actionDesc, "Volume [" + volume.getName() + "] could not be stopped! Error: [" - + status + "]"); + + e.getMessage() + "]"); return; } } diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RemoveServerAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RemoveServerAction.java index 514fd0a5..911c57a8 100644 --- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RemoveServerAction.java +++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RemoveServerAction.java @@ -70,13 +70,13 @@ public class RemoveServerAction extends AbstractActionDelegate { guiHelper.setStatusMessage("Removing server [" + server.getName() + "]..."); GlusterServersClient client = new GlusterServersClient(); - Status status = client.removeServer(server.getName()); - if (status.isSuccess()) { + try { + client.removeServer(server.getName()); GlusterServer glusterServer = (GlusterServer) server; modelManager.removeGlusterServer(glusterServer); successServers.add(server); - } else { - errMsg += "[" + server.getName() + "] : " + status; + } catch(Exception e) { + errMsg += "[" + server.getName() + "] : " + e.getMessage(); } } diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ResetVolumeOptionsAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ResetVolumeOptionsAction.java index f23f3b15..b11a0f9a 100644 --- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ResetVolumeOptionsAction.java +++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ResetVolumeOptionsAction.java @@ -3,14 +3,10 @@ package com.gluster.storage.management.gui.actions; import org.eclipse.jface.action.IAction; import org.eclipse.jface.viewers.ISelection; import org.eclipse.swt.widgets.Display; -import org.eclipse.ui.IWorkbenchWindow; -import org.eclipse.ui.IWorkbenchWindowActionDelegate; import com.gluster.storage.management.client.GlusterDataModelManager; import com.gluster.storage.management.client.VolumesClient; -import com.gluster.storage.management.core.model.Status; import com.gluster.storage.management.core.model.Volume; -import com.gluster.storage.management.core.model.Volume.VOLUME_STATUS; import com.gluster.storage.management.gui.utils.GUIHelper; public class ResetVolumeOptionsAction extends AbstractActionDelegate { @@ -19,8 +15,6 @@ public class ResetVolumeOptionsAction extends AbstractActionDelegate { @Override public void dispose() { - // TODO Auto-generated method stub - } @Override @@ -37,22 +31,18 @@ public class ResetVolumeOptionsAction extends AbstractActionDelegate { return; } - final Status status = resetVolumeOptions(); - if (status.isSuccess()) { + try { + new VolumesClient().resetVolumeOptions(volume.getName()); showInfoDialog(actionDesc, "Volume options for [" + volume.getName() + "] reset successfully!"); modelManager.resetVolumeOptions(volume); - } else { + } catch (Exception e) { showErrorDialog(actionDesc, "Volume options for [" + volume.getName() - + "] could not be reset! Error: [" + status + "]"); + + "] could not be reset! Error: [" + e.getMessage() + "]"); } } }); } - private Status resetVolumeOptions() { - return new VolumesClient().resetVolumeOptions(volume.getName()); - } - /* * (non-Javadoc) * diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StartVolumeAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StartVolumeAction.java index 364aa569..c259c661 100644 --- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StartVolumeAction.java +++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StartVolumeAction.java @@ -23,7 +23,6 @@ import org.eclipse.jface.viewers.ISelection; import com.gluster.storage.management.client.GlusterDataModelManager; import com.gluster.storage.management.client.VolumesClient; -import com.gluster.storage.management.core.model.Status; import com.gluster.storage.management.core.model.Volume; import com.gluster.storage.management.core.model.Volume.VOLUME_STATUS; @@ -38,14 +37,14 @@ public class StartVolumeAction extends AbstractActionDelegate { } VolumesClient client = new VolumesClient(); - final Status status = client.startVolume(volume.getName()); final String actionDesc = action.getDescription(); - if (status.isSuccess()) { + try { + client.startVolume(volume.getName()); showInfoDialog(actionDesc, "Volume [" + volume.getName() + "] started successfully!"); modelManager.updateVolumeStatus(volume, VOLUME_STATUS.ONLINE); - } else { - showErrorDialog(actionDesc, "Volume [" + volume.getName() + "] could not be started! Error: [" - + status + "]"); + } catch (Exception e) { + showErrorDialog(actionDesc, + "Volume [" + volume.getName() + "] could not be started! Error: [" + e.getMessage() + "]"); } } diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StopVolumeAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StopVolumeAction.java index 68623aaf..d4e3d363 100644 --- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StopVolumeAction.java +++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StopVolumeAction.java @@ -25,7 +25,6 @@ import org.eclipse.swt.widgets.Display; import com.gluster.storage.management.client.GlusterDataModelManager; import com.gluster.storage.management.client.VolumesClient; -import com.gluster.storage.management.core.model.Status; import com.gluster.storage.management.core.model.Volume; import com.gluster.storage.management.core.model.Volume.VOLUME_STATUS; import com.gluster.storage.management.gui.IImageKeys; @@ -55,22 +54,18 @@ public class StopVolumeAction extends AbstractActionDelegate { return; } - final Status status = stopVolume(); - if (status.isSuccess()) { + try { + new VolumesClient().stopVolume(volume.getName()); showInfoDialog(actionDesc, "Volume [" + volume.getName() + "] stopped successfully!"); modelManager.updateVolumeStatus(volume, VOLUME_STATUS.OFFLINE); - } else { - showErrorDialog(actionDesc, "Volume [" + volume.getName() + "] could not be stopped! Error: [" - + status + "]"); + } catch (Exception e) { + showErrorDialog(actionDesc, + "Volume [" + volume.getName() + "] could not be stopped! Error: [" + e.getMessage() + "]"); } } }); } - private Status stopVolume() { - return new VolumesClient().stopVolume(volume.getName()); - } - @Override public void dispose() { } diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/AddDiskWizard.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/AddDiskWizard.java index 18161076..f41a113e 100644 --- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/AddDiskWizard.java +++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/AddDiskWizard.java @@ -64,22 +64,18 @@ public class AddDiskWizard extends Wizard { VolumesClient volumeClient = new VolumesClient(); try { List<String> brickList = getBrickList(bricks); - Status status = volumeClient.addBricks(volume.getName(), brickList); - if (!status.isSuccess()) { - MessageDialog.openError(getShell(), "Add brick(s) to Volume", status.getMessage()); - return status.isSuccess(); - } else { - List<Disk> disks = page.getChosenDisks(); - volume.addDisks(GlusterCoreUtil.getQualifiedDiskNames(disks)); - volume.addBricks(bricks); - - // Update model with new bricks in the volume - GlusterDataModelManager.getInstance().addBricks(volume, bricks); - - MessageDialog.openInformation(getShell(), "Add brick(s) to Volume", "Volume [" + volume.getName() - + "] is expanded with bricks [" + StringUtil.ListToString(brickList, ", ") + "]"); - return status.isSuccess(); - } + + volumeClient.addBricks(volume.getName(), brickList); + List<Disk> disks = page.getChosenDisks(); + volume.addDisks(GlusterCoreUtil.getQualifiedDiskNames(disks)); + volume.addBricks(bricks); + + // Update model with new bricks in the volume + GlusterDataModelManager.getInstance().addBricks(volume, bricks); + + MessageDialog.openInformation(getShell(), "Add brick(s) to Volume", "Volume [" + volume.getName() + + "] is expanded with bricks [" + StringUtil.ListToString(brickList, ", ") + "]"); + return true; } catch (Exception e) { MessageDialog.openError(getShell(), "Add brick(s) to Volume", e.getMessage()); return false; diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/CreateVolumeWizard.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/CreateVolumeWizard.java index e4d5ae97..4575edff 100644 --- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/CreateVolumeWizard.java +++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/CreateVolumeWizard.java @@ -53,12 +53,12 @@ public class CreateVolumeWizard extends Wizard { message = "Volume created successfully!"; newVolume.setStatus(VOLUME_STATUS.OFFLINE); if (page.startVolumeAfterCreation()) { - Status volumeStartStatus = volumesClient.startVolume(newVolume.getName()); - if (volumeStartStatus.isSuccess()) { + try { + volumesClient.startVolume(newVolume.getName()); newVolume.setStatus(VOLUME_STATUS.ONLINE); message = "Volume created and started successfully!"; - } else { - message = "Volume created successfuly, but couldn't be started. Error: " + volumeStartStatus; + } catch(Exception e) { + message = "Volume created successfuly, but couldn't be started. Error: " + e.getMessage(); warning = true; } } @@ -77,13 +77,13 @@ public class CreateVolumeWizard extends Wizard { if (page.startVolumeAfterCreation()) { if (MessageDialog.openConfirm(getShell(), dialogTitle, "Volume created, but following error(s) occured: " + status - + "\n\nDo you still want to start the volume [" + newVolume.getName() + "]?")) { - Status volumeStartStatus = volumesClient.startVolume(newVolume.getName()); - if (volumeStartStatus.isSuccess()) { + + "\n\nDo you still want to start the volume [" + newVolume.getName() + "]?")) { + try { + volumesClient.startVolume(newVolume.getName()); newVolume.setStatus(VOLUME_STATUS.ONLINE); message = "Volume [" + newVolume.getName() + "] started successfully!"; // Only start operation - } else { - message = "Volume couldn't be started. Error: " + volumeStartStatus; + } catch(Exception e) { + message = "Volume couldn't be started. Error: " + e.getMessage(); error = true; } } diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/LoginDialog.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/LoginDialog.java index 0fe13dd2..563e6416 100644 --- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/LoginDialog.java +++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/LoginDialog.java @@ -18,9 +18,6 @@ *******************************************************************************/ package com.gluster.storage.management.gui.dialogs; -import java.util.ArrayList; -import java.util.List; - import org.eclipse.core.databinding.DataBindingContext; import org.eclipse.core.databinding.UpdateValueStrategy; import org.eclipse.core.databinding.beans.PojoProperties; @@ -48,10 +45,8 @@ import org.eclipse.swt.widgets.Text; import com.gluster.storage.management.client.ClustersClient; import com.gluster.storage.management.client.GlusterDataModelManager; import com.gluster.storage.management.client.UsersClient; -import com.gluster.storage.management.core.exceptions.GlusterRuntimeException; import com.gluster.storage.management.core.model.ConnectionDetails; import com.gluster.storage.management.core.model.Status; -import com.gluster.storage.management.core.response.StringListResponse; import com.gluster.storage.management.gui.Application; import com.gluster.storage.management.gui.IImageKeys; import com.gluster.storage.management.gui.dialogs.ClusterSelectionDialog.CLUSTER_MODE; @@ -227,7 +222,8 @@ public class LoginDialog extends Dialog { String serverName = null; if (showClusterSelectionDialog) { - ClusterSelectionDialog clusterDialog = new ClusterSelectionDialog(getParentShell(), getClusterNames(clustersClient)); + ClusterSelectionDialog clusterDialog = new ClusterSelectionDialog(getParentShell(), + clustersClient.getClusterNames()); int userAction = clusterDialog.open(); if (userAction == Window.CANCEL) { MessageDialog.openError(getShell(), "Login Cancelled", @@ -258,36 +254,24 @@ public class LoginDialog extends Dialog { public void createOrRegisterCluster(ClustersClient clustersClient, String clusterName, String serverName, CLUSTER_MODE mode) { - Status status = null; String errTitle = null; - - switch(mode) { - case SELECT: - return; - case CREATE: - errTitle = "Cluster Creation Failed!"; - status = clustersClient.createCluster(clusterName); - break; - case REGISTER: - errTitle = "Cluster Registration Failed!"; - status = clustersClient.registerCluster(clusterName, serverName); - break; - } - - if(!status.isSuccess()) { - MessageDialog.openError(getShell(), errTitle, status.toString()); - setReturnCode(RETURN_CODE_ERROR); - } - } - private List<String> getClusterNames(ClustersClient clustersClient) { - StringListResponse clustersResponse = clustersClient.getClusters(); - List<String> clusters = new ArrayList<String>(); - if (clustersResponse.getStatus().isSuccess()) { - clusters = clustersResponse.getData(); - } else { - throw new GlusterRuntimeException("Could not fetch cluster names. Error: " + clustersResponse.getStatus()); - } - return clusters; + try { + switch (mode) { + case SELECT: + return; + case CREATE: + errTitle = "Cluster Creation Failed!"; + clustersClient.createCluster(clusterName); + break; + case REGISTER: + errTitle = "Cluster Registration Failed!"; + clustersClient.registerCluster(clusterName, serverName); + break; + } + } catch (Exception e) { + MessageDialog.openError(getShell(), errTitle, e.getMessage()); + setReturnCode(RETURN_CODE_ERROR); + } } } diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeSummaryView.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeSummaryView.java index 251944e6..c708100d 100644 --- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeSummaryView.java +++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeSummaryView.java @@ -315,17 +315,14 @@ public class VolumeSummaryView extends ViewPart { BusyIndicator.showWhile(Display.getDefault(), new Runnable() { @Override public void run() { - Status status = (new VolumesClient()).setVolumeOption(volume.getName(), Volume.OPTION_AUTH_ALLOW, - newACL); - - if (status.isSuccess()) { + try { + new VolumesClient().setVolumeOption(volume.getName(), Volume.OPTION_AUTH_ALLOW, newACL); accessControlText.setEnabled(false); changeLink.setText("change"); GlusterDataModelManager.getInstance().setAccessControlList(volume, newACL); - } else { - MessageDialog.openError(Display.getDefault().getActiveShell(), "Access control", - status.getMessage()); + } catch (Exception e) { + MessageDialog.openError(Display.getDefault().getActiveShell(), "Access control", e.getMessage()); } } }); diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/OptionValueEditingSupport.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/OptionValueEditingSupport.java index a5edd7cb..2358aa73 100644 --- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/OptionValueEditingSupport.java +++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/OptionValueEditingSupport.java @@ -17,7 +17,6 @@ import org.eclipse.swt.widgets.Display; import com.gluster.storage.management.client.GlusterDataModelManager; import com.gluster.storage.management.client.VolumesClient; -import com.gluster.storage.management.core.model.Status; import com.gluster.storage.management.core.model.Volume; import com.gluster.storage.management.core.model.VolumeOptionInfo; import com.gluster.storage.management.gui.utils.GUIHelper; @@ -67,13 +66,12 @@ public class OptionValueEditingSupport extends EditingSupport { @Override public void run() { VolumesClient client = new VolumesClient(); - Status status = client.setVolumeOption(volume.getName(), entry.getKey(), (String) value); - if (status.isSuccess()) { + try { + client.setVolumeOption(volume.getName(), entry.getKey(), (String) value); entry.setValue((String)value); GlusterDataModelManager.getInstance().setVolumeOption(volume, entry); - } else { - MessageDialog.openError(Display.getDefault().getActiveShell(), "Set Volume Option", - status.getMessage()); + } catch(Exception e) { + MessageDialog.openError(Display.getDefault().getActiveShell(), "Set Volume Option", e.getMessage()); } getViewer().update(entry, null); } |
