summaryrefslogtreecommitdiffstats
path: root/src/com.gluster.storage.management.client
diff options
context:
space:
mode:
authorDhandapani <dhandapani@gluster.com>2011-06-28 10:48:27 +0530
committerDhandapani <dhandapani@gluster.com>2011-06-28 10:48:27 +0530
commitbf3cac6a4b53c7e05055de7d407d81fef2e3e362 (patch)
tree2cd706e00a0ecb4c25ded877b02e6f898eb2abfd /src/com.gluster.storage.management.client
parentb51fce37009145f91f0345b428eb297ad4691563 (diff)
parent849eb46d1f475a0f588325c7e45e9ed5fc5e22dd (diff)
Merge branch 'master' of git@github.com:gluster/console
Conflicts: src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/utils/GlusterUtil.java
Diffstat (limited to 'src/com.gluster.storage.management.client')
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java49
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/TasksClient.java14
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