Clover Coverage Report - Atlassian Core
Coverage timestamp: Sun Nov 30 2008 18:33:35 CST
18   73   14   2
8   59   0.78   9
9     1.56  
1    
 
 
  DefaultMultiQueueTaskManager       Line # 8 18 14 62.9% 0.62857145
 
  (1)
 
1    package com.atlassian.core.task;
2   
3    import java.util.*;
4   
5    /**
6    * A TaskManager implementation that manages multiple queues
7    */
 
8    public class DefaultMultiQueueTaskManager implements MultiQueueTaskManager
9    {
10    private Map queues = new HashMap();
11   
 
12  0 toggle public DefaultMultiQueueTaskManager(String queueName, TaskQueue queue)
13    {
14  0 addTaskQueue(queueName, queue);
15    }
16   
 
17  1 toggle public DefaultMultiQueueTaskManager(Map queues)
18    {
19  1 setTaskQueues(queues);
20    }
21   
 
22  2 toggle public void addTaskQueue(String name, TaskQueue queue)
23    {
24  2 if(queues.keySet().contains(name))
25    {
26  0 throw new IllegalArgumentException("The queue specified already exists in the task manager");
27    }
28  2 queues.put(name, queue);
29    }
30   
 
31  0 toggle public TaskQueue removeTaskQueue(String queueName, TaskQueue taskQueue, boolean flush)
32    {
33  0 TaskQueue queue = getTaskQueue(queueName);
34  0 if(queue!=null && flush)
35    {
36  0 queue.flush();
37    }
38  0 return queue;
39    }
40   
 
41  7 toggle public TaskQueue getTaskQueue(String name)
42    {
43  7 return (TaskQueue)queues.get(name);
44    }
45   
 
46  1 toggle public void setTaskQueues(Map queues)
47    {
48  1 Map.Entry entry;
49  3 for (Iterator iterator = queues.entrySet().iterator(); iterator.hasNext();)
50    {
51  2 entry = (Map.Entry)iterator.next();
52  2 addTaskQueue(entry.getKey().toString(), (TaskQueue)entry.getValue());
53    }
54    }
55   
 
56  3 toggle public void addTask(String queueName, Task task)
57    {
58  3 getTaskQueue(queueName).addTask(task);
59    }
60   
 
61  0 toggle public void flush(String queueName)
62    {
63  0 getTaskQueue(queueName).flush();
64    }
65   
 
66  1 toggle public void flush()
67    {
68  3 for (Iterator iterator = queues.values().iterator(); iterator.hasNext();)
69    {
70  2 ((TaskQueue)iterator.next()).flush();
71    }
72    }
73    }