Рефакторинг проходов запуска, остановки,публикации серверов

v++
This commit is contained in:
2025-02-13 16:20:48 +03:00
parent 016e51dbe5
commit dd1f7f8040
22 changed files with 230 additions and 278 deletions

View File

@@ -1,12 +0,0 @@
package _VisualDVM.Passes.All;
import _VisualDVM.Passes.Server.ComponentsServerPass;
import _VisualDVM.Repository.Server.ServerCode;
public class PingComponentsServer extends ComponentsServerPass {
//todo ПИНГ РЕАЛИЗОВАТЬ ЧЕРЕЗ SSH
boolean silent;
@Override
protected boolean canStart(Object... args) throws Exception {
silent = args.length > 0 ? (boolean) args[0] : false;
return super.canStart(args)&&SendRequest(ServerCode.Ping);
}
}

View File

@@ -1,12 +0,0 @@
package _VisualDVM.Passes.All;
import _VisualDVM.Passes.Server.TestingServerPass;
import _VisualDVM.Repository.Server.ServerCode;
public class PingTestingServer extends TestingServerPass {
//todo ПИНГ РЕАЛИЗОВАТЬ ЧЕРЕЗ SSH
boolean silent;
@Override
protected boolean canStart(Object... args) throws Exception {
silent = args.length > 0 ? (boolean) args[0] : false;
return super.canStart(args)&&(SendRequest(ServerCode.Ping));
}
}

View File

@@ -4,45 +4,15 @@ import _VisualDVM.Global;
import _VisualDVM.GlobalData.RemoteFile.RemoteFile;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.Passes.SSH.RepositoryServerSSHPass;
import _VisualDVM.Passes.Server.PublishServerPass;
import _VisualDVM.Repository.RepositoryServer;
import _VisualDVM.Repository.Server.ComponentsServer;
import java.io.File;
public class PublishComponentsServer extends RepositoryServerSSHPass {
public class PublishComponentsServer extends PublishServerPass<ComponentsServer> {
@Override
protected String getServerFileName() {
return "VisualSapfor.jar";
}
@Override
protected String getServerHomeName() {
return "_sapfor_x64";
}
@Override
public String getIconPath() {
return "/Common/icons/Publish.png";
}
//1. остановить сервер.
//2. заменить файл сервера на компонент визуализатора. переименовать его.
//3. запустить сервер.
@Override
protected void ServerAction() throws Exception {
if (Global.mainModule.getPass(PassCode.PingComponentsServer).Do(true))
ShutdownServer();
if (Global.mainModule.getPass(PassCode.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();
}
@Override
protected boolean validate() {
if (!Global.mainModule.getPass(PassCode.PingComponentsServer).Do(true)) {
Log.Writeln_("Не удалось запустить сервер.");
}
return true;
protected ComponentsServer getServer() {
return Global.componentsServer;
}
}

View File

@@ -4,44 +4,13 @@ import _VisualDVM.Global;
import _VisualDVM.GlobalData.RemoteFile.RemoteFile;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.Passes.SSH.RepositoryServerSSHPass;
import _VisualDVM.Passes.Server.PublishServerPass;
import _VisualDVM.TestingSystem.Common.TestingServer;
import java.io.File;
public class PublishTestingServer extends RepositoryServerSSHPass {
public class PublishTestingServer extends PublishServerPass<TestingServer> {
@Override
protected String getServerFileName() {
return "TestingSystem.jar";
}
@Override
protected String getServerHomeName() {
return "_testing_system";
}
@Override
public String getIconPath() {
return "/Common/icons/Publish.png";
}
//1. остановить сервер.
//2. заменить файл сервера на компонент визуализатора. переименовать его.
//3. запустить сервер.
@Override
protected void ServerAction() throws Exception {
if (Global.mainModule.getPass(PassCode.PingTestingServer).Do(true))
ShutdownServer();
if (Global.mainModule.getPass(PassCode.PingTestingServer).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();
}
@Override
protected boolean validate() {
if (!Global.mainModule.getPass(PassCode.PingTestingServer).Do(true)) {
Log.Writeln_("Не удалось запустить сервер.");
}
return true;
protected TestingServer getServer() {
return Global.testingServer;
}
}

View File

@@ -2,30 +2,11 @@ package _VisualDVM.Passes.All;
import _VisualDVM.Global;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.Passes.SSH.RepositoryServerSSHPass;
public class ShutdownComponentsServer extends RepositoryServerSSHPass {
import _VisualDVM.Passes.Server.ShutdownServerPass;
import _VisualDVM.Repository.Server.ComponentsServer;
public class ShutdownComponentsServer extends ShutdownServerPass<ComponentsServer> {
@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 (Global.mainModule.getPass(PassCode.PingComponentsServer).Do(true)) {
return true;
} else {
Log.Writeln_("Сервер уже неактивен!");
return false;
}
}
@Override
protected void ServerAction() throws Exception {
ShutdownServer();
protected ComponentsServer getServer() {
return Global.componentsServer;
}
}

View File

@@ -2,30 +2,11 @@ package _VisualDVM.Passes.All;
import _VisualDVM.Global;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.Passes.SSH.RepositoryServerSSHPass;
public class ShutdownTestingServer extends RepositoryServerSSHPass {
import _VisualDVM.Passes.Server.ShutdownServerPass;
import _VisualDVM.TestingSystem.Common.TestingServer;
public class ShutdownTestingServer extends ShutdownServerPass<TestingServer> {
@Override
protected String getServerFileName() {
return "TestingSystem.jar";
}
@Override
protected String getServerHomeName() {
return "_testing_system";
}
@Override
public String getIconPath() {
return "/icons/Stop25.png";
}
@Override
protected boolean canStart(Object... args) throws Exception {
if (Global.mainModule.getPass(PassCode.PingTestingServer).Do(true)) {
return true;
} else {
Log.Writeln_("Сервер уже неактивен!");
return false;
}
}
@Override
protected void ServerAction() throws Exception {
ShutdownServer();
protected TestingServer getServer() {
return Global.testingServer;
}
}

View File

@@ -2,34 +2,11 @@ package _VisualDVM.Passes.All;
import _VisualDVM.Global;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.Passes.SSH.RepositoryServerSSHPass;
public class StartComponentsServer extends RepositoryServerSSHPass {
import _VisualDVM.Passes.Server.StartServerPass;
import _VisualDVM.Repository.Server.ComponentsServer;
public class StartComponentsServer extends StartServerPass<ComponentsServer> {
@Override
public String getIconPath() {
return "/Common/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 (Global.mainModule.getPass(PassCode.PingComponentsServer).Do(true)) {
Log.Writeln_("Сервер уже активен!");
return false;
}
return true;
}
@Override
protected void ServerAction() throws Exception {
StartServer();
}
@Override
protected boolean validate() {
return Global.mainModule.getPass(PassCode.PingComponentsServer).Do();
protected ComponentsServer getServer() {
return Global.componentsServer;
}
}

View File

@@ -2,33 +2,11 @@ package _VisualDVM.Passes.All;
import _VisualDVM.Global;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.Passes.SSH.RepositoryServerSSHPass;
public class StartTestingServer extends RepositoryServerSSHPass {
import _VisualDVM.Passes.Server.StartServerPass;
import _VisualDVM.TestingSystem.Common.TestingServer;
public class StartTestingServer extends StartServerPass<TestingServer> {
@Override
public String getIconPath() {
return "/Common/icons/GreenStart.png";
}
@Override
protected String getServerHomeName() {
return "_testing_system";
}
@Override
protected boolean canStart(Object... args) throws Exception {
if (Global.mainModule.getPass(PassCode.PingTestingServer).Do(true)) {
Log.Writeln_("Сервер уже активен!");
return false;
}
return true;
}
@Override
protected void ServerAction() throws Exception {
StartServer();
}
@Override
protected boolean validate() {
return Global.mainModule.getPass(PassCode.PingTestingServer).Do();
}
@Override
protected String getServerFileName() {
return "TestingSystem.jar";
protected TestingServer getServer() {
return Global.testingServer;
}
}

View File

@@ -1,39 +1,9 @@
package _VisualDVM.Passes.All;
import Common.Utils.Utils_;
import Common.Passes.Pass;
import _VisualDVM.Global;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.Passes.Server.TestingServerPass;
import _VisualDVM.Repository.Server.ServerCode;
import _VisualDVM.TestingSystem.Common.Group.Group;
import _VisualDVM.TestingSystem.SAPFOR.SapforPackage.SapforPackage;
import java.io.File;
import java.util.Vector;
public class TestPass extends TestingServerPass {
Group group;
SapforPackage sapforPackage;
@Override
protected boolean canStart(Object... args) throws Exception {
if (Global.testingServer.db.CheckCurrent(Log, Group.class, SapforPackage.class)){
group = Global.testingServer.db.groups.getUI().getCurrent();
sapforPackage = Global.testingServer.db.sapforPackages.getUI().getCurrent();
return SendRequest(ServerCode.TestCode, group.id+"\n"+sapforPackage.id, null, 0 );
}
return false;
}
public class TestPass extends Pass {
@Override
protected void body() throws Exception {
Vector<String> res = (Vector<String>) request.server_response.object;
System.out.println("--");
for (String path: res){
System.out.println(Utils_.Brackets(path));
}
System.out.println("--");
}
@Override
protected void performFinish() throws Exception {
Global.mainModule.getPass(PassCode.SynchronizeTests).Do();
Global.testingServer.PingFromClient();
}
}

View File

@@ -313,12 +313,10 @@ public enum PassCode implements PassCode_ {
CompareSapforPackages,
CreateDVMPackageFromCurrentProject,
//--
PingTestingServer,
ShutdownTestingServer,
StartTestingServer,
PublishTestingServer,
//---
PingComponentsServer,
ShutdownComponentsServer,
StartComponentsServer,
PublishComponentsServer,
@@ -403,8 +401,6 @@ public enum PassCode implements PassCode_ {
return "Собрать версию Sapfor";
case PublishComponentsServer:
return "Опубликовать сервер компонент и отчётов об ошибках";
case PingComponentsServer:
return "Проверить активносто сервера компонент и отчётов об ошибках";
case StartComponentsServer:
return "Запустить сервер компонент и отчётов об ошибках";
case ShutdownComponentsServer:
@@ -414,8 +410,6 @@ public enum PassCode implements PassCode_ {
return "Опубликовать тестовый сервер.";
case SPF_InsertImplicitNone:
return "Вставка оператора Implicit NONE";
case PingTestingServer:
return "Проверить активность тестового сервера";
case StartTestingServer:
return "Запустить тестовый сервер";
case ShutdownTestingServer:

View File

@@ -7,14 +7,13 @@ import _VisualDVM.GlobalData.Machine.Machine;
import _VisualDVM.GlobalData.Machine.MachineType;
import _VisualDVM.GlobalData.RemoteFile.RemoteFile;
import _VisualDVM.GlobalData.User.User;
import _VisualDVM.Repository.RepositoryServer;
import java.util.Date;
public abstract class RepositoryServerSSHPass extends ConnectionPass {
public abstract class RepositoryServerSSHPass<S extends RepositoryServer> extends ConnectionPass<S> {
//--
protected RemoteFile userHome;
protected RemoteFile serverHome;
protected abstract String getServerFileName();
protected abstract String getServerHomeName();
@Override
public String getButtonText() {
return "";
@@ -23,22 +22,24 @@ public abstract class RepositoryServerSSHPass extends ConnectionPass {
protected boolean needsAnimation() {
return true;
}
protected abstract S getServer();
@Override
public void Connect() throws Exception {
userHome = null;
serverHome = null;
//--
machine = new Machine("alex", Constants.ServerAddress, Constants.ServerUserSHHPort, MachineType.Server);
user = new User(Constants.ServerUserName, "mprit_2011");
user = new User(Constants.ServerUserName, Constants.ServerUserPasword);
super.Connect();
//--
userHome = new RemoteFile(user.connection.sftpChannel.getHome(), true);
serverHome = new RemoteFile(userHome, getServerHomeName());
serverHome = new RemoteFile(userHome, getServer().getServerHomeName());
//-
}
//--
protected void StartServer() throws Exception {
user.connection.startShellProcess(serverHome, "server_out.txt", "java -jar " + getServerFileName());
user.connection.startShellProcess(serverHome, "server_out.txt", "java -jar " +
getServer().getServerFileName());
//--
RemoteFile StartLog = new RemoteFile(serverHome, CommonConstants.STARTED +
"_by_" +

View File

@@ -0,0 +1,34 @@
package _VisualDVM.Passes.Server;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.RemoteFile.RemoteFile;
import _VisualDVM.Passes.SSH.RepositoryServerSSHPass;
import _VisualDVM.Repository.RepositoryServer;
import java.io.File;
public abstract class PublishServerPass<S extends RepositoryServer> extends RepositoryServerSSHPass<S> {
@Override
public String getIconPath() {
return "/Common/icons/Publish.png";
}
//1. остановить сервер.
//2. заменить файл сервера на компонент визуализатора. переименовать его.
//3. запустить сервер.
@Override
protected void ServerAction() throws Exception {
if (getServer().PingFromClient())
ShutdownServer();
File src = Global.visualiser.getFile();
//-
RemoteFile dst = new RemoteFile(serverHome, getServer().getServerFileName());
user.connection.tryRM(dst);
user.connection.putSingleFile(src, dst);
//-
StartServer();
}
@Override
protected boolean validate() {
if (!getServer().PingFromClient()) {
Log.Writeln_("Не удалось запустить сервер.");
}
return true;
}
}

View File

@@ -0,0 +1,23 @@
package _VisualDVM.Passes.Server;
import _VisualDVM.Global;
import _VisualDVM.Passes.SSH.RepositoryServerSSHPass;
import _VisualDVM.Repository.RepositoryServer;
public abstract class ShutdownServerPass<S extends RepositoryServer> extends RepositoryServerSSHPass<S> {
@Override
public String getIconPath() {
return "/icons/Stop25.png";
}
@Override
protected boolean canStart(Object... args) throws Exception {
if (getServer().PingFromClient()) {
return true;
} else {
Log.Writeln_("Сервер уже неактивен!");
return false;
}
}
@Override
protected void ServerAction() throws Exception {
ShutdownServer();
}
}

View File

@@ -0,0 +1,28 @@
package _VisualDVM.Passes.Server;
import Common.CommonConstants;
import _VisualDVM.Constants;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.RemoteFile.RemoteFile;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.Passes.SSH.RepositoryServerSSHPass;
import _VisualDVM.Repository.RepositoryServer;
import java.util.Date;
public abstract class StartServerPass<S extends RepositoryServer> extends RepositoryServerSSHPass<S> {
@Override
public String getIconPath() {
return "/Common/icons/GreenStart.png";
}
@Override
protected boolean canStart(Object... args) throws Exception {
if (getServer().PingFromClient()) {
Log.Writeln_("Сервер уже активен!");
return false;
}
return true;
}
@Override
protected void ServerAction() throws Exception {
StartServer();
}
}