24 |
|
|
25 |
private Task currentTask; |
private Task currentTask; |
26 |
|
|
27 |
public synchronized List<TaskBean> getTasks() { |
public List<TaskBean> getTasks() { |
28 |
ArrayList<TaskBean> tmpList = new ArrayList<TaskBean>(); |
ArrayList<TaskBean> tmpList = new ArrayList<TaskBean>(); |
29 |
for (Task t : tasks) { |
|
30 |
tmpList.add( t.getTaskBean() ); |
synchronized(this) { |
31 |
|
for (Task t : tasks) { |
32 |
|
tmpList.add( t.getTaskBean() ); |
33 |
|
} |
34 |
} |
} |
35 |
|
|
36 |
Collections.reverse(tmpList); |
Collections.reverse(tmpList); |
59 |
} |
} |
60 |
|
|
61 |
public synchronized void removeTask(Task removeTask) { |
public synchronized void removeTask(Task removeTask) { |
62 |
if (removeTask.state == TaskState.STATE_ABORTED || removeTask.state == TaskState.STATE_DONE) { |
if (removeTask.state == TaskState.STATE_QUEUED) { |
63 |
|
removeTask.doAbort(); |
64 |
|
} |
65 |
|
|
66 |
|
if (removeTask.state == TaskState.STATE_ABORTED || removeTask.state == TaskState.STATE_DONE || removeTask.state == TaskState.STATE_QUEUED) { |
67 |
taskIdMap.remove( removeTask.getId() ); |
taskIdMap.remove( removeTask.getId() ); |
68 |
tasks.remove(removeTask); |
tasks.remove(removeTask); |
69 |
} else { |
return; |
|
throw new RuntimeException("Cant remove task in current state:" + removeTask.state); |
|
70 |
} |
} |
71 |
|
|
72 |
|
|
73 |
|
throw new RuntimeException("Cant remove task in current state:" + removeTask.state); |
74 |
|
|
75 |
} |
} |
76 |
|
|
77 |
public synchronized void submitTask(Task newTask) { |
public synchronized void submitTask(Task newTask) { |