summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/GlusterDataModelManager.java14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/GlusterDataModelManager.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/GlusterDataModelManager.java
index 61895c54..5e8e5325 100644
--- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/GlusterDataModelManager.java
+++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/GlusterDataModelManager.java
@@ -810,12 +810,26 @@ public class GlusterDataModelManager {
public void addTask(TaskInfo taskInfo) {
Cluster cluster = model.getCluster();
+ // To avoid duplicate task, Remove if already exist
+ TaskInfo existingTaskInfo = getTask(taskInfo.getName());
+ if (getTask(taskInfo.getName()) != null) {
+ removeTask(existingTaskInfo);
+ }
cluster.addTaskInfo(taskInfo);
for (ClusterListener listener : listeners) {
listener.taskAdded(taskInfo);
}
}
+ public TaskInfo getTask(String taskId) {
+ for (TaskInfo taskInfo: model.getCluster().getTaskInfoList()) {
+ if (taskInfo.getName().equals(taskId)) {
+ return taskInfo;
+ }
+ }
+ return null;
+ }
+
// Updating the Task
public void updateTask(TaskInfo taskInfo) {
for (ClusterListener listener : listeners) {