annotate src/main/java/jp/ac/u_ryukyu/alicevnc/SendChangeRequest.java @ 22:fdb036159e61

create ServerChangeRequest
author sugi
date Fri, 07 Nov 2014 17:09:08 +0900
parents src/main/java/jp/ac/u_ryukyu/alicevnc/RequestStartVNCServer.java@87d90513e8f5
children edf1b800d8b9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15
87d90513e8f5 add ServerChange Message
YU
parents:
diff changeset
1 package jp.ac.u_ryukyu.alicevnc;
87d90513e8f5 add ServerChange Message
YU
parents:
diff changeset
2
22
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
3 import java.util.List;
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
4
15
87d90513e8f5 add ServerChange Message
YU
parents:
diff changeset
5 import alice.codesegment.CodeSegment;
87d90513e8f5 add ServerChange Message
YU
parents:
diff changeset
6 import alice.datasegment.CommandType;
87d90513e8f5 add ServerChange Message
YU
parents:
diff changeset
7 import alice.datasegment.Receiver;
87d90513e8f5 add ServerChange Message
YU
parents:
diff changeset
8
22
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
9 public class SendChangeRequest extends CodeSegment {
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
10
15
87d90513e8f5 add ServerChange Message
YU
parents:
diff changeset
11 private Receiver info = ids.create(CommandType.PEEK); // hostName
22
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
12 private Receiver info1 = ids.create(CommandType.PEEK); // connection list
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
13 private Receiver info2 = ids.create(CommandType.PEEK); // AliceVNCConfig
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
14
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
15 public SendChangeRequest(){
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
16 info.setKey("host");
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
17 info1.setKey("_CLIST");
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
18 info2.setKey("AliceVNCConfig");
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
19 }
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
20
15
87d90513e8f5 add ServerChange Message
YU
parents:
diff changeset
21 @Override
87d90513e8f5 add ServerChange Message
YU
parents:
diff changeset
22 public void run() {
22
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
23 AliceVNCConfig config = info2.asClass(AliceVNCConfig.class);
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
24 String hostname = info.asString();
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
25
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
26 @SuppressWarnings("unchecked")
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
27 List<String> clist = info1.asClass(List.class);
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
28
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
29 ChangeRequestMessage mes = new ChangeRequestMessage();
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
30 mes.changeServer = config.getAllowChange();
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
31 mes.requestNodeName = hostname;
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
32
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
33 String address = "local";
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
34 if (clist.contains("parent")){ // this node is not root. compare node0 is better?
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
35 address = "parent";
15
87d90513e8f5 add ServerChange Message
YU
parents:
diff changeset
36 }
22
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
37
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
38 ods.put(address, "changeRequest", mes);
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
39
15
87d90513e8f5 add ServerChange Message
YU
parents:
diff changeset
40 }
87d90513e8f5 add ServerChange Message
YU
parents:
diff changeset
41
87d90513e8f5 add ServerChange Message
YU
parents:
diff changeset
42 }