From 9c559312b8e7d72963723533affb3889b2ca1aef Mon Sep 17 00:00:00 2001 From: Selvasundaram Date: Sun, 7 Aug 2011 19:56:15 +0530 Subject: Bug 3228 - performing multiple tasks on same volume and clearing the completed tasks throws error - fix --- .../management/console/GlusterDataModelManager.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src') 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) { -- cgit