annotate src/main/java/alice/topology/node/IncomingConnectionInfo.java @ 404:fee3efd9257d dispose

add node when application status running
author sugi
date Mon, 23 Jun 2014 18:12:57 +0900
parents 539b7f5772c7
children 6508ed6ea6a6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
345
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
1 package alice.topology.node;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
2
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
3 import java.util.ArrayList;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
4 import java.util.List;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
5
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
6 import alice.codesegment.CodeSegment;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
7 import alice.datasegment.CommandType;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
8 import alice.datasegment.DataSegment;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
9 import alice.datasegment.Receiver;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
10 import alice.topology.HostMessage;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
11
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
12 public class IncomingConnectionInfo extends CodeSegment {
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
13
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
14 public Receiver hostInfo = ids.create(CommandType.TAKE);
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
15 private List<String> connectionList;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
16 private String absName;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
17 private int count;
404
fee3efd9257d add node when application status running
sugi
parents: 403
diff changeset
18
345
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
19 public IncomingConnectionInfo(String absName, int count) {
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
20 this.absName = absName;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
21 this.count = count;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
22 this.connectionList = new ArrayList<String>();
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
23 }
404
fee3efd9257d add node when application status running
sugi
parents: 403
diff changeset
24
345
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
25 public IncomingConnectionInfo(String absName, int count, List<String> connectionList) {
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
26 this.absName = absName;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
27 this.count = count;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
28 this.connectionList = connectionList;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
29 }
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
30
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
31 @Override
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
32 public void run() {
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
33 if (this.hostInfo.getVal() == null) {
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
34 ods.put("local", "configNodeNum", count);
404
fee3efd9257d add node when application status running
sugi
parents: 403
diff changeset
35 IncomingConnectionInfo cs = new IncomingConnectionInfo(absName, count, connectionList);
fee3efd9257d add node when application status running
sugi
parents: 403
diff changeset
36 cs.hostInfo.setKey("manager", absName);
fee3efd9257d add node when application status running
sugi
parents: 403
diff changeset
37 } else {
fee3efd9257d add node when application status running
sugi
parents: 403
diff changeset
38 HostMessage hostInfo = this.hostInfo.asClass(HostMessage.class);
fee3efd9257d add node when application status running
sugi
parents: 403
diff changeset
39 DataSegment.connect(hostInfo.connectionName, hostInfo.reverseName, hostInfo.name, hostInfo.port);
fee3efd9257d add node when application status running
sugi
parents: 403
diff changeset
40 ods.put(hostInfo.connectionName, "reverseKey", hostInfo.reverseName);
fee3efd9257d add node when application status running
sugi
parents: 403
diff changeset
41 connectionList.add(hostInfo.connectionName);
fee3efd9257d add node when application status running
sugi
parents: 403
diff changeset
42 ods.update("_CLIST", connectionList);
fee3efd9257d add node when application status running
sugi
parents: 403
diff changeset
43 IncomingConnectionInfo cs = new IncomingConnectionInfo(absName, ++count, connectionList);
fee3efd9257d add node when application status running
sugi
parents: 403
diff changeset
44 cs.hostInfo.setKey("manager", absName);
345
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
45 }
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
46 }
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
47
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
48 }