summaryrefslogtreecommitdiffstats
path: root/src/com.gluster.storage.management.gui
diff options
context:
space:
mode:
authorSelvasundaram <selvam@gluster.com>2011-06-30 20:12:21 +0530
committerSelvasundaram <selvam@gluster.com>2011-06-30 20:12:21 +0530
commit9b2290860f9dc5b6bbbe5cfaff785d4eeb617ecd (patch)
tree0d95fb18d58bb0678cf8c8a4e48fbb7594333a3a /src/com.gluster.storage.management.gui
parent0c36771b2b372273fed877dab8e7b79d6ee6ee4a (diff)
parentbe3d2044d8269330202f84aba9a0bee6ea210fd8 (diff)
Merge branch 'tasks'
Diffstat (limited to 'src/com.gluster.storage.management.gui')
-rw-r--r--src/com.gluster.storage.management.gui/plugin.xml16
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/TasksTableLabelProvider.java4
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ClearTaskAction.java2
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/CommitTaskAction.java54
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/PauseTaskAction.java7
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ResumeTaskAction.java7
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StopTaskAction.java6
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/TasksPage.java1
8 files changed, 84 insertions, 13 deletions
diff --git a/src/com.gluster.storage.management.gui/plugin.xml b/src/com.gluster.storage.management.gui/plugin.xml
index c5c25c33..0addb428 100644
--- a/src/com.gluster.storage.management.gui/plugin.xml
+++ b/src/com.gluster.storage.management.gui/plugin.xml
@@ -685,6 +685,22 @@
</action>
<action
allowLabelUpdate="false"
+ class="com.gluster.storage.management.gui.actions.CommitTaskAction"
+ definitionId="com.gluster.storage.management.gui.commands.Commit"
+ icon="icons/stop.png"
+ id="com.gluster.storage.management.gui.actions.Commit"
+ label="&amp;Commit TaskTask"
+ menubarPath="com.gluster.storage.management.gui.menu.cluster/cluster"
+ mode="FORCE_TEXT"
+ pulldown="false"
+ retarget="false"
+ state="false"
+ style="push"
+ toolbarPath="Normal"
+ tooltip="To Commit the selected task">
+ </action>
+ <action
+ allowLabelUpdate="false"
class="com.gluster.storage.management.gui.actions.StopTaskAction"
definitionId="com.gluster.storage.management.gui.commands.Stop"
icon="icons/stop_task.png"
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/TasksTableLabelProvider.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/TasksTableLabelProvider.java
index 177b069e..82aa1f44 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/TasksTableLabelProvider.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/TasksTableLabelProvider.java
@@ -23,12 +23,10 @@ package com.gluster.storage.management.gui;
import org.eclipse.swt.graphics.Image;
import com.gluster.storage.management.core.model.TaskInfo;
-import com.gluster.storage.management.gui.utils.GUIHelper;
import com.gluster.storage.management.gui.views.pages.TasksPage.TASK_TABLE_COLUMN_INDICES;
public class TasksTableLabelProvider extends TableLabelProviderAdapter {
- private GUIHelper guiHelper = GUIHelper.getInstance();
@Override
public Image getColumnImage(Object element, int columnIndex) {
@@ -42,6 +40,6 @@ public class TasksTableLabelProvider extends TableLabelProviderAdapter {
}
TaskInfo taskInfo = (TaskInfo) element;
- return (columnIndex == TASK_TABLE_COLUMN_INDICES.TASK.ordinal()) ? taskInfo.getDescription() : taskInfo.getStatus().getMessage();
+ return (columnIndex == TASK_TABLE_COLUMN_INDICES.TASK.ordinal()) ? taskInfo.getDescription().trim() : taskInfo.getStatus().getMessage().trim();
}
}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ClearTaskAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ClearTaskAction.java
index 75db898d..f1eb8a94 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ClearTaskAction.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ClearTaskAction.java
@@ -25,7 +25,7 @@ public class ClearTaskAction extends AbstractActionDelegate {
new TasksClient().resumeTask(taskInfo.getName());
// TODO Update taskInfo in the model
// modelManager.updateVolumeStatus(volume, VOLUME_STATUS.OFFLINE);
- modelManager.updateTaskStatus(taskInfo, new Status(Status.STATUS_CODE_PART_SUCCESS, taskInfo.getName() + " is cleared from task list"));
+ modelManager.removeTask(taskInfo);
} catch (Exception e) {
showErrorDialog(actionDesc,
"Task [" + taskInfo.getName() + "] could not be cleared! Error: [" + e.getMessage() + "]");
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/CommitTaskAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/CommitTaskAction.java
new file mode 100644
index 00000000..9655b2b3
--- /dev/null
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/CommitTaskAction.java
@@ -0,0 +1,54 @@
+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 com.gluster.storage.management.client.GlusterDataModelManager;
+import com.gluster.storage.management.client.TasksClient;
+import com.gluster.storage.management.core.model.Status;
+import com.gluster.storage.management.core.model.TaskInfo;
+import com.gluster.storage.management.core.model.TaskStatus;
+
+public class CommitTaskAction extends AbstractActionDelegate {
+ private TaskInfo taskInfo;
+ private GlusterDataModelManager modelManager = GlusterDataModelManager.getInstance();
+
+ @Override
+ protected void performAction(final IAction action) {
+ Display.getDefault().asyncExec(new Runnable() {
+
+ @Override
+ public void run() {
+ final String actionDesc = action.getDescription();
+
+ try {
+ new TasksClient().commitTask(taskInfo.getName());
+ taskInfo.setStatus(new TaskStatus(new Status(Status.STATUS_CODE_SUCCESS, taskInfo.getName()
+ + " is commited")));
+ modelManager.updateTask(taskInfo);
+ } catch (Exception e) {
+ showErrorDialog(actionDesc,
+ "Task [" + taskInfo.getName() + "] could not be Stopped! Error: [" + e.getMessage() + "]");
+ }
+ }
+ });
+ }
+
+ @Override
+ public void selectionChanged(IAction action, ISelection selection) {
+ super.selectionChanged(action, selection);
+ action.setEnabled(false);
+ if (selectedEntity instanceof TaskInfo) {
+ taskInfo = (TaskInfo) selectedEntity;
+ action.setEnabled(taskInfo.canCommit()
+ && taskInfo.getStatus().getCode() == Status.STATUS_CODE_COMMIT_PENDING);
+ }
+ }
+
+ @Override
+ public void dispose() {
+
+ }
+
+}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/PauseTaskAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/PauseTaskAction.java
index 2bb7261e..b36b7855 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/PauseTaskAction.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/PauseTaskAction.java
@@ -28,6 +28,7 @@ import com.gluster.storage.management.client.GlusterDataModelManager;
import com.gluster.storage.management.client.TasksClient;
import com.gluster.storage.management.core.model.Status;
import com.gluster.storage.management.core.model.TaskInfo;
+import com.gluster.storage.management.core.model.TaskStatus;
public class PauseTaskAction extends AbstractActionDelegate {
@@ -44,9 +45,9 @@ public class PauseTaskAction extends AbstractActionDelegate {
try {
new TasksClient().pauseTask(taskInfo.getName());
- //TODO Update taskInfo in the model
- // modelManager.updateVolumeStatus(volume, VOLUME_STATUS.OFFLINE);
- modelManager.updateTaskStatus(taskInfo, new Status( Status.STATUS_CODE_PAUSE, "Paused"));
+ taskInfo.setStatus(new TaskStatus(new Status(Status.STATUS_CODE_PAUSE, taskInfo.getName()
+ + " is Paused")));
+ modelManager.updateTask(taskInfo);
} catch (Exception e) {
showErrorDialog(actionDesc,
"Task [" + taskInfo.getName() + "] could not be Paused! Error: [" + e.getMessage() + "]");
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ResumeTaskAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ResumeTaskAction.java
index 07894c80..fc80b04d 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ResumeTaskAction.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ResumeTaskAction.java
@@ -8,6 +8,7 @@ import com.gluster.storage.management.client.GlusterDataModelManager;
import com.gluster.storage.management.client.TasksClient;
import com.gluster.storage.management.core.model.Status;
import com.gluster.storage.management.core.model.TaskInfo;
+import com.gluster.storage.management.core.model.TaskStatus;
public class ResumeTaskAction extends AbstractActionDelegate {
private TaskInfo taskInfo;
@@ -23,9 +24,9 @@ public class ResumeTaskAction extends AbstractActionDelegate {
try {
new TasksClient().resumeTask(taskInfo.getName());
- // TODO Update taskInfo in the model
- // modelManager.updateVolumeStatus(volume, VOLUME_STATUS.OFFLINE);
- modelManager.updateTaskStatus(taskInfo, new Status(Status.STATUS_CODE_PAUSE, taskInfo.getName() + " is Resumed"));
+ taskInfo.setStatus(new TaskStatus(new Status(Status.STATUS_CODE_RUNNING, taskInfo.getName()
+ + " is Resumed")));
+ modelManager.updateTask(taskInfo);
} catch (Exception e) {
showErrorDialog(actionDesc,
"Task [" + taskInfo.getName() + "] could not be Resumed! Error: [" + e.getMessage() + "]");
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StopTaskAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StopTaskAction.java
index 144e94be..abde4e57 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StopTaskAction.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StopTaskAction.java
@@ -8,6 +8,7 @@ import com.gluster.storage.management.client.GlusterDataModelManager;
import com.gluster.storage.management.client.TasksClient;
import com.gluster.storage.management.core.model.Status;
import com.gluster.storage.management.core.model.TaskInfo;
+import com.gluster.storage.management.core.model.TaskStatus;
public class StopTaskAction extends AbstractActionDelegate {
private TaskInfo taskInfo;
@@ -23,9 +24,8 @@ public class StopTaskAction extends AbstractActionDelegate {
try {
new TasksClient().resumeTask(taskInfo.getName());
- // TODO Update taskInfo in the model
- // modelManager.updateVolumeStatus(volume, VOLUME_STATUS.OFFLINE);
- modelManager.updateTaskStatus(taskInfo, new Status(Status.STATUS_CODE_PART_SUCCESS, taskInfo.getName() + " is Stopped"));
+ taskInfo.setStatus( new TaskStatus( new Status(Status.STATUS_CODE_SUCCESS, taskInfo.getName() + " is Stopped")));
+ modelManager.updateTask(taskInfo);
} catch (Exception e) {
showErrorDialog(actionDesc,
"Task [" + taskInfo.getName() + "] could not be Stopped! Error: [" + e.getMessage() + "]");
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/TasksPage.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/TasksPage.java
index 03c4f7ac..ce68e22f 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/TasksPage.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/TasksPage.java
@@ -45,6 +45,7 @@ public class TasksPage extends AbstractTableViewerPage<TaskInfo> {
private static final String[] TASK_TABLE_COLUMN_NAMES = new String[] { "Task", "Status"};
+ @SuppressWarnings("unchecked")
public TasksPage(IWorkbenchSite site, Composite parent, int style, Object taskInfo) {
super(site, parent, style, false, false, taskInfo);
this.taskInfoList = (List<TaskInfo>) taskInfo;