функционал для управления сервером компонент и багов.
удаление временных файлов при запросе версии
This commit is contained in:
38
src/Visual_DVM_2021/Passes/All/PingComponentsServer.java
Normal file
38
src/Visual_DVM_2021/Passes/All/PingComponentsServer.java
Normal file
@@ -0,0 +1,38 @@
|
||||
package Visual_DVM_2021.Passes.All;
|
||||
import Repository.Server.ServerCode;
|
||||
import Repository.Server.ServerExchangeUnit_2021;
|
||||
import Visual_DVM_2021.Passes.Server.ComponentsRepositoryPass;
|
||||
import Visual_DVM_2021.Passes.Server.TestingSystemPass;
|
||||
|
||||
import java.net.ConnectException;
|
||||
public class PingComponentsServer extends ComponentsRepositoryPass {
|
||||
boolean flag;
|
||||
boolean silent;
|
||||
@Override
|
||||
protected boolean canStart(Object... args) throws Exception {
|
||||
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;
|
||||
}
|
||||
@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);
|
||||
}
|
||||
}
|
||||
53
src/Visual_DVM_2021/Passes/All/PublishComponentsServer.java
Normal file
53
src/Visual_DVM_2021/Passes/All/PublishComponentsServer.java
Normal file
@@ -0,0 +1,53 @@
|
||||
package Visual_DVM_2021.Passes.All;
|
||||
import Common.Global;
|
||||
import Common.Utils.Utils;
|
||||
import GlobalData.RemoteFile.RemoteFile;
|
||||
import Visual_DVM_2021.Passes.PassCode_2021;
|
||||
import Visual_DVM_2021.Passes.PassException;
|
||||
import Visual_DVM_2021.Passes.SSH.RepositoryServerSSHPass;
|
||||
|
||||
import java.io.File;
|
||||
public class PublishComponentsServer extends RepositoryServerSSHPass {
|
||||
@Override
|
||||
protected String getServerFileName() {
|
||||
return "VisualSapfor.jar";
|
||||
}
|
||||
@Override
|
||||
protected String getServerHomeName() {
|
||||
return "_sapfor_x64";
|
||||
}
|
||||
@Override
|
||||
public String getIconPath() {
|
||||
return "/icons/Publish.png";
|
||||
}
|
||||
//1. остановить сервер.
|
||||
//2. заменить файл сервера на компонент визуализатора. переименовать его.
|
||||
//3. запустить сервер.
|
||||
@Override
|
||||
protected void ServerAction() throws Exception {
|
||||
if (passes.get(PassCode_2021.PingComponentsServer).Do(true))
|
||||
ShutdownServer();
|
||||
if (passes.get(PassCode_2021.PingComponentsServer).Do(true)) {
|
||||
throw new PassException("Не удалось остановить сервер.");
|
||||
}
|
||||
File src = Global.visualiser.getFile();
|
||||
//-
|
||||
RemoteFile dst = new RemoteFile(serverHome, getServerFileName());
|
||||
user.connection.tryRM(dst);
|
||||
user.connection.putSingleFile(src, dst);
|
||||
//-
|
||||
|
||||
StartServer();
|
||||
System.out.println("userHome=" + Utils.Brackets(userHome.full_name));
|
||||
System.out.println("testingHome=" + Utils.Brackets(serverHome.full_name));
|
||||
}
|
||||
@Override
|
||||
protected boolean validate() {
|
||||
|
||||
if (!passes.get(PassCode_2021.PingComponentsServer).Do(true)) {
|
||||
Log.Writeln_("Не удалось запустить сервер.");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,9 +15,10 @@ public class RemoteSingleCommand extends CurrentConnectionPass<String> {
|
||||
@Override
|
||||
protected void ServerAction() throws Exception {
|
||||
RemoteFile file = new RemoteFile(user.connection.sftpChannel.getHome(), Utils.getDateName("out"));
|
||||
user.connection.ShellCommand(command+" 1>"+Utils.DQuotes(file.full_name));
|
||||
if (user.connection.Exists(file)){
|
||||
user.connection.ShellCommand(command + " 1>" + Utils.DQuotes(file.full_name));
|
||||
if (user.connection.Exists(file)) {
|
||||
target = user.connection.readFromFile(file);
|
||||
user.connection.sftpChannel.rm(file.full_name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
29
src/Visual_DVM_2021/Passes/All/ShutdownComponentsServer.java
Normal file
29
src/Visual_DVM_2021/Passes/All/ShutdownComponentsServer.java
Normal file
@@ -0,0 +1,29 @@
|
||||
package Visual_DVM_2021.Passes.All;
|
||||
import Visual_DVM_2021.Passes.PassCode_2021;
|
||||
import Visual_DVM_2021.Passes.SSH.RepositoryServerSSHPass;
|
||||
public class ShutdownComponentsServer extends RepositoryServerSSHPass {
|
||||
@Override
|
||||
protected String getServerFileName() {
|
||||
return "VisualSapfor.jar";
|
||||
}
|
||||
@Override
|
||||
protected String getServerHomeName() { return "_sapfor_x64";
|
||||
}
|
||||
@Override
|
||||
public String getIconPath() {
|
||||
return "/icons/Stop25.png";
|
||||
}
|
||||
@Override
|
||||
protected boolean canStart(Object... args) throws Exception {
|
||||
if (passes.get(PassCode_2021.PingTestingServer).Do(true)){
|
||||
return true;
|
||||
}else {
|
||||
Log.Writeln_("Сервер уже неактивен!");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@Override
|
||||
protected void ServerAction() throws Exception {
|
||||
ShutdownServer();
|
||||
}
|
||||
}
|
||||
32
src/Visual_DVM_2021/Passes/All/StartComponentsServer.java
Normal file
32
src/Visual_DVM_2021/Passes/All/StartComponentsServer.java
Normal file
@@ -0,0 +1,32 @@
|
||||
package Visual_DVM_2021.Passes.All;
|
||||
import Visual_DVM_2021.Passes.PassCode_2021;
|
||||
import Visual_DVM_2021.Passes.SSH.RepositoryServerSSHPass;
|
||||
public class StartComponentsServer extends RepositoryServerSSHPass {
|
||||
@Override
|
||||
public String getIconPath() {
|
||||
return "/icons/GreenStart.png";
|
||||
}
|
||||
@Override
|
||||
protected String getServerHomeName() {return "_sapfor_x64"; }
|
||||
@Override
|
||||
protected String getServerFileName() {
|
||||
return "VisualSapfor.jar";
|
||||
}
|
||||
//--
|
||||
@Override
|
||||
protected boolean canStart(Object... args) throws Exception {
|
||||
if (passes.get(PassCode_2021.PingComponentsServer).Do(true)) {
|
||||
Log.Writeln_("Сервер уже активен!");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@Override
|
||||
protected void ServerAction() throws Exception {
|
||||
StartServer();
|
||||
}
|
||||
@Override
|
||||
protected boolean validate() {
|
||||
return passes.get(PassCode_2021.PingComponentsServer).Do();
|
||||
}
|
||||
}
|
||||
@@ -326,13 +326,29 @@ public enum PassCode_2021 {
|
||||
PingTestingServer,
|
||||
ShutdownTestingServer,
|
||||
StartTestingServer,
|
||||
SPF_InsertImplicitNone,
|
||||
PublishTestingServer,
|
||||
//---
|
||||
PingComponentsServer,
|
||||
ShutdownComponentsServer,
|
||||
StartComponentsServer,
|
||||
PublishComponentsServer,
|
||||
//---
|
||||
SPF_InsertImplicitNone,
|
||||
;
|
||||
public String getDescription() {
|
||||
switch (this) {
|
||||
case Undefined:
|
||||
return "?";
|
||||
//--
|
||||
case PublishComponentsServer:
|
||||
return "Опубликовать сервер компонент и отчётов об ошибках";
|
||||
case PingComponentsServer:
|
||||
return "Проверить активносто сервера компонент и отчётов об ошибках";
|
||||
case StartComponentsServer:
|
||||
return "Запустить сервер компонент и отчётов об ошибках";
|
||||
case ShutdownComponentsServer:
|
||||
return "Остановить сервер компонент и отчётов об ошибках";
|
||||
//--
|
||||
case PublishTestingServer:
|
||||
return "Опубликовать тестовый сервер.";
|
||||
case SPF_InsertImplicitNone:
|
||||
|
||||
Reference in New Issue
Block a user