summaryrefslogtreecommitdiffstats
path: root/src/com.gluster.storage.management.gui
diff options
context:
space:
mode:
authorShireesh Anjal <shireesh@gluster.com>2011-06-21 21:17:09 +0530
committerShireesh Anjal <shireesh@gluster.com>2011-06-21 21:17:09 +0530
commitd37d17a75ef78fc05b2038c01e47b6b46aab60e4 (patch)
treedd1d921f69a819b4a2887d3eb85aac7db4890c34 /src/com.gluster.storage.management.gui
parente0ac946f71010ab1ff1497c6a5ef0b9aac2be359 (diff)
REST API enhancements
Diffstat (limited to 'src/com.gluster.storage.management.gui')
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/AddServerAction.java31
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/DeleteVolumeAction.java7
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RemoveServerAction.java8
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ResetVolumeOptionsAction.java18
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StartVolumeAction.java11
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StopVolumeAction.java15
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/AddDiskWizard.java28
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/CreateVolumeWizard.java18
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/LoginDialog.java54
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeSummaryView.java11
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/OptionValueEditingSupport.java10
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);
}