2023-12-16 03:57:01 +03:00
|
|
|
|
package Visual_DVM_2021.Passes;
|
2024-10-08 00:39:13 +03:00
|
|
|
|
import Common.CurrentAnchestor;
|
2024-10-08 22:33:49 +03:00
|
|
|
|
import Common.Visual.CommonUI;
|
2024-10-09 22:01:19 +03:00
|
|
|
|
import _VisualDVM.Current;
|
2024-10-07 00:58:29 +03:00
|
|
|
|
import _VisualDVM.Global;
|
2023-12-16 03:57:01 +03:00
|
|
|
|
import TestingSystem.Common.TestingPackage.TestingPackage;
|
|
|
|
|
|
import TestingSystem.Common.TestingServer;
|
2023-12-17 19:19:59 +03:00
|
|
|
|
import TestingSystem.Common.TasksPackageState;
|
2023-12-16 03:57:01 +03:00
|
|
|
|
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;
|
|
|
|
|
|
}
|
2024-10-08 00:39:13 +03:00
|
|
|
|
if (CurrentAnchestor.Check(Log, getCurrentName())) {
|
|
|
|
|
|
target = (P) CurrentAnchestor.get(getCurrentName());
|
2023-12-16 03:57:01 +03:00
|
|
|
|
//-
|
|
|
|
|
|
if (!target.state.equals(TasksPackageState.Draft)) {
|
|
|
|
|
|
Log.Writeln_("Возможно запустить только пакет, готовящийся к публикации!");
|
|
|
|
|
|
return false;
|
|
|
|
|
|
}
|
|
|
|
|
|
if (target.tasksCount == 0) {
|
|
|
|
|
|
Log.Writeln_("В пакете отсутствуют задачи.");
|
|
|
|
|
|
return false;
|
|
|
|
|
|
}
|
2024-10-08 22:33:49 +03:00
|
|
|
|
if (CommonUI.Question("Будет запущено:\n"
|
2023-12-16 03:57:01 +03:00
|
|
|
|
+ target.tasksCount + " задач.\n" +
|
|
|
|
|
|
"Продолжить")) {
|
|
|
|
|
|
target.state = TasksPackageState.Queued;
|
|
|
|
|
|
return true;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
return false;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|