Files
VisualSapfor/src/_VisualDVM/Passes/Testing/StartTestingPackage.java

49 lines
1.8 KiB
Java
Raw Normal View History

2024-10-14 12:14:01 +03:00
package _VisualDVM.Passes.Testing;
2024-10-11 00:00:30 +03:00
import Common.Visual.UI_;
2024-10-09 22:01:19 +03:00
import _VisualDVM.Current;
import _VisualDVM.Global;
2024-10-09 22:21:57 +03:00
import _VisualDVM.TestingSystem.Common.TestingPackage.TestingPackage;
import _VisualDVM.TestingSystem.Common.TestingServer;
import _VisualDVM.TestingSystem.Common.TasksPackageState;
2024-10-14 12:14:01 +03:00
import _VisualDVM.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 (!Global.mainModule.getAccount().CheckRegistered(Log)) {
return false;
}
if (Global.mainModule.Check(Log, getCurrentName())) {
target = (P) Global.mainModule.get(getCurrentName());
//-
if (!target.state.equals(TasksPackageState.Draft)) {
Log.Writeln_("Возможно запустить только пакет, готовящийся к публикации!");
return false;
}
if (target.tasksCount == 0) {
Log.Writeln_("В пакете отсутствуют задачи.");
return false;
}
2024-10-11 00:00:30 +03:00
if (UI_.Question("Будет запущено:\n"
+ target.tasksCount + " задач.\n" +
"Продолжить")) {
target.state = TasksPackageState.Queued;
return true;
}
}
return false;
}
}