annotate src/main/java/alice/topology/node/ExecuteEvent.java @ 547:e91a574b69de dispose

remove index
author Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
date Tue, 18 Aug 2015 16:15:17 +0900
parents 15eeb439830c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
469
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
1 package alice.topology.node;
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
2
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
3 import java.util.List;
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
4
470
780ae843cdac Delete disconnect managerKey from connection list
sugi
parents: 469
diff changeset
5 import alice.codesegment.CloseEventCodeSegment;
469
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
6 import alice.codesegment.CodeSegment;
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
7 import alice.datasegment.CommandType;
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
8 import alice.datasegment.Receiver;
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
9
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
10 public class ExecuteEvent<T> extends CodeSegment {
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
11
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
12 public Receiver info = ids.create(CommandType.TAKE);
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
13 public Receiver info1 = ids.create(CommandType.TAKE);
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
14
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
15 public ExecuteEvent() {
547
e91a574b69de remove index
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents: 546
diff changeset
16 info.setKey("_DEVENTLIST", this);
e91a574b69de remove index
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents: 546
diff changeset
17 info1.setKey("_DISCONNECT", this);
469
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
18 }
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
19
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
20 @SuppressWarnings("unchecked")
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
21 @Override
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
22 public void run() {
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
23 List<Class<T>> eventList = info.asClass(List.class);
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
24 try {
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
25 for (Class<T> clazz : eventList){
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
26 // set MetaInfo
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
27 if ("CloseEventCodeSegment".equals(clazz.getSuperclass().getSimpleName())) {
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
28 CloseEventCodeSegment obj = (CloseEventCodeSegment) clazz.newInstance();
478
cf345b10a21a bug fix
sugi
parents: 473
diff changeset
29 obj.metaInfo = info1;
469
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
30 obj.ids.setKey();
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
31 obj.ids.receive();
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
32 } else if ("CodeSegment".equals(clazz.getSuperclass().getSimpleName())){
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
33 clazz.newInstance();
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
34 }
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
35 }
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
36 } catch (InstantiationException e) {
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
37 e.printStackTrace();
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
38 } catch (IllegalAccessException e) {
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
39 e.printStackTrace();
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
40 } catch (SecurityException e) {
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
41 e.printStackTrace();
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
42 }
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
43 ods.put(info.key, info.getReceiveData());
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
44 }
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
45
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
46 }