annotate src/main/java/jp/ac/u_ryukyu/alicevnc/ReceiveAliceVNCMessage.java @ 34:aace9df1462e

refactor
author sugi
date Thu, 13 Nov 2014 16:09:09 +0900
parents src/main/java/jp/ac/u_ryukyu/alicevnc/ReceiveChangeRequest.java@7d65ad341cc9
children 9354e8a1d03b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
22
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
1 package jp.ac.u_ryukyu.alicevnc;
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
2
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
3 import java.util.List;
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
4
32
7d65ad341cc9 refactor
sugi
parents: 31
diff changeset
5 import jp.ac.u_ryukyu.alicevnc.AliceVNCMessage.MessageType;
22
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
6 import alice.codesegment.CodeSegment;
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
7 import alice.datasegment.CommandType;
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
8 import alice.datasegment.Receiver;
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
9
34
aace9df1462e refactor
sugi
parents: 32
diff changeset
10 public class ReceiveAliceVNCMessage extends CodeSegment {
22
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
11 private Receiver info = ids.create(CommandType.TAKE);
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
12 private Receiver info1 = ids.create(CommandType.PEEK); // connection list
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
13
34
aace9df1462e refactor
sugi
parents: 32
diff changeset
14 public ReceiveAliceVNCMessage() {
aace9df1462e refactor
sugi
parents: 32
diff changeset
15 info.setKey("AliceVNCMessage");
22
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
16 info1.setKey("_CLIST");
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
17 }
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
18
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
19 @Override
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
20 public void run() {
32
7d65ad341cc9 refactor
sugi
parents: 31
diff changeset
21 AliceVNCMessage order = info.asClass(AliceVNCMessage.class);
22
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
22
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
23 @SuppressWarnings("unchecked")
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
24 List<String> clist = info1.asClass(List.class);
24
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
25 if (order.messageID == MessageType.ChangeRequest.getId()||
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
26 order.messageID == MessageType.CurrentVNCInfo.getId()) {
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
27 if (clist.contains("parent")){
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
28 order.route.add(info.from);
34
aace9df1462e refactor
sugi
parents: 32
diff changeset
29 ods.put("parent", "AliceVNCMessage", order);
aace9df1462e refactor
sugi
parents: 32
diff changeset
30 new ReceiveAliceVNCMessage();
24
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
31 } else { // this node is root.
26
18dd339b98ea bug fix
sugi
parents: 24
diff changeset
32 order.route.add(info.from);
24
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
33 if (order.messageID == MessageType.CurrentVNCInfo.getId()) {
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
34 ods.put("currentServer", order);
34
aace9df1462e refactor
sugi
parents: 32
diff changeset
35 new ReceiveAliceVNCMessage();
24
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
36 } else {
27
14c7bd581cc2 implement change VNC Server protocol
sugi
parents: 26
diff changeset
37 new CheckCurrentInfo(order); // check change Server flag.
24
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
38 }
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
39 }
27
14c7bd581cc2 implement change VNC Server protocol
sugi
parents: 26
diff changeset
40 } else if (order.messageID == MessageType.StartNegotiate.getId()||
34
aace9df1462e refactor
sugi
parents: 32
diff changeset
41 order.messageID == MessageType.StopProxy.getId()||
aace9df1462e refactor
sugi
parents: 32
diff changeset
42 order.messageID == MessageType.DeniedRequest.getId()) {
24
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
43 if (order.route.size() == 0) {
34
aace9df1462e refactor
sugi
parents: 32
diff changeset
44 // this node send ChangeVNCRequest
27
14c7bd581cc2 implement change VNC Server protocol
sugi
parents: 26
diff changeset
45 if (order.messageID == MessageType.StartNegotiate.getId()){
14c7bd581cc2 implement change VNC Server protocol
sugi
parents: 26
diff changeset
46 // negotiate VNCServer by Viewer
30
d8c6a4c7f16e change algotherm
sugi
parents: 29
diff changeset
47 ods.put("vncRight", true);
d8c6a4c7f16e change algotherm
sugi
parents: 29
diff changeset
48 new NegotiateVNCServer();
34
aace9df1462e refactor
sugi
parents: 32
diff changeset
49 new ReceiveAliceVNCMessage();
aace9df1462e refactor
sugi
parents: 32
diff changeset
50 } else if(order.messageID == MessageType.StopProxy.getId()) {
27
14c7bd581cc2 implement change VNC Server protocol
sugi
parents: 26
diff changeset
51 new StopProxy();
34
aace9df1462e refactor
sugi
parents: 32
diff changeset
52 } else if (order.messageID == MessageType.DeniedRequest.getId()) {
aace9df1462e refactor
sugi
parents: 32
diff changeset
53 // pop up window or message
27
14c7bd581cc2 implement change VNC Server protocol
sugi
parents: 26
diff changeset
54 }
24
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
55 } else {
34
aace9df1462e refactor
sugi
parents: 32
diff changeset
56 String address = order.getNextAddress();
aace9df1462e refactor
sugi
parents: 32
diff changeset
57 ods.put(address, "AliceVNCMessage", order);
aace9df1462e refactor
sugi
parents: 32
diff changeset
58 new ReceiveAliceVNCMessage();
24
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
59 }
23
edf1b800d8b9 need send Server request Test
sugi
parents: 22
diff changeset
60 }
22
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
61 }
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
62 }