comparison src/alice/topology/manager/keeparive/RemoveTask.java @ 323:d746c4486287

work
author one
date Mon, 23 Dec 2013 17:13:16 +0900
parents
children 806cc010a5bd
comparison
equal deleted inserted replaced
322:4b5bf9cf1505 323:d746c4486287
1 package alice.topology.manager.keeparive;
2
3 import alice.codesegment.CodeSegment;
4 import alice.datasegment.CommandType;
5 import alice.datasegment.Receiver;
6
7 public class RemoveTask extends CodeSegment {
8 private Receiver info1 = ids.create(CommandType.TAKE); // list
9 private Receiver info2 = ids.create(CommandType.TAKE); // remove task
10
11 public RemoveTask(){
12 info1.setKey("_WAITINGLIST");
13 info2.setKey("_REMOVETASK");
14 }
15
16 @Override
17 public void run() {
18 System.out.println();
19 ListManager list = info1.asClass(ListManager.class); // explicit cast
20 TaskInfo task = info2.asClass(TaskInfo.class);
21 TaskExecuter exec = TaskExecuter.getInstance();
22 if (exec.compareNowTask(task)){
23 // case: remove task is state countdown.
24 exec.skip();
25 } else {
26 // case: remove task is still in the waiting queue.
27 for (TaskInfo t: list.getTaskList()){
28 if (t.getType().equals(task.getType())){
29 list.getTaskList().remove(t);
30 break;
31 }
32 }
33 }
34 ods.update("_WAITINGLIST", list);
35 }
36 }