This commit is contained in:
2024-03-24 02:49:32 +03:00
parent 784bca869d
commit e83ecac005
9 changed files with 119 additions and 43 deletions

View File

@@ -2,20 +2,36 @@ package Visual_DVM_2021.Passes.All;
import Repository.Server.ServerCode;
import Repository.Server.ServerExchangeUnit_2021;
import Visual_DVM_2021.Passes.Server.TestingSystemPass;
import java.net.ConnectException;
public class PingTestingServer extends TestingSystemPass {
boolean flag;
boolean silent;
@Override
protected boolean canStart(Object... args) throws Exception {
flag=false;
flag = false;
silent = args.length > 0 ? (boolean) args[0] : false;
return super.canStart(args);
}
@Override
protected void ServerAction() throws Exception {
Command(new ServerExchangeUnit_2021(ServerCode.Ping));
flag=true;
flag = true;
}
@Override
protected boolean validate() {
return flag;
}
@Override
protected void CheckException(Exception ex) {
if (silent) {
Throwable cause = getCauseRec(ex);
if ((cause instanceof ConnectException) && cause.getMessage().contains("Connection refused: connect")) {
//так как это пинг, игнорируем.
System.out.println("Server inactive");
return;
}
}
super.CheckException(ex);
}
}

View File

@@ -7,15 +7,16 @@ public class ShutdownTestingServer extends TestingServerSSHPass {
return "/icons/Stop25.png";
}
@Override
public String getButtonText() {
return "";
}
@Override
protected boolean canStart(Object... args) throws Exception {
return passes.get(PassCode_2021.PingTestingServer).Do();
if (passes.get(PassCode_2021.PingTestingServer).Do(true)){
return true;
}else {
Log.Writeln_("Сервер уже неактивен!");
return false;
}
}
@Override
protected void ServerAction() throws Exception {
Shutdown();
ShutdownServer();
}
}

View File

@@ -0,0 +1,30 @@
package Visual_DVM_2021.Passes.All;
import Common.Constants;
import Common.Current;
import GlobalData.RemoteFile.RemoteFile;
import Visual_DVM_2021.Passes.PassCode_2021;
import Visual_DVM_2021.Passes.SSH.TestingServerSSHPass;
import java.util.Date;
public class StartTestingServer extends TestingServerSSHPass {
@Override
public String getIconPath() {
return "/icons/GreenStart.png";
}
@Override
protected boolean canStart(Object... args) throws Exception {
if (passes.get(PassCode_2021.PingTestingServer).Do(true)) {
Log.Writeln_("Сервер уже активен!");
return false;
}
return true;
}
@Override
protected void ServerAction() throws Exception {
StartServer();
}
@Override
protected boolean validate() {
return passes.get(PassCode_2021.PingTestingServer).Do();
}
}

View File

@@ -324,7 +324,8 @@ public enum PassCode_2021 {
CreateDVMPackageFromCurrentProject,
//--
PingTestingServer,
ShutdownTestingServer
ShutdownTestingServer,
StartTestingServer,
;
public String getDescription() {
switch (this) {
@@ -332,8 +333,10 @@ public enum PassCode_2021 {
return "?";
case PingTestingServer:
return "Проверить активность тестового сервера";
case StartTestingServer:
return "Запустить тестовый сервер";
case ShutdownTestingServer:
return "Остановить серверный компонент тестирования";
return "Остановить тестовый сервер";
case CreateDVMPackageFromCurrentProject:
return "Тестировать текущий проект";
case CompareSapforPackages:

View File

@@ -10,6 +10,11 @@ import GlobalData.User.User;
import java.util.Date;
public class TestingServerSSHPass extends ConnectionPass {
@Override
public String getButtonText() {
return "";
}
//--
protected RemoteFile userHome;
protected RemoteFile testingHome;
@Override
@@ -18,23 +23,43 @@ public class TestingServerSSHPass extends ConnectionPass {
}
@Override
public void Connect() throws Exception {
userHome =null;
testingHome =null;
userHome = null;
testingHome = null;
//--
machine = new Machine("alex", Global.properties.ServerAddress,Global.properties.ServerUserSHHPort,MachineType.Server);
machine = new Machine("alex", Global.properties.ServerAddress, Global.properties.ServerUserSHHPort, MachineType.Server);
user = new User(Global.properties.ServerUserName, "mprit_2011");
super.Connect();
//--
userHome = new RemoteFile(user.connection.sftpChannel.getHome(), true);
testingHome = new RemoteFile(userHome, Constants.testingSystemHomeName);
//-
System.out.println("userHome="+ Utils.Brackets(userHome.full_name));
System.out.println("testingHome="+Utils.Brackets(testingHome.full_name));
System.out.println("userHome=" + Utils.Brackets(userHome.full_name));
System.out.println("testingHome=" + Utils.Brackets(testingHome.full_name));
}
//--
protected void Shutdown() throws Exception{
protected void StartServer() throws Exception {
user.connection.performScript(testingHome, "nohup java -jar TestingSystem.jar &");
RemoteFile StartLog = new RemoteFile(testingHome, Constants.STARTED +
"_by_" +
Current.getAccount().email +
"_" +
new Date().toString()
);
user.connection.writeToFile("+", StartLog);
//--
RemoteFile INTERRUPT = new RemoteFile(testingHome, Constants.INTERRUPT);
RemoteFile[] files = new RemoteFile[]{
new RemoteFile(testingHome, Constants.script),
new RemoteFile(testingHome, Constants.out_file),
new RemoteFile(testingHome, Constants.err_file)
};
//-
for (RemoteFile file : files) {
user.connection.tryRM(file);
}
}
protected void ShutdownServer() throws Exception {
//--
RemoteFile INTERRUPT = new RemoteFile(testingHome, Constants.INTERRUPT);
RemoteFile ABORTED = new RemoteFile(testingHome, Constants.ABORTED);
//--
ShowMessage1("Создание файла INTERRUPT..");
@@ -47,10 +72,10 @@ public class TestingServerSSHPass extends ConnectionPass {
//--
ShowMessage2("");
ShowMessage1("Журнализация");
RemoteFile AbortLog = new RemoteFile(testingHome, Constants.ABORTED+
"_by_"+
Current.getAccount().email+
"_"+
RemoteFile AbortLog = new RemoteFile(testingHome, Constants.ABORTED +
"_by_" +
Current.getAccount().email +
"_" +
new Date().toString()
);
user.connection.sftpChannel.rename(ABORTED.full_name, AbortLog.full_name);