annotate src/main/java/jp/ac/u_ryukyu/treevnc/CreateConnectionParam.java @ 513:b97fdcd337fe

fix
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 20 Feb 2019 23:04:41 +0900
parents 89f1f7e41838
children 887ebd993b3d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
67
2908e4b95b0a add file
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 package jp.ac.u_ryukyu.treevnc;
2908e4b95b0a add file
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
153
e68dfd1972ac fix bad names.
oc
parents: 149
diff changeset
3 import com.glavsoft.viewer.ViewerInterface;
130
1f6bfaa3281b root selection panel
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 128
diff changeset
4 import com.glavsoft.viewer.swing.ConnectionParams;
1f6bfaa3281b root selection panel
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 128
diff changeset
5
67
2908e4b95b0a add file
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 public class CreateConnectionParam {
513
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 510
diff changeset
7
510
89f1f7e41838 broadcast FrameBufferUpdate Rectangle
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 401
diff changeset
8 private final FindRoot getBcast;
67
2908e4b95b0a add file
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 private String hostName;
130
1f6bfaa3281b root selection panel
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 128
diff changeset
10 private int portNumber = ConnectionParams.DEFAULT_VNC_ROOT;
207
b31903e5b02d rename myRFBProto
oc
parents: 206
diff changeset
11 private TreeRFBProto rfb;
145
649794dfb9d5 add my hostname to handle multiple network
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 144
diff changeset
12 private String myHostName;
399
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
13 private boolean rootMode = false;
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
14
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
15 private boolean displayMode = false;
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
16
207
b31903e5b02d rename myRFBProto
oc
parents: 206
diff changeset
17 public CreateConnectionParam(TreeRFBProto rfb) {
67
2908e4b95b0a add file
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 this.rfb = rfb;
329
230038d5127d change reconnect new node instead of lost child node.
oc
parents: 327
diff changeset
19 rfb.setConnectionParam(this);
510
89f1f7e41838 broadcast FrameBufferUpdate Rectangle
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 401
diff changeset
20 getBcast = new FindRoot(rfb.acceptPort,this);
513
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 510
diff changeset
21 rfb.setFindRoot();
67
2908e4b95b0a add file
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 }
2908e4b95b0a add file
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23
327
293c35aa902b add error message, add assure stream close, delete firstTime value in TreeRFBProto.
oc
parents: 326
diff changeset
24 public synchronized void findTreeVncRoot() {
399
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
25 rfb.createRootSelectionPanel(this, getBcast);
401
94c520535ef1 Fix selection panel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 399
diff changeset
26 getBcast.findRoot();
327
293c35aa902b add error message, add assure stream close, delete firstTime value in TreeRFBProto.
oc
parents: 326
diff changeset
27 // wait for RootSelection
293c35aa902b add error message, add assure stream close, delete firstTime value in TreeRFBProto.
oc
parents: 326
diff changeset
28 try {
293c35aa902b add error message, add assure stream close, delete firstTime value in TreeRFBProto.
oc
parents: 326
diff changeset
29 wait();
293c35aa902b add error message, add assure stream close, delete firstTime value in TreeRFBProto.
oc
parents: 326
diff changeset
30 } catch (InterruptedException e) {
293c35aa902b add error message, add assure stream close, delete firstTime value in TreeRFBProto.
oc
parents: 326
diff changeset
31 System.out.println("any thread interrupt when wait for FindRoot " + e.getMessage());
293c35aa902b add error message, add assure stream close, delete firstTime value in TreeRFBProto.
oc
parents: 326
diff changeset
32 }
399
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
33 }
67
2908e4b95b0a add file
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
34
134
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 130
diff changeset
35 /**
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 130
diff changeset
36 * To find parent, send WHERE_TO_CONNECT command to the TreeVNC root
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 130
diff changeset
37 * Incoming CONNECT_TO message is handled in MyRFBProto
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 130
diff changeset
38 * @param v
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 130
diff changeset
39 */
177
8019a393875a proxy reorganization
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 176
diff changeset
40 public void sendWhereToConnect(ViewerInterface v) {
176
fa6cfb85444e on going ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 157
diff changeset
41 rfb.setConnectionParam(this);
134
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 130
diff changeset
42 TreeVncProtocol echo = new TreeVncProtocol(hostName,portNumber);
344
f2921fd4ac96 fix whereToConnect value
oc
parents: 343
diff changeset
43 echo.whereToConnect(myHostName,rfb.getAcceptPort());
343
f1721ec54899 add remoteRootStart
oc
parents: 331
diff changeset
44 }
f1721ec54899 add remoteRootStart
oc
parents: 331
diff changeset
45
145
649794dfb9d5 add my hostname to handle multiple network
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 144
diff changeset
46 public synchronized void setHostName(String _hostName, int port, String _myHostName) {
130
1f6bfaa3281b root selection panel
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 128
diff changeset
47 hostName = _hostName;
1f6bfaa3281b root selection panel
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 128
diff changeset
48 portNumber = port;
145
649794dfb9d5 add my hostname to handle multiple network
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 144
diff changeset
49 myHostName = _myHostName;
144
1e004d9c599d notify connection panel
oc
parents: 143
diff changeset
50 notify();
130
1f6bfaa3281b root selection panel
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 128
diff changeset
51 }
1f6bfaa3281b root selection panel
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 128
diff changeset
52
1f6bfaa3281b root selection panel
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 128
diff changeset
53 public void setHostName(String hostAndPort) {
1f6bfaa3281b root selection panel
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 128
diff changeset
54 int i = hostAndPort.indexOf(':');
1f6bfaa3281b root selection panel
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 128
diff changeset
55 if (i>0) {
1f6bfaa3281b root selection panel
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 128
diff changeset
56 portNumber = Integer.parseInt(hostAndPort.substring(i+1));
1f6bfaa3281b root selection panel
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 128
diff changeset
57 hostName = hostAndPort.substring(0,i);
1f6bfaa3281b root selection panel
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 128
diff changeset
58 } else
1f6bfaa3281b root selection panel
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 128
diff changeset
59 hostName = hostAndPort;
176
fa6cfb85444e on going ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 157
diff changeset
60 // who sets myHostName?
377
877008c86e85 Add direct option
innparusu
parents: 345
diff changeset
61 }
67
2908e4b95b0a add file
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
62
145
649794dfb9d5 add my hostname to handle multiple network
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 144
diff changeset
63 public String getMyHostName() {
649794dfb9d5 add my hostname to handle multiple network
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 144
diff changeset
64 return myHostName;
649794dfb9d5 add my hostname to handle multiple network
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 144
diff changeset
65 }
149
1291cf1122ca panel will not open ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 145
diff changeset
66
176
fa6cfb85444e on going ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 157
diff changeset
67 public int getPort() {
fa6cfb85444e on going ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 157
diff changeset
68 return portNumber;
149
1291cf1122ca panel will not open ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 145
diff changeset
69 }
176
fa6cfb85444e on going ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 157
diff changeset
70
fa6cfb85444e on going ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 157
diff changeset
71 public String getHostName() {
fa6cfb85444e on going ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 157
diff changeset
72 return hostName;
fa6cfb85444e on going ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 157
diff changeset
73 }
fa6cfb85444e on going ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 157
diff changeset
74
398
b3ef6d14b2b7 Select Mode to start Panel
innparusu
parents: 377
diff changeset
75 public void setRootMode() {
399
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
76 rootMode = true;
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
77 }
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
78
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
79 public boolean isRootMode() {
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
80 return rootMode;
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
81 }
398
b3ef6d14b2b7 Select Mode to start Panel
innparusu
parents: 377
diff changeset
82
b3ef6d14b2b7 Select Mode to start Panel
innparusu
parents: 377
diff changeset
83 public void setDisplayMode() {
399
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
84 displayMode = true;
398
b3ef6d14b2b7 Select Mode to start Panel
innparusu
parents: 377
diff changeset
85 }
399
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
86
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
87 public boolean isDisplayMode() {
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
88 return displayMode;
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
89 }
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
90
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
91 public synchronized void restart() {
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
92 notify();
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
93 }
513
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 510
diff changeset
94
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 510
diff changeset
95 public FindRoot getFindRoot() {
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 510
diff changeset
96 return getBcast;
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 510
diff changeset
97 }
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 510
diff changeset
98
67
2908e4b95b0a add file
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
99 }