diff options
| author | Selvasundaram <selvam@gluster.com> | 2011-06-22 18:36:51 +0530 |
|---|---|---|
| committer | Selvasundaram <selvam@gluster.com> | 2011-06-27 21:05:03 +0530 |
| commit | 4ef7f5b73e733528d818d2bb6987a56cc3b097ce (patch) | |
| tree | 78d65f4830bb379aff8963a6f75b61f490666f40 /src/com.gluster.storage.management.client | |
| parent | 8c59a588c903cc1a70ea769e78e0414c69006b35 (diff) | |
Task progress view UI
Diffstat (limited to 'src/com.gluster.storage.management.client')
2 files changed, 48 insertions, 15 deletions
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 695fae19..c02d73b5 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 @@ -35,15 +35,13 @@ import com.gluster.storage.management.core.model.GlusterServer; import com.gluster.storage.management.core.model.Server; import com.gluster.storage.management.core.model.Status; import com.gluster.storage.management.core.model.TaskInfo; +import com.gluster.storage.management.core.model.TaskInfo.TASK_TYPE; +import com.gluster.storage.management.core.model.TaskStatus; import com.gluster.storage.management.core.model.Volume; import com.gluster.storage.management.core.model.Volume.TRANSPORT_TYPE; import com.gluster.storage.management.core.model.Volume.VOLUME_STATUS; import com.gluster.storage.management.core.model.Volume.VOLUME_TYPE; import com.gluster.storage.management.core.model.VolumeOptionInfo; -import com.gluster.storage.management.core.response.GlusterServerListResponse; -import com.gluster.storage.management.core.response.ServerListResponse; -import com.gluster.storage.management.core.response.VolumeListResponse; -import com.gluster.storage.management.core.response.VolumeOptionInfoListResponse; public class GlusterDataModelManager { private static GlusterDataModelManager instance = new GlusterDataModelManager(); @@ -92,7 +90,6 @@ public class GlusterDataModelManager { initializeAutoDiscoveredServers(cluster); // initializeDisks(); - initializeTasks(cluster); initializeAlerts(cluster); initializeVolumeOptionsDefaults(); @@ -118,10 +115,40 @@ public class GlusterDataModelManager { } public void initializeTasks(Cluster cluster) { - List<TaskInfo> taskInfoList = new TasksClient(cluster.getName()).getAllTasks(); + // List<TaskInfo> taskInfoList = new TasksClient(cluster.getName()).getAllTasks(); + List<TaskInfo> taskInfoList = getDummyTasks(); cluster.setTaskInfoList(taskInfoList); } + private List<TaskInfo> getDummyTasks() { + List<TaskInfo> taskInfoList = new ArrayList<TaskInfo>(); + + // Task #1 + TaskInfo taskInfo = new TaskInfo(); + taskInfo.setType(TASK_TYPE.BRICK_MIGRATE); + taskInfo.setName("Migrate Brick-music"); + taskInfo.setCanPause(true); + taskInfo.setCanStop(true); + taskInfo.setStatus(new TaskStatus(new Status(Status.STATUS_CODE_RUNNING, ""))); + + taskInfo.getStatus().setMessage("Migrating file xxxxx to yyyy"); + taskInfo.setDescription("Migrate Brick on volume [music] from /export/adb/music to /export/sdc/music."); + taskInfoList.add(taskInfo); + // Task #2 + taskInfo = new TaskInfo(); + taskInfo.setType(TASK_TYPE.DISK_FORMAT); + taskInfo.setName("Format Disk-server1:sdc"); + taskInfo.setCanPause(false); + taskInfo.setCanStop(false); + taskInfo.setStatus( new TaskStatus(new Status(Status.STATUS_CODE_FAILURE, ""))); + taskInfo.getStatus().setMessage("Format completes 80% ..."); + taskInfo.setDescription("Formatting disk server1:sdc."); + taskInfoList.add(taskInfo); + + + return taskInfoList; + } + public void initializeAlerts(Cluster cluster) { cluster.setAlerts(new AlertsClient(cluster.getName()).getAllAlerts()); } @@ -334,6 +361,15 @@ public class GlusterDataModelManager { } } + public void updateTaskStatus(TaskInfo taskInfo, Status newStatus) { + taskInfo.getStatus().setCode(newStatus.getCode()); + taskInfo.getStatus().setMessage(newStatus.getMessage()); + for (ClusterListener listener : listeners) { + listener.taskUpdated(taskInfo); + } + } + + public List<VolumeOptionInfo> getVolumeOptionsDefaults() { return volumeOptionsDefaults; } @@ -414,4 +450,5 @@ public class GlusterDataModelManager { } return volumeNames; } + } 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 b5ee1d1c..8e608983 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 @@ -26,15 +26,17 @@ import javax.ws.rs.core.MultivaluedMap; 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.TaskInfo; import com.gluster.storage.management.core.response.TaskListResponse; -import com.gluster.storage.management.core.response.TaskResponse; import com.sun.jersey.api.representation.Form; import com.sun.jersey.core.util.MultivaluedMapImpl; public class TasksClient extends AbstractClient { + public TasksClient() { + super(); + } + public TasksClient(String clusterName) { super(clusterName); } @@ -48,14 +50,8 @@ public class TasksClient extends AbstractClient { return RESTConstants.RESOURCE_PATH_CLUSTERS + "/" + clusterName + "/" + RESTConstants.RESOURCE_TASKS + "/"; } - @SuppressWarnings("unchecked") public List<TaskInfo> getAllTasks() { // TaskListResponse get only the list of taskInfo not list of Tasks - TaskListResponse response = (TaskListResponse) fetchResource(TaskListResponse.class); - if (response.getStatus().isSuccess()) { - return (List<TaskInfo>) response.getData(); - } else { - throw new GlusterRuntimeException("Exception on fetching tasks [" + response.getStatus().getMessage() + "]"); - } + return ((TaskListResponse) fetchResource(TaskListResponse.class)).getTaskList(); } // see startMigration @ VolumesClient, etc |
