8 |
import java.util.concurrent.Executors; |
import java.util.concurrent.Executors; |
9 |
|
|
10 |
import dk.daoas.adressevedligehold.tasks.Task.TaskBean; |
import dk.daoas.adressevedligehold.tasks.Task.TaskBean; |
11 |
|
import dk.daoas.adressevedligehold.tasks.Task.TaskState; |
12 |
|
|
13 |
public class TaskManager { |
public class TaskManager { |
14 |
|
|
55 |
executor.shutdownNow(); |
executor.shutdownNow(); |
56 |
} |
} |
57 |
|
|
58 |
|
public synchronized void removeTask(Task removeTask) { |
59 |
|
if (removeTask.state == TaskState.STATE_QUEUED) { |
60 |
|
removeTask.doAbort(); |
61 |
|
} |
62 |
|
|
63 |
|
if (removeTask.state == TaskState.STATE_ABORTED || removeTask.state == TaskState.STATE_DONE || removeTask.state == TaskState.STATE_QUEUED) { |
64 |
|
taskIdMap.remove( removeTask.getId() ); |
65 |
|
tasks.remove(removeTask); |
66 |
|
return; |
67 |
|
} |
68 |
|
|
69 |
|
|
70 |
|
throw new RuntimeException("Cant remove task in current state:" + removeTask.state); |
71 |
|
|
72 |
|
} |
73 |
|
|
74 |
public synchronized void submitTask(Task newTask) { |
public synchronized void submitTask(Task newTask) { |
75 |
int id = getNextTaskid(); |
int id = getNextTaskid(); |
76 |
newTask.setId(id); |
newTask.setId(id); |