Clover Coverage Report - Atlassian Core
Coverage timestamp: Sun Nov 30 2008 18:33:35 CST
23   104   13   2.3
4   76   0.57   10
10     1.3  
1    
 
 
  AbstractTaskQueue       Line # 15 23 13 62.2% 0.6216216
 
  (3)
 
1    package com.atlassian.core.task;
2   
3    import org.apache.log4j.Logger;
4   
5    import java.sql.Timestamp;
6    import java.util.Collection;
7   
8    /**
9    * Created by IntelliJ IDEA.
10    * User: Tomd
11    * Date: 26/04/2006
12    * Time: 11:17:36
13    * To change this template use File | Settings | File Templates.
14    */
 
15    public abstract class AbstractTaskQueue implements TaskQueue
16    {
17    private static final transient Logger log = Logger.getLogger(AbstractTaskQueue.class);
18    protected FifoBuffer buffer;
19   
20    private boolean flushing;
21    private Timestamp flushStarted;
22   
23   
 
24  5 toggle public AbstractTaskQueue(FifoBuffer buffer)
25    {
26  5 this.buffer = buffer;
27    }
28   
 
29  6 toggle public void flush()
30    {
31  6 if (flushing)
32  0 return;
33   
34  6 flushing = true;
35  6 flushStarted = new Timestamp(System.currentTimeMillis());
36   
37  6 try
38    {
39  6 Task task;
40  ? while ((task = (Task) buffer.remove()) != null)
41    {
42  9 log.debug("Executing: " + task);
43  9 try
44    {
45  9 task.execute();
46    }
47    catch (Exception e)
48    {
49  3 handleException(task, e);
50    }
51    }
52    }
53    finally
54    {
55  6 flushing = false;
56  6 flushStarted = null;
57    }
58    }
59   
 
60  0 toggle protected void handleException(Task task, Exception e)
61    {
62  0 log.error("Failed to execute task : " + task, e);
63    }
64   
 
65  10 toggle public int size()
66    {
67  10 return buffer.size();
68    }
69   
 
70  10 toggle public void addTask(Task task)
71    {
72  10 log.debug("Queued: " + task);
73  10 buffer.add(task);
74    }
75   
76    /**
77    * @deprecated use getTasks() instead.
78    */
 
79  0 toggle public Collection getQueue()
80    {
81  0 return buffer.getItems();
82    }
83   
 
84  0 toggle public boolean isFlushing()
85    {
86  0 return flushing;
87    }
88   
 
89  1 toggle public Timestamp getFlushStarted()
90    {
91  1 return flushStarted;
92    }
93   
 
94  0 toggle public void clear()
95    {
96  0 buffer.clear();
97    }
98   
 
99  0 toggle public Collection getTasks()
100    {
101  0 return buffer.getItems();
102    }
103    }
104