кнопка удаления пакетов SAPFOR и их результатов.

This commit is contained in:
2023-10-18 14:05:51 +03:00
parent d19307ac2b
commit b7a0445f39
11 changed files with 116 additions and 75 deletions

View File

@@ -1,4 +1,5 @@
package TestingSystem;
import Common.Constants;
import Common.Global;
import Common.Utils.Utils;
import GlobalData.Machine.Machine;
@@ -6,6 +7,8 @@ import GlobalData.User.User;
import Repository.EmailMessage;
import Repository.Server.ServerCode;
import Repository.Server.ServerExchangeUnit_2021;
import SapforTestingSystem.Json.SapforTasksPackage_json;
import SapforTestingSystem.SapforTask.SapforTask;
import SapforTestingSystem.SapforTasksPackage.SapforTasksPackage;
import SapforTestingSystem.SapforTasksPackageSupervisor.SapforTasksPackageSupervisor;
import TestingSystem.Tasks.TestCompilationTask;
@@ -42,16 +45,18 @@ public class TestingPlanner {
task_in.ChangeDate = new Date().getTime();
ServerCommand(ServerCode.EditAccountObject, task_in);
}
public void UpdatePackage(TasksPackage package_in) throws Exception {
package_in.ChangeDate = new Date().getTime();
ServerCommand(ServerCode.EditAccountObject, package_in);
public void UpdatePackage() throws Exception {
tasksPackage.ChangeDate = new Date().getTime();
ServerCommand(ServerCode.EditAccountObject, tasksPackage);
//---------------
if ((package_in.needsEmail == 1) &&
(package_in.state.equals(TasksPackageState.PackageStart) ||
(package_in.state.equals(TasksPackageState.Done)))) {
if ((tasksPackage.needsEmail == 1) &&
(tasksPackage.state.equals(TasksPackageState.PackageStart) ||
(tasksPackage.state.equals(TasksPackageState.Done)) ||
(tasksPackage.state.equals(TasksPackageState.Aborted))
)) {
EmailMessage message = new EmailMessage();
message.subject = "Состояние пакета задач " + Utils.Brackets(package_in.id) + " изменилось на " + Utils.Brackets(package_in.state.getDescription());
message.text = package_in.summary;
message.subject = "Состояние пакета задач " + Utils.Brackets(tasksPackage.id) + " изменилось на " + Utils.Brackets(tasksPackage.state.getDescription());
message.text = tasksPackage.summary;
message.targets.add(email);
ServerCommand(ServerCode.Email, message);
}
@@ -206,17 +211,44 @@ public class TestingPlanner {
return String.join("/", user.workspace, ConnectionPass.modules, ConnectionPass.planner);
}
//--
public void UpdateSapforPackage(SapforTasksPackage package_in) throws Exception {
package_in.ChangeDate = new Date().getTime();
ServerCommand(ServerCode.EditAccountObject, package_in);
if ((package_in.needsEmail == 1) &&
(package_in.state.equals(TasksPackageState.RunningExecution) ||
(package_in.state.equals(TasksPackageState.Done)))) {
EmailMessage message = new EmailMessage();
message.subject = "Состояние пакета задач SAPFOR" + Utils.Brackets(package_in.id) + " изменилось на " + Utils.Brackets(package_in.state.getDescription());
// message.text = package_in.summary;
public void UpdateSapforPackage() throws Exception {
sapforTasksPackage.ChangeDate = new Date().getTime();
EmailMessage message = null;
ServerCommand(ServerCode.EditAccountObject, sapforTasksPackage);
if (sapforTasksPackage.needsEmail == 1) {
switch (sapforTasksPackage.state) {
case RunningExecution:
case Aborted:
message = new EmailMessage();
message.subject = "Состояние пакета задач SAPFOR" + Utils.Brackets(sapforTasksPackage.id) + " изменилось на " + Utils.Brackets(sapforTasksPackage.state.getDescription());
break;
case Done:
//результаты.
message = new EmailMessage();
message.subject = "Состояние пакета задач SAPFOR" + Utils.Brackets(sapforTasksPackage.id) + " изменилось на " + Utils.Brackets(sapforTasksPackage.state.getDescription());
message.text = AnalyseSapforPackageResults();
break;
default:
break;
}
}
if (message != null) {
message.targets.add(email);
ServerCommand(ServerCode.Email, message);
}
}
//--
public String AnalyseSapforPackageResults() throws Exception {
String result = "";
Vector<String> result_lines = new Vector<>();
File results_json_file = new File(sapforTasksPackage.workspace, Constants.results_json);
if (results_json_file.exists()) {
SapforTasksPackage_json results_json = (SapforTasksPackage_json) Utils.jsonFromFile(results_json_file, SapforTasksPackage_json.class);
result = String.join("\n", result_lines);
result_lines.add("");
LinkedHashMap<String, Vector<SapforTask>> tasksByConfigurations = new LinkedHashMap<>();
}
return result;
}
}

View File

@@ -182,11 +182,11 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
)
);
} else if (object instanceof SapforTasksPackage) {
Utils.forceDeleteWithCheck(
new File(
((SapforTasksPackage) object).workspace
)
File workspace = new File(
((SapforTasksPackage) object).workspace
);
System.out.println(Utils.Brackets(workspace.getAbsolutePath()));
Utils.forceDeleteWithCheck(workspace);
}
}
@Override

View File

@@ -53,23 +53,23 @@ public class TestsSupervisor_2022 {
connection.ShellCommand("kill -9 " + tasksPackage.pid);
}
tasksPackage.state = TasksPackageState.Aborted;
planner.UpdatePackage(tasksPackage);
planner.UpdatePackage();
}else {
switch (tasksPackage.state) {
case TestsSynchronize:
TestsSynchronize();
tasksPackage.state = TasksPackageState.PackageWorkspaceCreation;
planner.UpdatePackage(tasksPackage);
planner.UpdatePackage();
break;
case PackageWorkspaceCreation:
PackageWorkspaceCreation();
tasksPackage.state = TasksPackageState.PackageStart;
planner.UpdatePackage(tasksPackage);
planner.UpdatePackage();
break;
case PackageStart:
PackageStart();
tasksPackage.state = TasksPackageState.CompilationWorkspacesCreation;
planner.UpdatePackage(tasksPackage);
planner.UpdatePackage();
break;
case CompilationWorkspacesCreation:
case CompilationPreparation:
@@ -82,12 +82,12 @@ public class TestsSupervisor_2022 {
case RunningEnd:
DownloadResults();
tasksPackage.state = TasksPackageState.Analysis;
planner.UpdatePackage(tasksPackage);
planner.UpdatePackage();
break;
case Analysis:
AnalyseResults();
tasksPackage.state = TasksPackageState.Done;
planner.UpdatePackage(tasksPackage);
planner.UpdatePackage();
break;
default:
break;
@@ -167,7 +167,7 @@ public class TestsSupervisor_2022 {
System.out.println(fileName + " last file");
tasksPackage.state = TasksPackageState.valueOf(files.get(files.size() - 1).getFilename());
if (tasksPackage.state != oldState)
planner.UpdatePackage(tasksPackage);
planner.UpdatePackage();
}
}
public void DownloadResults() throws Exception {