Оптимизация актуальности задач.
This commit is contained in:
2023-12-10 02:26:28 +03:00
parent fce85afc71
commit 127aec5a1d
13 changed files with 222 additions and 84 deletions

View File

@@ -0,0 +1,60 @@
package Visual_DVM_2021.Passes.All;
import Common.Current;
import Common.Global;
import Common.UI.UI;
import Repository.Server.ServerCode;
import Repository.Server.ServerExchangeUnit_2021;
import TestingSystem.DVM.Tasks.TestRunTask;
import TestingSystem.DVM.TasksPackage.TasksPackage;
import TestingSystem.DVM.TasksPackage.TasksPackageState;
import Visual_DVM_2021.Passes.Server.TestingSystemPass;
import javafx.util.Pair;
import java.util.Vector;
public class ActualizeDVMPackages extends TestingSystemPass<Vector<Pair<Long, TasksPackageState>>> {
@Override
protected boolean needsAnimation() {
return false;
}
@Override
protected boolean canStart(Object... args) throws Exception {
target = new Vector<>();
for (TasksPackage tasksPackage : Global.testingServer.account_db.packages.Data.values()) {
if (tasksPackage.state.isActive())
target.add(new Pair<>(tasksPackage.id, tasksPackage.state));
}
return !target.isEmpty();
}
@Override
protected void ServerAction() throws Exception {
Command(new ServerExchangeUnit_2021(ServerCode.ActualizeDVMPackages, Current.getAccount().email, target));
}
@Override
protected void performDone() throws Exception {
int i = 0;
Vector<Pair<TasksPackage, Vector<TestRunTask>>> res = (Vector<Pair<TasksPackage, Vector<TestRunTask>>>) response.object;
Global.testingServer.account_db.BeginTransaction();
for (Pair<TasksPackage, Vector<TestRunTask>> pair : res) {
TasksPackage tasksPackage = pair.getKey();
Global.testingServer.account_db.UpdateWithCheck(tasksPackage);
if (tasksPackage.state.equals(TasksPackageState.Done)) {
++i;
for (TestRunTask task : pair.getValue()) {
Global.testingServer.account_db.UpdateWithCheck(task);
}
}
}
Global.testingServer.account_db.Commit();
/*
if (i == target.size()) {
UI.testingBar.autorefreshButton.doClick();
System.out.println("All packages are not active");
}
*/
}
@Override
protected void showDone() throws Exception {
Global.testingServer.account_db.packages.RefreshUI();
Global.testingServer.account_db.testRunTasks.ShowUI();
}
}

View File

@@ -0,0 +1,14 @@
package Visual_DVM_2021.Passes.All;
import Visual_DVM_2021.Passes.PassCode_2021;
import Visual_DVM_2021.Passes.Pass_2021;
public class ActualizePackages extends Pass_2021 {
@Override
protected boolean needsAnimation() {
return false;
}
@Override
protected void body() throws Exception {
passes.get(PassCode_2021.ActualizeDVMPackages).Do();
passes.get(PassCode_2021.ActualizeSAPFORPackages).Do();
}
}

View File

@@ -0,0 +1,55 @@
package Visual_DVM_2021.Passes.All;
import Common.Current;
import Common.Global;
import Repository.Server.ServerCode;
import Repository.Server.ServerExchangeUnit_2021;
import TestingSystem.DVM.Tasks.TestRunTask;
import TestingSystem.DVM.TasksPackage.TasksPackage;
import TestingSystem.DVM.TasksPackage.TasksPackageState;
import TestingSystem.SAPFOR.SapforTask.SapforTask;
import TestingSystem.SAPFOR.SapforTasksPackage.SapforTasksPackage;
import Visual_DVM_2021.Passes.Server.TestingSystemPass;
import javafx.util.Pair;
import java.util.Vector;
public class ActualizeSAPFORPackages extends TestingSystemPass<Vector<Pair<Long, TasksPackageState>>> {
@Override
protected boolean needsAnimation() {
return false;
}
@Override
protected boolean canStart(Object... args) throws Exception {
target = new Vector<>();
for (SapforTasksPackage tasksPackage : Global.testingServer.account_db.sapforTasksPackages.Data.values()) {
if (tasksPackage.state.isActive())
target.add(new Pair<>(tasksPackage.id, tasksPackage.state));
}
return !target.isEmpty();
}
@Override
protected void ServerAction() throws Exception {
Command(new ServerExchangeUnit_2021(ServerCode.ActualizeSAPFORPackages, Current.getAccount().email, target));
}
@Override
protected void performDone() throws Exception {
int i = 0;
Vector<Pair<SapforTasksPackage, Vector<SapforTask>>> res = (Vector<Pair<SapforTasksPackage, Vector<SapforTask>>>) response.object;
Global.testingServer.account_db.BeginTransaction();
for (Pair<SapforTasksPackage, Vector<SapforTask>> pair : res) {
SapforTasksPackage tasksPackage = pair.getKey();
Global.testingServer.account_db.UpdateWithCheck(tasksPackage);
if (tasksPackage.state.equals(TasksPackageState.Done)) {
++i;
for (SapforTask task : pair.getValue()) {
Global.testingServer.account_db.UpdateWithCheck(task);
}
}
}
Global.testingServer.account_db.Commit();
}
@Override
protected void showDone() throws Exception {
Global.testingServer.account_db.sapforTasksPackages.RefreshUI();
Global.testingServer.account_db.sapforTasks.ShowUI();
}
}

View File

@@ -1,31 +0,0 @@
package Visual_DVM_2021.Passes.All;
import Common.Current;
import GlobalData.Settings.SettingName;
import Repository.Server.ServerCode;
import Repository.Server.ServerExchangeUnit_2021;
import TestingSystem.Common.TSetting.TSetting;
import Visual_DVM_2021.Passes.PassCode_2021;
import Visual_DVM_2021.Passes.Server.TestingSystemPass;
public class PauseTesting extends TestingSystemPass<TSetting> {
@Override
protected boolean canStart(Object... args) throws Exception {
return Current.getAccount().CheckRegistered(Log);
}
@Override
public String getIconPath() {
return "/icons/Pause.png";
}
@Override
public String getButtonText() {
return "";
}
@Override
protected void ServerAction() throws Exception {
target = new TSetting(SettingName.Pause, true);
Command(new ServerExchangeUnit_2021(ServerCode.EditAccountObject, Current.getAccount().email, target));
}
@Override
protected void showFinish() throws Exception {
passes.get(PassCode_2021.SynchronizeTestsTasks).Do();
}
}

View File

@@ -1,31 +0,0 @@
package Visual_DVM_2021.Passes.All;
import Common.Current;
import GlobalData.Settings.SettingName;
import Repository.Server.ServerCode;
import Repository.Server.ServerExchangeUnit_2021;
import TestingSystem.Common.TSetting.TSetting;
import Visual_DVM_2021.Passes.PassCode_2021;
import Visual_DVM_2021.Passes.Server.TestingSystemPass;
public class PlayTesting extends TestingSystemPass<TSetting> {
@Override
protected boolean canStart(Object... args) throws Exception {
return Current.getAccount().CheckRegistered(Log);
}
@Override
public String getIconPath() {
return "/icons/Start.png";
}
@Override
public String getButtonText() {
return "";
}
@Override
protected void ServerAction() throws Exception {
target = new TSetting(SettingName.Pause, false);
Command(new ServerExchangeUnit_2021(ServerCode.EditAccountObject, Current.getAccount().email, target));
}
@Override
protected void showFinish() throws Exception {
passes.get(PassCode_2021.SynchronizeTestsTasks).Do();
}
}