реализация остановки сервера тестирования по кнопке
This commit is contained in:
19
.idea/workspace.xml
generated
19
.idea/workspace.xml
generated
@@ -7,19 +7,16 @@
|
|||||||
</component>
|
</component>
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
|
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
|
||||||
|
<change afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/StopTestingServer.java" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/SSH/TestingServerSSHPass.java" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/src/icons/Stop25.png" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/properties" beforeDir="false" afterPath="$PROJECT_DIR$/properties" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/properties" beforeDir="false" afterPath="$PROJECT_DIR$/properties" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/Common/Database/DataSet.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Database/DataSet.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/Common/Constants.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Constants.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/Repository/Component/Visualiser.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/Component/Visualiser.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/Common/GlobalProperties.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/GlobalProperties.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/Repository/Server/ServerCode.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/Server/ServerCode.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TestingBar.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TestingBar.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TestingServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TestingServer.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTestingPlanner.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTestingPlanner.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMPackage/DVMPackagesBar.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMPackage/DVMPackagesBar.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/PassCode_2021.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/PassCode_2021.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMPackage/UI/AddDVMPackageMenu.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMPackage/UI/AddDVMPackageMenu.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforTasksPackage/UI/AddSapforPackageMenu.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforTasksPackage/UI/AddSapforPackageMenu.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforTasksPackage/UI/SapforPackagesBar.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforTasksPackage/UI/SapforPackagesBar.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AddSapforPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AddSapforPackage.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/CloneDVMPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/CloneDVMPackage.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/CloneSapforPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/CloneSapforPackage.java" afterDir="false" />
|
|
||||||
</list>
|
</list>
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
|
|||||||
11
properties
11
properties
@@ -2,7 +2,7 @@
|
|||||||
"Mode": "Normal",
|
"Mode": "Normal",
|
||||||
"ServerAddress": "alex-freenas.ddns.net",
|
"ServerAddress": "alex-freenas.ddns.net",
|
||||||
"ServerUserName": "testuser",
|
"ServerUserName": "testuser",
|
||||||
"ServerUserSHHPort": 23,
|
"ServerUserSHHPort": 2000,
|
||||||
"ComponentsServerPort": 7995,
|
"ComponentsServerPort": 7995,
|
||||||
"TestingServerPort": 7998,
|
"TestingServerPort": 7998,
|
||||||
"SocketTimeout": 5000,
|
"SocketTimeout": 5000,
|
||||||
@@ -10,6 +10,10 @@
|
|||||||
"SMTPHost": "smtp.mail.ru",
|
"SMTPHost": "smtp.mail.ru",
|
||||||
"SMTPPort": 465,
|
"SMTPPort": 465,
|
||||||
"MailSocketPort": 465,
|
"MailSocketPort": 465,
|
||||||
|
"collapseCredentials": false,
|
||||||
|
"collapseFileGraphs": true,
|
||||||
|
"collapseFileMessages": true,
|
||||||
|
"collapseProjectTrees": true,
|
||||||
"BackupWorkspace": "_sapfor_x64_backups",
|
"BackupWorkspace": "_sapfor_x64_backups",
|
||||||
"BackupHour": 5,
|
"BackupHour": 5,
|
||||||
"BackupMinute": 0,
|
"BackupMinute": 0,
|
||||||
@@ -34,8 +38,5 @@
|
|||||||
"AutoCheckTesting": true,
|
"AutoCheckTesting": true,
|
||||||
"CheckTestingIntervalSeconds": 10,
|
"CheckTestingIntervalSeconds": 10,
|
||||||
"EmailOnTestingProgress": false,
|
"EmailOnTestingProgress": false,
|
||||||
"collapseCredentials": false,
|
"eraseTestingWorkspaces": true
|
||||||
"collapseFileGraphs": true,
|
|
||||||
"collapseFileMessages": true,
|
|
||||||
"collapseProjectTrees": false
|
|
||||||
}
|
}
|
||||||
@@ -8,6 +8,8 @@ import java.util.regex.Pattern;
|
|||||||
public class Constants {
|
public class Constants {
|
||||||
public static final int Nan = -1;
|
public static final int Nan = -1;
|
||||||
public static final int planner_version = 2;
|
public static final int planner_version = 2;
|
||||||
|
//--
|
||||||
|
public static final String testingSystemHomeName = "_testing_system";
|
||||||
//SVN
|
//SVN
|
||||||
public static final String REPOSITORY_AUTHENTICATION = "--username dvmhuser --password dvmh2013 --non-interactive";
|
public static final String REPOSITORY_AUTHENTICATION = "--username dvmhuser --password dvmh2013 --non-interactive";
|
||||||
public static final String DVM_REPOSITORY = "http://svn.dvm-system.org/svn/dvmhrepo/dvm";
|
public static final String DVM_REPOSITORY = "http://svn.dvm-system.org/svn/dvmhrepo/dvm";
|
||||||
|
|||||||
@@ -50,6 +50,16 @@ public class GlobalProperties extends Properties {
|
|||||||
@Expose
|
@Expose
|
||||||
public int MailSocketPort = 465;
|
public int MailSocketPort = 465;
|
||||||
//---
|
//---
|
||||||
|
//СВОРАЧИВАНИЕ ОБЛАСТЕЙ----------------------
|
||||||
|
@Expose
|
||||||
|
public boolean collapseCredentials = false;
|
||||||
|
@Expose
|
||||||
|
public boolean collapseFileGraphs = false;
|
||||||
|
@Expose
|
||||||
|
public boolean collapseFileMessages = false;
|
||||||
|
@Expose
|
||||||
|
public boolean collapseProjectTrees = false;
|
||||||
|
//-------------------------------------------
|
||||||
@Expose
|
@Expose
|
||||||
public String BackupWorkspace = "_sapfor_x64_backups";
|
public String BackupWorkspace = "_sapfor_x64_backups";
|
||||||
@Expose
|
@Expose
|
||||||
@@ -103,13 +113,7 @@ public class GlobalProperties extends Properties {
|
|||||||
@Expose
|
@Expose
|
||||||
public boolean EmailOnTestingProgress = false; //включено ли оповещение по email о результатах тестирования.
|
public boolean EmailOnTestingProgress = false; //включено ли оповещение по email о результатах тестирования.
|
||||||
@Expose
|
@Expose
|
||||||
public boolean collapseCredentials = false;
|
public boolean eraseTestingWorkspaces = true; //удалять ли рабочее пространство пакетов тестирования после его завершения.
|
||||||
@Expose
|
|
||||||
public boolean collapseFileGraphs = false;
|
|
||||||
@Expose
|
|
||||||
public boolean collapseFileMessages = false;
|
|
||||||
@Expose
|
|
||||||
public boolean collapseProjectTrees = false;
|
|
||||||
//-
|
//-
|
||||||
@Override
|
@Override
|
||||||
public File getFile() {
|
public File getFile() {
|
||||||
|
|||||||
@@ -12,37 +12,11 @@ import Visual_DVM_2021.Passes.PassCode_2021;
|
|||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
public class TestingBar extends VisualiserMenuBar {
|
public class TestingBar extends VisualiserMenuBar {
|
||||||
// public MenuBarButton MachineButton;
|
|
||||||
// public MenuBarButton UserButton;
|
|
||||||
public JLabel KernelsLabel;
|
public JLabel KernelsLabel;
|
||||||
|
|
||||||
public JButton autorefreshButton;
|
public JButton autorefreshButton;
|
||||||
JSpinner sCheckTime;
|
JSpinner sCheckTime;
|
||||||
JSpinner sKernels;
|
JSpinner sKernels;
|
||||||
public TestingBar() {
|
public TestingBar() {
|
||||||
/*
|
|
||||||
add(MachineButton = new MenuBarButton() {
|
|
||||||
{
|
|
||||||
setIcon("/icons/Machine.png");
|
|
||||||
setFont(VisualiserFonts.TreePlain);
|
|
||||||
setToolTipText("Машина тестирования");
|
|
||||||
addActionListener(e -> {
|
|
||||||
UI.getMainWindow().FocusCredentials();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
//--
|
|
||||||
add(UserButton = new MenuBarButton() {
|
|
||||||
{
|
|
||||||
setIcon("/icons/User.png");
|
|
||||||
setFont(VisualiserFonts.TreePlain);
|
|
||||||
setToolTipText("Учетная запись машины тестирования");
|
|
||||||
addActionListener(e -> {
|
|
||||||
UI.getMainWindow().FocusCredentials();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
*/
|
|
||||||
//-
|
//-
|
||||||
KernelsLabel = addLabel("", "/icons/Kernels.png");
|
KernelsLabel = addLabel("", "/icons/Kernels.png");
|
||||||
KernelsLabel.setHorizontalTextPosition(JLabel.LEFT);
|
KernelsLabel.setHorizontalTextPosition(JLabel.LEFT);
|
||||||
@@ -57,8 +31,6 @@ public class TestingBar extends VisualiserMenuBar {
|
|||||||
UI.MakeSpinnerRapid(sKernels, e -> {
|
UI.MakeSpinnerRapid(sKernels, e -> {
|
||||||
Global.properties.updateField("TestingKernels", sKernels.getValue());
|
Global.properties.updateField("TestingKernels", sKernels.getValue());
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
addLabel(" ");
|
addLabel(" ");
|
||||||
//--
|
//--
|
||||||
add(new MenuBarButton() {
|
add(new MenuBarButton() {
|
||||||
@@ -112,6 +84,8 @@ public class TestingBar extends VisualiserMenuBar {
|
|||||||
setFont(Current.getTheme().Fonts.get(VisualiserFonts.TreeItalic));
|
setFont(Current.getTheme().Fonts.get(VisualiserFonts.TreeItalic));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
addSeparator();
|
||||||
|
addPasses(PassCode_2021.StopTestingServer);
|
||||||
}
|
}
|
||||||
public void ShowAutoCheckTesting() {
|
public void ShowAutoCheckTesting() {
|
||||||
autorefreshButton.setIcon(Utils.getIcon(Global.properties.AutoCheckTesting ? "/icons/Pick.png" : "/icons/NotPick.png"));
|
autorefreshButton.setIcon(Utils.getIcon(Global.properties.AutoCheckTesting ? "/icons/Pick.png" : "/icons/NotPick.png"));
|
||||||
|
|||||||
@@ -242,11 +242,9 @@ public class DVMTestingPlanner extends TestingPlanner<DVMPackage> {
|
|||||||
UnzipFolderPass unzipFolderPass = new UnzipFolderPass();
|
UnzipFolderPass unzipFolderPass = new UnzipFolderPass();
|
||||||
unzipFolderPass.Do(results_archive.getAbsolutePath(), packageLocalWorkspace.getAbsolutePath(), false);
|
unzipFolderPass.Do(results_archive.getAbsolutePath(), packageLocalWorkspace.getAbsolutePath(), false);
|
||||||
}
|
}
|
||||||
//todo привязать это к настройкам, чтобы можно было включать/выключать удаление.
|
//---
|
||||||
//получили результат. теперь уничтожаем папку пакета на целевой машине.
|
if (Global.properties.eraseTestingWorkspaces && user.connection.Exists(packageRemoteWorkspace))
|
||||||
if (user.connection.Exists(packageRemoteWorkspace)) {
|
|
||||||
user.connection.RMDIR(packageRemoteWorkspace.full_name);
|
user.connection.RMDIR(packageRemoteWorkspace.full_name);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
protected void AnalyseResults() throws Exception {
|
protected void AnalyseResults() throws Exception {
|
||||||
|
|||||||
52
src/Visual_DVM_2021/Passes/All/StopTestingServer.java
Normal file
52
src/Visual_DVM_2021/Passes/All/StopTestingServer.java
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
package Visual_DVM_2021.Passes.All;
|
||||||
|
import Common.Constants;
|
||||||
|
import Common.Current;
|
||||||
|
import Common.UI.UI;
|
||||||
|
import Common.Utils.Utils;
|
||||||
|
import GlobalData.RemoteFile.RemoteFile;
|
||||||
|
import Visual_DVM_2021.Passes.SSH.TestingServerSSHPass;
|
||||||
|
import com.jcraft.jsch.ChannelSftp;
|
||||||
|
import com.sun.corba.se.spi.orbutil.threadpool.Work;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.Vector;
|
||||||
|
public class StopTestingServer extends TestingServerSSHPass {
|
||||||
|
@Override
|
||||||
|
public String getIconPath() {
|
||||||
|
return "/icons/Stop25.png";
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public String getButtonText() {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected void ServerAction() throws Exception {
|
||||||
|
RemoteFile Home = new RemoteFile(user.connection.sftpChannel.getHome(), true);
|
||||||
|
RemoteFile Workspace = new RemoteFile(Home, Constants.testingSystemHomeName);
|
||||||
|
//--
|
||||||
|
RemoteFile INTERRUPT = new RemoteFile(Workspace, Constants.INTERRUPT);
|
||||||
|
RemoteFile ABORTED = new RemoteFile(Workspace, Constants.ABORTED);
|
||||||
|
|
||||||
|
//--
|
||||||
|
System.out.println("Home="+Utils.Brackets(Home.full_name));
|
||||||
|
System.out.println("Workspace="+Utils.Brackets(Workspace.full_name));
|
||||||
|
|
||||||
|
ShowMessage1("Создание файла INTERRUPT..");
|
||||||
|
user.connection.writeToFile("+", INTERRUPT);
|
||||||
|
ShowMessage1("Ожидание остановки сервера тестирования");
|
||||||
|
do {
|
||||||
|
Utils.sleep(1000);
|
||||||
|
ShowMessage2("Проверка признака остановки..");
|
||||||
|
} while (!user.connection.Exists(ABORTED));
|
||||||
|
//--
|
||||||
|
RemoteFile AbortLog = new RemoteFile(Workspace, Constants.ABORTED+
|
||||||
|
"_by_"+
|
||||||
|
Current.getAccount().email+
|
||||||
|
"_"+
|
||||||
|
new Date().toString()
|
||||||
|
);
|
||||||
|
user.connection.writeToFile("+", AbortLog);
|
||||||
|
user.connection.sftpChannel.rename(ABORTED.full_name, AbortLog.full_name);
|
||||||
|
System.out.println("Done");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -322,11 +322,15 @@ public enum PassCode_2021 {
|
|||||||
CompareDVMRunTasks,
|
CompareDVMRunTasks,
|
||||||
CompareSapforPackages,
|
CompareSapforPackages,
|
||||||
CreateDVMPackageFromCurrentProject,
|
CreateDVMPackageFromCurrentProject,
|
||||||
|
//--
|
||||||
|
StopTestingServer
|
||||||
;
|
;
|
||||||
public String getDescription() {
|
public String getDescription() {
|
||||||
switch (this) {
|
switch (this) {
|
||||||
case Undefined:
|
case Undefined:
|
||||||
return "?";
|
return "?";
|
||||||
|
case StopTestingServer:
|
||||||
|
return "Остановить серверный компонент тестирования";
|
||||||
case CreateDVMPackageFromCurrentProject:
|
case CreateDVMPackageFromCurrentProject:
|
||||||
return "Тестировать текущий проект";
|
return "Тестировать текущий проект";
|
||||||
case CompareSapforPackages:
|
case CompareSapforPackages:
|
||||||
|
|||||||
18
src/Visual_DVM_2021/Passes/SSH/TestingServerSSHPass.java
Normal file
18
src/Visual_DVM_2021/Passes/SSH/TestingServerSSHPass.java
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
package Visual_DVM_2021.Passes.SSH;
|
||||||
|
import Common.Current;
|
||||||
|
import Common.Global;
|
||||||
|
import GlobalData.Machine.Machine;
|
||||||
|
import GlobalData.Machine.MachineType;
|
||||||
|
import GlobalData.User.User;
|
||||||
|
public class TestingServerSSHPass extends ConnectionPass {
|
||||||
|
@Override
|
||||||
|
protected boolean needsAnimation() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void Connect() throws Exception {
|
||||||
|
machine = new Machine("alex", Global.properties.ServerAddress,Global.properties.ServerUserSHHPort,MachineType.Server);
|
||||||
|
user = new User(Global.properties.ServerUserName, "mprit_2011");
|
||||||
|
super.Connect();
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
src/icons/Stop25.png
Normal file
BIN
src/icons/Stop25.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.4 KiB |
Reference in New Issue
Block a user