From d37d17a75ef78fc05b2038c01e47b6b46aab60e4 Mon Sep 17 00:00:00 2001 From: Shireesh Anjal Date: Tue, 21 Jun 2011 21:17:09 +0530 Subject: REST API enhancements --- .../storage/management/client/AbstractClient.java | 83 ++++++++++++---------- .../storage/management/client/ClustersClient.java | 45 ++++++------ .../management/client/GlusterServersClient.java | 17 +++-- .../storage/management/client/TasksClient.java | 16 ++--- .../storage/management/client/UsersClient.java | 9 ++- .../storage/management/client/VolumesClient.java | 30 ++++---- .../management/gui/actions/AddServerAction.java | 31 +++++--- .../management/gui/actions/DeleteVolumeAction.java | 7 +- .../management/gui/actions/RemoveServerAction.java | 8 +-- .../gui/actions/ResetVolumeOptionsAction.java | 18 ++--- .../management/gui/actions/StartVolumeAction.java | 11 ++- .../management/gui/actions/StopVolumeAction.java | 15 ++-- .../management/gui/dialogs/AddDiskWizard.java | 28 ++++---- .../management/gui/dialogs/CreateVolumeWizard.java | 18 ++--- .../management/gui/dialogs/LoginDialog.java | 54 +++++--------- .../management/gui/views/VolumeSummaryView.java | 11 ++- .../gui/views/pages/OptionValueEditingSupport.java | 10 ++- .../server/resources/AbstractResource.java | 19 ++++- .../server/resources/AlertsResource.java | 2 +- .../server/resources/ClustersResource.java | 2 +- .../resources/DiscoveredServersResource.java | 4 +- .../server/resources/GlusterServersResource.java | 8 +-- .../management/server/resources/TasksResource.java | 6 +- .../management/server/resources/UsersResource.java | 4 +- .../server/resources/VolumesResource.java | 20 +++--- 25 files changed, 235 insertions(+), 241 deletions(-) (limited to 'src') diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AbstractClient.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AbstractClient.java index 282b45b5..f38c1a5f 100644 --- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AbstractClient.java +++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AbstractClient.java @@ -23,6 +23,7 @@ import com.gluster.storage.management.client.utils.ClientUtil; import com.gluster.storage.management.core.exceptions.GlusterRuntimeException; import com.sun.jersey.api.client.Client; import com.sun.jersey.api.client.ClientResponse; +import com.sun.jersey.api.client.UniformInterfaceException; import com.sun.jersey.api.client.WebResource; import com.sun.jersey.api.client.config.DefaultClientConfig; import com.sun.jersey.api.representation.Form; @@ -120,7 +121,7 @@ public abstract class AbstractClient { */ @SuppressWarnings({ "unchecked", "rawtypes" }) private Object fetchResource(WebResource res, MultivaluedMap queryParams, Class responseClass) { - return res.queryParams(queryParams).header(HTTP_HEADER_AUTH, authHeader).accept(MediaType.TEXT_XML) + return res.queryParams(queryParams).header(HTTP_HEADER_AUTH, authHeader).accept(MediaType.APPLICATION_XML) .get(responseClass); } @@ -214,16 +215,16 @@ public abstract class AbstractClient { /** * Submits given Form using POST method to the resource and returns the object received as response * - * @param responseClass - * Class of the object expected as response * @param form * Form to be submitted - * @return Object of given class received as response */ - @SuppressWarnings({ "unchecked", "rawtypes" }) - protected Object postRequest(Class responseClass, Form form) { - return resource.type(MediaType.APPLICATION_FORM_URLENCODED_TYPE).header(HTTP_HEADER_AUTH, authHeader) - .accept(MediaType.TEXT_XML).post(responseClass, form); + protected void postRequest(Form form) { + try { + resource.type(MediaType.APPLICATION_FORM_URLENCODED_TYPE).header(HTTP_HEADER_AUTH, authHeader) + .accept(MediaType.APPLICATION_XML).post(form); + } catch (UniformInterfaceException e) { + throw new GlusterRuntimeException(e.getResponse().getEntity(String.class)); + } } /** @@ -231,16 +232,16 @@ public abstract class AbstractClient { * * @param subResourceName * Name of the sub-resource to which the request is to be posted - * @param responseClass - * Class of the object expected as response * @param form * Form to be submitted - * @return Object of given class received as response */ - @SuppressWarnings({ "rawtypes", "unchecked" }) - protected Object postRequest(String subResourceName, Class responseClass, Form form) { - return resource.path(subResourceName).type(MediaType.APPLICATION_FORM_URLENCODED_TYPE) - .header(HTTP_HEADER_AUTH, authHeader).accept(MediaType.TEXT_XML).post(responseClass, form); + protected void postRequest(String subResourceName, Form form) { + try { + resource.path(subResourceName).type(MediaType.APPLICATION_FORM_URLENCODED_TYPE) + .header(HTTP_HEADER_AUTH, authHeader).accept(MediaType.APPLICATION_XML).post(form); + } catch (UniformInterfaceException e) { + throw new GlusterRuntimeException(e.getResponse().getEntity(String.class)); + } } /** @@ -248,29 +249,31 @@ public abstract class AbstractClient { * * @param subResourceName * Name of the sub-resource to which the request is to be posted - * @param responseClass - * Class of the object expected as response * @param form * Form to be submitted - * @return Object of given class received as response */ - protected Object putRequest(String subResourceName, Class responseClass, Form form) { - return resource.path(subResourceName).type(MediaType.APPLICATION_FORM_URLENCODED_TYPE) - .header(HTTP_HEADER_AUTH, authHeader).accept(MediaType.TEXT_XML).put(responseClass, form); + protected void putRequest(String subResourceName, Form form) { + try { + resource.path(subResourceName).type(MediaType.APPLICATION_FORM_URLENCODED_TYPE) + .header(HTTP_HEADER_AUTH, authHeader).accept(MediaType.APPLICATION_XML).put(form); + } catch (UniformInterfaceException e) { + throw new GlusterRuntimeException(e.getResponse().getEntity(String.class)); + } } /** * Submits given Form using PUT method to the given sub-resource and returns the object received as response * - * @param responseClass - * Class of the object expected as response * @param form * Form to be submitted - * @return Object of given class received as response */ - protected Object putRequest(Class responseClass, Form form) { - return resource.type(MediaType.APPLICATION_FORM_URLENCODED_TYPE).header(HTTP_HEADER_AUTH, authHeader) - .accept(MediaType.TEXT_XML).put(responseClass, form); + protected void putRequest(Form form) { + try { + resource.type(MediaType.APPLICATION_FORM_URLENCODED_TYPE).header(HTTP_HEADER_AUTH, authHeader) + .accept(MediaType.APPLICATION_XML).put(form); + } catch(UniformInterfaceException e) { + throw new GlusterRuntimeException(e.getResponse().getEntity(String.class)); + } } /** @@ -278,13 +281,14 @@ public abstract class AbstractClient { * * @param subResourceName * Name of the sub-resource to which the request is to be posted - * @param responseClass - * Class of the object expected as response - * @return Object of given class received as response */ - protected Object putRequest(String subResourceName, Class responseClass) { - return resource.path(subResourceName).type(MediaType.APPLICATION_FORM_URLENCODED_TYPE) - .header(HTTP_HEADER_AUTH, authHeader).accept(MediaType.TEXT_XML).put(responseClass); + protected void putRequest(String subResourceName) { + try { + resource.path(subResourceName).type(MediaType.APPLICATION_FORM_URLENCODED_TYPE) + .header(HTTP_HEADER_AUTH, authHeader).accept(MediaType.APPLICATION_XML).put(); + } catch (UniformInterfaceException e) { + throw new GlusterRuntimeException(e.getResponse().getEntity(String.class)); + } } /** @@ -298,8 +302,8 @@ public abstract class AbstractClient { */ @SuppressWarnings({ "unchecked", "rawtypes" }) protected Object postObject(Class responseClass, Object requestObject) { - return resource.type(MediaType.TEXT_XML).header(HTTP_HEADER_AUTH, authHeader).accept(MediaType.TEXT_XML) - .post(responseClass, requestObject); + return resource.type(MediaType.APPLICATION_XML).header(HTTP_HEADER_AUTH, authHeader) + .accept(MediaType.APPLICATION_XML).post(responseClass, requestObject); } @SuppressWarnings({ "unchecked", "rawtypes" }) @@ -314,9 +318,12 @@ public abstract class AbstractClient { .delete(responseClass); } - @SuppressWarnings({ "unchecked", "rawtypes" }) - protected Object deleteSubResource(String subResourceName, Class responseClass) { - return resource.path(subResourceName).header(HTTP_HEADER_AUTH, authHeader).delete(responseClass); + protected void deleteSubResource(String subResourceName) { + try { + resource.path(subResourceName).header(HTTP_HEADER_AUTH, authHeader).delete(); + } catch (UniformInterfaceException e) { + throw new GlusterRuntimeException(e.getResponse().getEntity(String.class)); + } } public abstract String getResourcePath(); diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/ClustersClient.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/ClustersClient.java index 8eeb96fe..dadeadf8 100644 --- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/ClustersClient.java +++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/ClustersClient.java @@ -24,8 +24,9 @@ import static com.gluster.storage.management.core.constants.RESTConstants.RESOUR import java.util.List; +import com.gluster.storage.management.core.exceptions.GlusterRuntimeException; import com.gluster.storage.management.core.model.Status; -import com.gluster.storage.management.core.response.StringListResponse; +import com.gluster.storage.management.core.response.ClusterNameListResponse; import com.sun.jersey.api.representation.Form; /** @@ -49,25 +50,26 @@ public class ClustersClient extends AbstractClient { return RESOURCE_PATH_CLUSTERS; } - public StringListResponse getClusters() { - return (StringListResponse)fetchResource(StringListResponse.class); + public List getClusterNames() { + return ((ClusterNameListResponse)fetchResource(ClusterNameListResponse.class)).getClusterNames(); } - public Status createCluster(String clusterName) { + public void createCluster(String clusterName) { Form form = new Form(); form.add(FORM_PARAM_CLUSTER_NAME, clusterName); - return (Status)postRequest(Status.class, form); + + postRequest(form); } - public Status registerCluster(String clusterName, String knownServer) { + public void registerCluster(String clusterName, String knownServer) { Form form = new Form(); form.add(FORM_PARAM_CLUSTER_NAME, clusterName); form.add(FORM_PARAM_SERVER_NAME, knownServer); - return (Status)putRequest(Status.class, form); + putRequest(form); } - public Status deleteCluster(String clusterName) { - return (Status)deleteSubResource(clusterName, Status.class); + public void deleteCluster(String clusterName) { + deleteSubResource(clusterName); } public static void main(String args[]) { @@ -76,20 +78,21 @@ public class ClustersClient extends AbstractClient { if (authStatus.isSuccess()) { ClustersClient client = new ClustersClient(); client.setSecurityToken(usersClient.getSecurityToken()); - StringListResponse response = client.getClusters(); - List clusters = response.getData(); - if(clusters.size() == 0) { - Status status = client.createCluster("myCluster1"); - System.out.println(status); + System.out.println(client.getClusterNames()); + try { + client.createCluster("test1"); + } catch(GlusterRuntimeException e) { + System.out.println(e.getMessage()); } - response = client.getClusters(); - clusters = response.getData(); - System.out.println(clusters); - System.out.println(client.deleteCluster("myCluster1")); - response = client.getClusters(); - clusters = response.getData(); - System.out.println(clusters); + System.out.println(client.getClusterNames()); + + try { + client.deleteCluster("test1"); + } catch (GlusterRuntimeException e) { + System.out.println(e.getMessage()); + } + System.out.println(client.getClusterNames()); } else { System.out.println("authentication failed: " + authStatus); } diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java index 6c75b7c5..26129736 100644 --- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java +++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java @@ -59,8 +59,9 @@ public class GlusterServersClient extends AbstractClient { } @SuppressWarnings("unchecked") - public Server getServer(String serverName) { - GenericResponse response = (GenericResponse) fetchSubResource(serverName, GenericResponse.class); + public GlusterServer getGlusterServer(String serverName) { + GenericResponse response = (GenericResponse) fetchSubResource(serverName, + GenericResponse.class); return response.getData(); } @@ -68,14 +69,14 @@ public class GlusterServersClient extends AbstractClient { return ((String) fetchSubResource(serverName, String.class)); } - public GlusterServerResponse addServer(Server discoveredServer) { + public void addServer(Server discoveredServer) { Form form = new Form(); form.add(RESTConstants.FORM_PARAM_SERVER_NAME, discoveredServer.getName()); - return (GlusterServerResponse)postRequest(GlusterServerResponse.class, form); + postRequest(form); } - public Status removeServer(String serverName) { - return (Status) deleteSubResource(serverName, Status.class); + public void removeServer(String serverName) { + deleteSubResource(serverName); } public static void main(String[] args) { @@ -90,9 +91,7 @@ public class GlusterServersClient extends AbstractClient { // Add server Server srv = new Server(); srv.setName("server3"); - GlusterServerResponse response = glusterServersClient.addServer(srv); - System.out.println(response.getGlusterServer().getName()); - System.out.println(response.getStatus().isSuccess()); + glusterServersClient.addServer(srv); } } } diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/TasksClient.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/TasksClient.java index 9fab945c..54ba07e7 100644 --- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/TasksClient.java +++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/TasksClient.java @@ -59,32 +59,32 @@ public class TasksClient extends AbstractClient { } // see startMigration @ VolumesClient, etc - public TaskResponse pauseTask(String taskId) { + public void pauseTask(String taskId) { Form form = new Form(); form.add(RESTConstants.FORM_PARAM_OPERATION, RESTConstants.TASK_PAUSE); - return (TaskResponse) putRequest( taskId, TaskResponse.class, form); + putRequest( taskId, form); } - public TaskResponse resumeTask(String taskId) { + public void resumeTask(String taskId) { Form form = new Form(); form.add(RESTConstants.FORM_PARAM_OPERATION, RESTConstants.TASK_RESUME); - return (TaskResponse) putRequest( taskId, TaskResponse.class, form); + putRequest(taskId, form); } - public TaskResponse stopTask(String taskId) { + public void stopTask(String taskId) { Form form = new Form(); form.add(RESTConstants.FORM_PARAM_OPERATION, RESTConstants.TASK_STOP); - return (TaskResponse) putRequest( taskId, TaskResponse.class, form); + putRequest(taskId, form); } - public TaskResponse getTaskStatus(String taskId) { + public void getTaskStatus(String taskId) { Form form = new Form(); form.add(RESTConstants.FORM_PARAM_OPERATION, RESTConstants.TASK_STATUS); - return (TaskResponse) putRequest( taskId, TaskResponse.class, form); + putRequest(taskId, form); } public TaskResponse deleteTask(String taskId) { diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/UsersClient.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/UsersClient.java index 3d2310ac..84ed4e4c 100644 --- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/UsersClient.java +++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/UsersClient.java @@ -75,9 +75,12 @@ public class UsersClient extends AbstractClient { Form form = new Form(); form.add(FORM_PARAM_OLD_PASSWORD, oldPassword); form.add(FORM_PARAM_NEW_PASSWORD, newPassword); - Status status = (Status) putRequest(user, Status.class, form); - - return status.isSuccess(); + try { + putRequest(user, form); + return true; + } catch (Exception e) { + return false; + } } public static void main(String[] args) { diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java index a0a2e84a..24ba119f 100644 --- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java +++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java @@ -63,30 +63,30 @@ public class VolumesClient extends AbstractClient { return (Status) postObject(Status.class, volume); } - private Status performOperation(String volumeName, String operation) { + private void performOperation(String volumeName, String operation) { Form form = new Form(); form.add(RESTConstants.FORM_PARAM_OPERATION, operation); - return (Status) putRequest(volumeName, Status.class, form); + putRequest(volumeName, form); } - public Status startVolume(String volumeName) { - return performOperation(volumeName, RESTConstants.TASK_START); + public void startVolume(String volumeName) { + performOperation(volumeName, RESTConstants.TASK_START); } - public Status stopVolume(String volumeName) { - return performOperation(volumeName, RESTConstants.TASK_STOP); + public void stopVolume(String volumeName) { + performOperation(volumeName, RESTConstants.TASK_STOP); } - public Status setVolumeOption(String volume, String key, String value) { + public void setVolumeOption(String volume, String key, String value) { Form form = new Form(); form.add(RESTConstants.FORM_PARAM_OPTION_KEY, key); form.add(RESTConstants.FORM_PARAM_OPTION_VALUE, value); - return (Status) postRequest(volume + "/" + RESTConstants.RESOURCE_OPTIONS, Status.class, form); + postRequest(volume + "/" + RESTConstants.RESOURCE_OPTIONS, form); } - public Status resetVolumeOptions(String volume) { - return (Status) putRequest(volume + "/" + RESTConstants.RESOURCE_OPTIONS, Status.class); + public void resetVolumeOptions(String volume) { + putRequest(volume + "/" + RESTConstants.RESOURCE_OPTIONS); } public VolumeListResponse getAllVolumes() { @@ -108,11 +108,11 @@ public class VolumesClient extends AbstractClient { VolumeOptionInfoListResponse.class)); } - public Status addBricks(String volumeName, List brickList) { + public void addBricks(String volumeName, List brickList) { String bricks = StringUtil.ListToString(brickList, ","); Form form = new Form(); form.add(RESTConstants.FORM_PARAM_BRICKS, bricks); - return (Status) postRequest(volumeName + "/" + RESTConstants.RESOURCE_BRICKS, Status.class, form); + postRequest(volumeName + "/" + RESTConstants.RESOURCE_BRICKS, form); } /** @@ -192,18 +192,16 @@ public class VolumesClient extends AbstractClient { return queryParams; } - public Status startMigration(String volumeName, String brickFrom, String brickTo, Boolean autoCommit) { + public void startMigration(String volumeName, String brickFrom, String brickTo, Boolean autoCommit) { Form form = new Form(); form.add(RESTConstants.FORM_PARAM_SOURCE, brickFrom); form.add(RESTConstants.FORM_PARAM_TARGET, brickTo); form.add(RESTConstants.FORM_PARAM_OPERATION, RESTConstants.TASK_START); form.add(RESTConstants.FORM_PARAM_AUTO_COMMIT, autoCommit); - return (Status) putRequest( volumeName + "/" + RESTConstants.RESOURCE_BRICKS, Status.class, form); + putRequest( volumeName + "/" + RESTConstants.RESOURCE_BRICKS, form); } - - public static void main(String[] args) { UsersClient usersClient = new UsersClient(); if (usersClient.authenticate("gluster", "gluster").isSuccess()) { 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 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 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 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 getClusterNames(ClustersClient clustersClient) { - StringListResponse clustersResponse = clustersClient.getClusters(); - List clusters = new ArrayList(); - 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); } diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/AbstractResource.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/AbstractResource.java index 200bd24b..2fcf3875 100644 --- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/AbstractResource.java +++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/AbstractResource.java @@ -18,6 +18,8 @@ *******************************************************************************/ package com.gluster.storage.management.server.resources; +import java.net.URI; + import javax.ws.rs.core.Context; import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.Status; @@ -35,11 +37,11 @@ public class AbstractResource { * the given path relative to current path. * * @param relativePath - * path to be used for creating the URI to be set in the "location" header of response. + * relative path of the created resource - will be set in the "location" header of response. * @return the {@link Response} object */ protected Response createdResponse(String relativePath) { - return Response.created(uriInfo.getAbsolutePathBuilder().path(relativePath).build()).build(); + return Response.created(createURI(relativePath)).build(); } /** @@ -50,6 +52,19 @@ public class AbstractResource { return Response.noContent().build(); } + /** + * Creates a response with HTTP status code of 204 (no content), also setting the location header to given location + * @param location path of the location to be set relative to current path + * @return the {@link Response} object + */ + protected Response noContentResponse(String location) { + return Response.noContent().location(createURI(location)).build(); + } + + protected URI createURI(String location) { + return uriInfo.getAbsolutePathBuilder().path(location).build(); + } + /** * Creates a response with HTTP status code of 500 (internal server error) and sets the error message in the * response body diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/AlertsResource.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/AlertsResource.java index 060ce60c..3c70beec 100644 --- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/AlertsResource.java +++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/AlertsResource.java @@ -20,7 +20,7 @@ import com.gluster.storage.management.core.model.Alert; public class AlertsResource { @GET - @Produces(MediaType.TEXT_XML) + @Produces(MediaType.APPLICATION_XML) public AlertListResponse getAlerts() { List alerts = new ArrayList(); diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/ClustersResource.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/ClustersResource.java index a5bfe5ff..2ce23a4e 100644 --- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/ClustersResource.java +++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/ClustersResource.java @@ -110,7 +110,7 @@ public class ClustersResource extends AbstractResource { try { clusterService.registerCluster(clusterName, knownServer); - return noContentResponse(); + return noContentResponse(clusterName); } catch(Exception e) { // TODO: Log the exception return errorResponse("Exception while trying to register cluster [" + clusterName + "] using server [" diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/DiscoveredServersResource.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/DiscoveredServersResource.java index 3d9a5b12..740f7cfa 100644 --- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/DiscoveredServersResource.java +++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/DiscoveredServersResource.java @@ -65,7 +65,7 @@ public class DiscoveredServersResource extends AbstractServersResource { } @GET - @Produces(MediaType.TEXT_XML) + @Produces(MediaType.APPLICATION_XML) @SuppressWarnings("rawtypes") public Response getDiscoveredServers(@QueryParam("details") Boolean getDetails) { if(getDetails != null && getDetails == true) { @@ -102,7 +102,7 @@ public class DiscoveredServersResource extends AbstractServersResource { @Path("/{serverName}") @GET - @Produces(MediaType.TEXT_XML) + @Produces(MediaType.APPLICATION_XML) public GenericResponse getDiscoveredServer(@PathParam("serverName") String serverName) { Server server = new Server(serverName); try { diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/GlusterServersResource.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/GlusterServersResource.java index 27f0829b..48c9b7fc 100644 --- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/GlusterServersResource.java +++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/GlusterServersResource.java @@ -121,7 +121,7 @@ public class GlusterServersResource extends AbstractServersResource { } @GET - @Produces(MediaType.TEXT_XML) + @Produces(MediaType.APPLICATION_XML) public GlusterServerListResponse getGlusterServers( @PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName) { List glusterServers = new ArrayList(); @@ -181,7 +181,7 @@ public class GlusterServersResource extends AbstractServersResource { @GET @Path("{serverName}") - @Produces(MediaType.TEXT_XML) + @Produces(MediaType.APPLICATION_XML) public GlusterServerResponse getGlusterServer( @PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName, @PathParam(PATH_PARAM_SERVER_NAME) String serverName) { @@ -224,7 +224,7 @@ public class GlusterServersResource extends AbstractServersResource { } @POST - @Produces(MediaType.TEXT_XML) + @Produces(MediaType.APPLICATION_XML) public GlusterServerResponse addServer(@PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName, @FormParam(FORM_PARAM_SERVER_NAME) String serverName) { if(clusterName.isEmpty()) { @@ -293,7 +293,7 @@ public class GlusterServersResource extends AbstractServersResource { } @DELETE - @Produces(MediaType.TEXT_XML) + @Produces(MediaType.APPLICATION_XML) @Path("{" + PATH_PARAM_SERVER_NAME + "}") public Status removeServer(@PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName, @PathParam(PATH_PARAM_SERVER_NAME) String serverName) { diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/TasksResource.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/TasksResource.java index fe9a7763..4bf1c0cf 100644 --- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/TasksResource.java +++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/TasksResource.java @@ -93,7 +93,7 @@ public class TasksResource { } @GET - @Produces(MediaType.TEXT_XML) + @Produces(MediaType.APPLICATION_XML) public TaskListResponse getTasks() { TaskListResponse taskListResponse = new TaskListResponse(); try { @@ -107,7 +107,7 @@ public class TasksResource { @PUT @Path("/{" + PATH_PARAM_TASK_ID + "}") - @Produces(MediaType.TEXT_XML) + @Produces(MediaType.APPLICATION_XML) public TaskResponse performTask(@PathParam(PATH_PARAM_TASK_ID) String taskId, @FormParam(FORM_PARAM_OPERATION) String taskOperation) { Task task = getTask(taskId); @@ -134,7 +134,7 @@ public class TasksResource { @DELETE @Path("/{" + PATH_PARAM_TASK_ID + "}") - @Produces(MediaType.TEXT_XML) + @Produces(MediaType.APPLICATION_XML) public TaskResponse deleteTask(@PathParam(PATH_PARAM_TASK_ID) String taskId, @QueryParam(FORM_PARAM_OPERATION) String taskOperation) { TaskResponse taskResponse = new TaskResponse(); diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/UsersResource.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/UsersResource.java index 5e9c1945..0326793b 100644 --- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/UsersResource.java +++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/UsersResource.java @@ -68,7 +68,7 @@ public class UsersResource { @Path("{user}") @GET - @Produces(MediaType.TEXT_XML) + @Produces(MediaType.APPLICATION_XML) public Status authenticate(@PathParam("user") String user) { // success only if the user passed in query is same as the one passed in security header // spring security would have already authenticated the user credentials @@ -78,7 +78,7 @@ public class UsersResource { @Path("{user}") @PUT - @Produces(MediaType.TEXT_XML) + @Produces(MediaType.APPLICATION_XML) public Status changePassword(@FormParam("oldpassword") String oldPassword, @FormParam("newpassword") String newPassword) { try { diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/VolumesResource.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/VolumesResource.java index 76432b3f..71dc3579 100644 --- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/VolumesResource.java +++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/VolumesResource.java @@ -122,7 +122,7 @@ public class VolumesResource { private VolumeOptionsDefaults volumeOptionsDefaults; @GET - @Produces(MediaType.TEXT_XML) + @Produces(MediaType.APPLICATION_XML) public VolumeListResponse getAllVolumes(@PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName) { GlusterServer onlineServer = glusterServersResource.getOnlineServer(clusterName); if (onlineServer == null) { @@ -143,8 +143,8 @@ public class VolumesResource { } @POST - @Consumes(MediaType.TEXT_XML) - @Produces(MediaType.TEXT_XML) + @Consumes(MediaType.APPLICATION_XML) + @Produces(MediaType.APPLICATION_XML) public Status createVolume(@PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName, Volume volume) { List brickDirectories = GlusterCoreUtil.getQualifiedBrickList(volume.getBricks()); @@ -171,7 +171,7 @@ public class VolumesResource { @SuppressWarnings("rawtypes") @GET @Path("{" + PATH_PARAM_VOLUME_NAME + "}") - @Produces(MediaType.TEXT_XML) + @Produces(MediaType.APPLICATION_XML) public GenericResponse getVolume(@PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName, @PathParam(PATH_PARAM_VOLUME_NAME) String volumeName) { GlusterServer onlineServer = glusterServersResource.getOnlineServer(clusterName); @@ -198,7 +198,7 @@ public class VolumesResource { @PUT @Path("{" + PATH_PARAM_VOLUME_NAME + "}") - @Produces(MediaType.TEXT_XML) + @Produces(MediaType.APPLICATION_XML) public Status performOperation(@PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName, @PathParam(PATH_PARAM_VOLUME_NAME) String volumeName, @FormParam(FORM_PARAM_OPERATION) String operation) { GlusterServer onlineServer = glusterServersResource.getOnlineServer(clusterName); @@ -231,7 +231,7 @@ public class VolumesResource { @DELETE @Path("{" + PATH_PARAM_VOLUME_NAME + "}") - @Produces(MediaType.TEXT_XML) + @Produces(MediaType.APPLICATION_XML) public Status deleteVolume(@PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName, @PathParam(PATH_PARAM_VOLUME_NAME) String volumeName, @QueryParam(QUERY_PARAM_DELETE_OPTION) boolean deleteFlag) { @@ -268,7 +268,7 @@ public class VolumesResource { @DELETE @Path("{" + QUERY_PARAM_VOLUME_NAME + "}/" + RESOURCE_BRICKS) - @Produces(MediaType.TEXT_XML) + @Produces(MediaType.APPLICATION_XML) public Status removeBricks(@PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName, @PathParam(QUERY_PARAM_VOLUME_NAME) String volumeName, @QueryParam(QUERY_PARAM_BRICKS) String bricks, @QueryParam(QUERY_PARAM_DELETE_OPTION) boolean deleteFlag) { @@ -320,7 +320,7 @@ public class VolumesResource { @POST @Path("{" + PATH_PARAM_VOLUME_NAME + " }/" + RESOURCE_OPTIONS) - @Produces(MediaType.TEXT_XML) + @Produces(MediaType.APPLICATION_XML) public Status setOption(@PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName, @PathParam(PATH_PARAM_VOLUME_NAME) String volumeName, @FormParam(RESTConstants.FORM_PARAM_OPTION_KEY) String key, @@ -345,7 +345,7 @@ public class VolumesResource { @PUT @Path("{" + PATH_PARAM_VOLUME_NAME + " }/" + RESOURCE_OPTIONS) - @Produces(MediaType.TEXT_XML) + @Produces(MediaType.APPLICATION_XML) public Status resetOptions(@PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName, @PathParam(PATH_PARAM_VOLUME_NAME) String volumeName) { GlusterServer onlineServer = glusterServersResource.getOnlineServer(clusterName); @@ -368,7 +368,7 @@ public class VolumesResource { @GET @Path(RESOURCE_DEFAULT_OPTIONS) - @Produces(MediaType.TEXT_XML) + @Produces(MediaType.APPLICATION_XML) public VolumeOptionInfoListResponse getDefaultOptions(@PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName) { // TODO: Fetch all volume options with their default values from GlusterFS // whenever such a CLI command is made available in GlusterFS -- cgit