Skip to content

Commit d6ef75e

Browse files
committed
Implements server connection test function
1 parent a0fc908 commit d6ef75e

File tree

2 files changed

+25
-9
lines changed

2 files changed

+25
-9
lines changed

src/main/java/root/javafx/CustomView/ServerConnInfoControl.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,14 @@
55
import java.util.Map;
66

77
import javafx.scene.control.Alert.AlertType;
8+
import javafx.scene.control.PasswordField;
9+
import javafx.scene.control.TextField;
810
import root.core.domain.JschConnectionInfo;
911
import root.core.repository.constracts.PropertyRepository;
1012
import root.core.repository.implement.PropertyRepositoryImpl;
1113
import root.javafx.CustomView.ConnectionInfoVBox.StatefulAP;
1214
import root.javafx.Service.ConnectionTestService;
15+
import root.javafx.Service.ServerConnectService;
1316
import root.utils.AlertUtils;
1417

1518
public class ServerConnInfoControl implements ConnInfoControl<JschConnectionInfo> {
@@ -43,9 +46,12 @@ public boolean canConnectionTest(ConnectionInfoAP curAP) {
4346

4447
@Override
4548
public ConnectionTestService getConnectionTestService(ConnectionInfoAP curAP) {
46-
// TODO Auto-generated method stub
47-
System.out.println("Server test()");
48-
return null;
49+
String host = ((TextField) curAP.lookup("#hostTF")).getText();
50+
String port = ((TextField) curAP.lookup("#portTF")).getText();
51+
String id = ((TextField) curAP.lookup("#userTF")).getText();
52+
String pw = ((PasswordField) curAP.lookup("#passwordPF")).getText();
53+
54+
return new ServerConnectService(new JschConnectionInfo("", host, port, id, pw));
4955
}
5056

5157
@Override
Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,48 @@
11
package root.javafx.Service;
22

33
import javafx.concurrent.Task;
4+
import javafx.scene.control.Alert.AlertType;
5+
import root.common.server.implement.JschServer;
46
import root.core.domain.JschConnectionInfo;
7+
import root.utils.AlertUtils;
58

69
public class ServerConnectService extends ConnectionTestService {
710

8-
public static final String SUCCESS_MSG = "원격서버가 성공적으로 연동되었습니다.";
11+
public static final String SUCCESS_MSG = "원격서버에 성공적으로 연동되었습니다.\n Host: %s:%s";
912
public static final String FAIL_MSG = "원격서버 연동에 실패했습니다.";
1013

1114
private JschConnectionInfo jsch;
15+
private JschServer jschServer;
1216

1317
public ServerConnectService(JschConnectionInfo jsch) {
1418
this.jsch = jsch;
19+
this.jschServer = new JschServer(jsch);
1520
}
1621

1722
@Override
1823
protected Task<Boolean> createTask() {
1924
return new Task<Boolean>() {
2025
@Override
2126
protected Boolean call() throws Exception {
22-
return true;
27+
jschServer.init();
28+
boolean isConn = JschServer.validateConn(jschServer.getSession());
29+
if (!isConn) {
30+
throw new Exception("Server connection test Failed");
31+
}
32+
return isConn;
2333
}
2434
};
2535
}
2636

2737
@Override
2838
public void alertSucceed() {
29-
// TODO Auto-generated method stub
30-
39+
AlertUtils.showAlert(AlertType.INFORMATION, "Server 연동테스트",
40+
String.format(ServerConnectService.SUCCESS_MSG, jsch.getHost(), jsch.getPort()));
3141
}
3242

3343
@Override
3444
public void alertFailed() {
35-
// TODO Auto-generated method stub
36-
45+
AlertUtils.showAlert(AlertType.ERROR, "Server 연동테스트",
46+
String.format(ServerConnectService.FAIL_MSG, jsch.getHost(), jsch.getPort()));
3747
}
3848
}

0 commit comments

Comments
 (0)