diff options
| author | Selvasundaram <selvam@gluster.com> | 2011-06-21 12:12:21 +0530 |
|---|---|---|
| committer | Selvasundaram <selvam@gluster.com> | 2011-06-21 12:12:21 +0530 |
| commit | b420b70b49170e69d82af1582055762299f3cd4f (patch) | |
| tree | a02fb42c23f2a07f90d1637a5907c12926820fdc /src | |
| parent | d087abbe29dd671078f3fd07448d09e12712bc01 (diff) | |
| parent | 924badad2e1c674ab2021cfdae0037098bf131db (diff) | |
Merge branch 'tasks'
Diffstat (limited to 'src')
8 files changed, 39 insertions, 49 deletions
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 5a1a28a7..282b45b5 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 @@ -287,11 +287,6 @@ public abstract class AbstractClient { .header(HTTP_HEADER_AUTH, authHeader).accept(MediaType.TEXT_XML).put(responseClass);
}
- protected Object putRequest(String subResourceName, Class responseClass, MultivaluedMap<String, String> queryParams) {
- return resource.path(subResourceName).queryParams(queryParams).type(MediaType.APPLICATION_FORM_URLENCODED_TYPE)
- .header(HTTP_HEADER_AUTH, authHeader).accept(MediaType.TEXT_XML).put(responseClass);
- }
-
/**
* Submits given object to the resource and returns the object received as response
*
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java index 15ee1adc..fe8b3048 100644 --- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java +++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java @@ -45,8 +45,6 @@ import com.gluster.storage.management.core.response.VolumeListResponse; import com.gluster.storage.management.core.response.VolumeOptionInfoListResponse; public class GlusterDataModelManager { - // private Server discoveredServer1, discoveredServer2, discoveredServer3, - // discoveredServer4, discoveredServer5; private static GlusterDataModelManager instance = new GlusterDataModelManager(); private GlusterDataModel model; private String securityToken; @@ -137,13 +135,8 @@ public class GlusterDataModelManager { } public void initializeTasks(Cluster cluster) { - try { - List<TaskInfo> taskInfoList = new TasksClient(cluster.getName()). getAllTasks(); - cluster.setTaskInfoList(taskInfoList); - } catch(GlusterRuntimeException e) { - //TODO show the error dialog - //showErrorDialog( "Tasks", "Fetching tasks failed! Error: [" + e.getMessage() + "]"); - } + List<TaskInfo> taskInfoList = new TasksClient(cluster.getName()).getAllTasks(); + cluster.setTaskInfoList(taskInfoList); } public void initializeAlerts(Cluster cluster) { 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 c1cfd9bd..9fab945c 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 @@ -58,39 +58,39 @@ public class TasksClient extends AbstractClient { } } - // see startMigration @ VolumesClient - public TaskResponse pauseMigration(String taskId) { - MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); - queryParams.add(RESTConstants.QUERY_PARAM_TASK_OPERATION, RESTConstants.TASK_PAUSE); - - return (TaskResponse) putRequest( taskId, TaskResponse.class, queryParams); + // see startMigration @ VolumesClient, etc + public TaskResponse pauseTask(String taskId) { + Form form = new Form(); + form.add(RESTConstants.FORM_PARAM_OPERATION, RESTConstants.TASK_PAUSE); + + return (TaskResponse) putRequest( taskId, TaskResponse.class, form); } - public TaskResponse resumeMigration(String taskId) { - MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); - queryParams.add(RESTConstants.QUERY_PARAM_TASK_OPERATION, RESTConstants.TASK_RESUME); + public TaskResponse resumeTask(String taskId) { + Form form = new Form(); + form.add(RESTConstants.FORM_PARAM_OPERATION, RESTConstants.TASK_RESUME); - return (TaskResponse) putRequest( taskId, TaskResponse.class, queryParams); + return (TaskResponse) putRequest( taskId, TaskResponse.class, form); } - public TaskResponse stopMigration(String taskId) { - MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); - queryParams.add(RESTConstants.QUERY_PARAM_TASK_OPERATION, RESTConstants.TASK_STOP); + public TaskResponse stopTask(String taskId) { + Form form = new Form(); + form.add(RESTConstants.FORM_PARAM_OPERATION, RESTConstants.TASK_STOP); - return (TaskResponse) putRequest( taskId, TaskResponse.class, queryParams); + return (TaskResponse) putRequest( taskId, TaskResponse.class, form); } - public TaskResponse statusMigration(String taskId) { - MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); - queryParams.add(RESTConstants.QUERY_PARAM_TASK_OPERATION, RESTConstants.TASK_STATUS); - - return (TaskResponse) putRequest( taskId, Status.class, queryParams); + public TaskResponse getTaskStatus(String taskId) { + Form form = new Form(); + form.add(RESTConstants.FORM_PARAM_OPERATION, RESTConstants.TASK_STATUS); + + return (TaskResponse) putRequest( taskId, TaskResponse.class, form); } - public TaskInfo deleteMigration(String taskId) { + public TaskResponse deleteTask(String taskId) { MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); - queryParams.add(RESTConstants.QUERY_PARAM_TASK_OPERATION, RESTConstants.TASK_DELETE); + queryParams.add(RESTConstants.FORM_PARAM_OPERATION, RESTConstants.TASK_DELETE); - return (TaskInfo) putRequest( taskId, Status.class, queryParams); + return (TaskResponse) deleteSubResource(taskId, TaskResponse.class, queryParams); } } 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 124e37ea..a0a2e84a 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 @@ -192,11 +192,12 @@ public class VolumesClient extends AbstractClient { return queryParams; } - public Status startMigration(String volumeName, String brickFrom, String brickTo) { + public Status 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); } diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/constants/RESTConstants.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/constants/RESTConstants.java index 9399fb2b..a082d49b 100644 --- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/constants/RESTConstants.java +++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/constants/RESTConstants.java @@ -46,7 +46,6 @@ public class RESTConstants { public static final String TASK_STOP = "stop"; public static final String TASK_STATUS = "status"; public static final String TASK_DELETE = "delete"; - public static final String FORM_PARAM_CLUSTER_NAME = "clusterName"; public static final String FORM_PARAM_SERVER_NAME = "serverName"; @@ -58,7 +57,7 @@ public class RESTConstants { public static final String FORM_PARAM_SOURCE = "source"; public static final String FORM_PARAM_TARGET = "target"; public static final String FORM_PARAM_BRICKS = "bricks"; - public static final String FROM_PARAM_AUTO_COMMIT = "autoCommit"; + public static final String FORM_PARAM_AUTO_COMMIT = "autoCommit"; public static final String PATH_PARAM_VOLUME_NAME = "volumeName"; public static final String PATH_PARAM_CLUSTER_NAME = "clusterName"; @@ -76,5 +75,4 @@ public class RESTConstants { public static final String QUERY_PARAM_TO_TIMESTAMP = "toTimestamp"; public static final String QUERY_PARAM_DOWNLOAD = "download"; public static final String QUERY_PARAM_SERVER_NAME = "serverName"; - public static final String QUERY_PARAM_TASK_OPERATION = "taskOperation"; } diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/MigrateDiskWizard.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/MigrateDiskWizard.java index 07d6e3c5..60cbd387 100644 --- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/MigrateDiskWizard.java +++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/MigrateDiskWizard.java @@ -49,10 +49,11 @@ public class MigrateDiskWizard extends Wizard { Disk sourceDisk = page.getSourceDisk(); Disk targetDisk = page.getTargetDisk(); + Boolean autoCommit = true; //TODO get auto commit from user selection // TODO add custom confirm dialog VolumesClient volumesClient = new VolumesClient(); - volumesClient.startMigration(volume.getName(), sourceDisk.getQualifiedName(), targetDisk.getQualifiedName()); + volumesClient.startMigration(volume.getName(), sourceDisk.getQualifiedName(), targetDisk.getQualifiedName(), autoCommit); return true; } 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 8c71c41a..fe9a7763 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 @@ -22,7 +22,7 @@ package com.gluster.storage.management.server.resources; import static com.gluster.storage.management.core.constants.RESTConstants.PATH_PARAM_CLUSTER_NAME; import static com.gluster.storage.management.core.constants.RESTConstants.PATH_PARAM_TASK_ID; -import static com.gluster.storage.management.core.constants.RESTConstants.QUERY_PARAM_TASK_OPERATION; +import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_OPERATION; import static com.gluster.storage.management.core.constants.RESTConstants.RESOURCE_PATH_CLUSTERS; import static com.gluster.storage.management.core.constants.RESTConstants.RESOURCE_TASKS; @@ -32,6 +32,7 @@ import java.util.List; import java.util.Map; import javax.ws.rs.DELETE; +import javax.ws.rs.FormParam; import javax.ws.rs.GET; import javax.ws.rs.PUT; import javax.ws.rs.Path; @@ -40,6 +41,7 @@ import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; +import com.gluster.storage.management.core.constants.RESTConstants; import com.gluster.storage.management.core.exceptions.GlusterRuntimeException; import com.gluster.storage.management.core.model.Status; import com.gluster.storage.management.core.model.Task; @@ -107,19 +109,19 @@ public class TasksResource { @Path("/{" + PATH_PARAM_TASK_ID + "}") @Produces(MediaType.TEXT_XML) public TaskResponse performTask(@PathParam(PATH_PARAM_TASK_ID) String taskId, - @QueryParam(QUERY_PARAM_TASK_OPERATION) String taskOperation) { + @FormParam(FORM_PARAM_OPERATION) String taskOperation) { Task task = getTask(taskId); TaskInfo taskInfo = null; TaskResponse taskResponse = new TaskResponse(); try { - if (taskOperation.equals("resume")) { + if (taskOperation.equals(RESTConstants.TASK_RESUME)) { taskInfo = task.resume(); } - if (taskOperation.equals("pause")) { + if (taskOperation.equals(RESTConstants.TASK_PAUSE)) { taskInfo = task.pause(); } - if (taskOperation.equals("stop")) { + if (taskOperation.equals(RESTConstants.TASK_STOP)) { taskInfo = task.stop(); } taskResponse.setData(taskInfo); @@ -134,7 +136,7 @@ public class TasksResource { @Path("/{" + PATH_PARAM_TASK_ID + "}") @Produces(MediaType.TEXT_XML) public TaskResponse deleteTask(@PathParam(PATH_PARAM_TASK_ID) String taskId, - @QueryParam(QUERY_PARAM_TASK_OPERATION) String taskOperation) { + @QueryParam(FORM_PARAM_OPERATION) String taskOperation) { TaskResponse taskResponse = new TaskResponse(); Task task = getTask(taskId); if (task == null) { 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 41359253..76432b3f 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 @@ -26,7 +26,7 @@ import static com.gluster.storage.management.core.constants.RESTConstants.FORM_P import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_TARGET; import static com.gluster.storage.management.core.constants.RESTConstants.TASK_START; import static com.gluster.storage.management.core.constants.RESTConstants.TASK_STOP; -import static com.gluster.storage.management.core.constants.RESTConstants.FROM_PARAM_AUTO_COMMIT; +import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_AUTO_COMMIT; import static com.gluster.storage.management.core.constants.RESTConstants.PATH_PARAM_CLUSTER_NAME; import static com.gluster.storage.management.core.constants.RESTConstants.PATH_PARAM_VOLUME_NAME; import static com.gluster.storage.management.core.constants.RESTConstants.QUERY_PARAM_BRICKS; @@ -648,7 +648,7 @@ public class VolumesResource { @Path("{" + PATH_PARAM_VOLUME_NAME + "}/" + RESOURCE_BRICKS) public TaskResponse migrateBrick(@PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName, @PathParam(PATH_PARAM_VOLUME_NAME) String volumeName, @FormParam(FORM_PARAM_SOURCE) String fromBrick, - @FormParam(FORM_PARAM_TARGET) String toBrick, @FormParam(FROM_PARAM_AUTO_COMMIT) Boolean autoCommit) { + @FormParam(FORM_PARAM_TARGET) String toBrick, @FormParam(FORM_PARAM_AUTO_COMMIT) Boolean autoCommit) { TaskResponse taskResponse = new TaskResponse(); GlusterServer onlineServer = glusterServersResource.getOnlineServer(clusterName); |
