рефакторинг серверной части сапфора.

This commit is contained in:
2023-12-16 03:57:01 +03:00
parent b7b41ae59c
commit 34c08e7d44
32 changed files with 942 additions and 355 deletions

View File

@@ -0,0 +1,48 @@
package Visual_DVM_2021.Passes;
import Common.Current;
import Common.Global;
import Common.UI.UI;
import TestingSystem.Common.TestingPackage.TestingPackage;
import TestingSystem.Common.TestingServer;
import TestingSystem.DVM.TasksPackage.TasksPackageState;
import Visual_DVM_2021.Passes.Server.PublishServerObject;
public abstract class StartTestingPackage<P extends TestingPackage> extends PublishServerObject<TestingServer, P> {
public StartTestingPackage(Class<P> p_in) {
super(Global.testingServer, p_in);
}
@Override
protected int getTimeout() {
return 0;
}
@Override
public String getIconPath() {
return "/icons/Start.png";
}
protected abstract Current getCurrentName();
@Override
protected boolean canStart(Object... args) throws Exception {
if (!Current.getAccount().CheckRegistered(Log)) {
return false;
}
if (Current.Check(Log, getCurrentName())) {
target = (P) Current.get(getCurrentName());
//-
if (!target.state.equals(TasksPackageState.Draft)) {
Log.Writeln_("Возможно запустить только пакет, готовящийся к публикации!");
return false;
}
if (target.tasksCount == 0) {
Log.Writeln_("В пакете отсутствуют задачи.");
return false;
}
if (UI.Question("Будет запущено:\n"
+ target.tasksCount + " задач.\n" +
"Продолжить")) {
target.state = TasksPackageState.Queued;
return true;
}
}
return false;
}
}