Files
VisualSapfor/src/_VisualDVM/Passes/All/StartSelectedDVMConfigurations.java

75 lines
3.2 KiB
Java
Raw Normal View History

2024-10-14 12:14:01 +03:00
package _VisualDVM.Passes.All;
import Common.MainModule_;
import Common.Visual.UI;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Compiler.Compiler;
2024-10-09 22:21:57 +03:00
import _VisualDVM.GlobalData.Compiler.CompilerType;
import _VisualDVM.GlobalData.Machine.Machine;
2024-10-09 22:21:57 +03:00
import _VisualDVM.GlobalData.Machine.MachineType;
import _VisualDVM.GlobalData.User.User;
2024-10-09 22:21:57 +03:00
import _VisualDVM.GlobalData.User.UserState;
2024-10-14 15:19:13 +03:00
import _VisualDVM.Passes.PassCode;
import _VisualDVM.Passes.Server.PublishServerObject;
2024-10-09 22:21:57 +03:00
import _VisualDVM.TestingSystem.Common.TestingServer;
import _VisualDVM.TestingSystem.DVM.DVMConfiguration.DVMConfiguration;
import _VisualDVM.TestingSystem.DVM.DVMPackage.DVMPackage;
import java.util.Vector;
2024-09-16 16:03:39 +03:00
public class StartSelectedDVMConfigurations extends PublishServerObject<TestingServer, DVMPackage> {
public StartSelectedDVMConfigurations() {
super(Global.testingServer, DVMPackage.class);
}
@Override
public String getIconPath() {
return "/Common/icons/BlueStart.png";
}
//--
@Override
protected boolean canStart(Object... args) throws Exception {
if (!Global.mainModule.getAccount().CheckRegistered(Log)) {
return false;
}
if (!MainModule_.instance.getDb().Check(Log, Machine.class, User.class, Compiler.class))
return false;
//--
Machine machine = MainModule_.instance.getDb().getTable(Machine.class).getUI().getCurrent();
User user = MainModule_.instance.getDb().getTable(User.class).getUI().getCurrent();
Compiler compiler = MainModule_.instance.getDb().getTable(Compiler.class).getUI().getCurrent();
//--
if (!machine.type.equals(MachineType.Server)) {
Log.Writeln_("Тестирование поддерживается только на одиночном удалённом сервере.");
return false;
}
if (!user.state.equals(UserState.ready_to_work)) {
Log.Writeln_("Пользователь не готов к работе. Выполните инициализацию пользователя!");
return false;
}
if (!compiler.type.equals(CompilerType.dvm)) {
Log.Writeln_("Тестирование поддерживается только для DVM компиляторов.");
return false;
}
if (!compiler.versionLoaded)
Global.mainModule.getPass(PassCode.ShowCompilerVersion).Do(compiler, false);
//-----
if (!Global.testingServer.db.dvm_configurations.getUI().CheckSelectedOrCurrent(Log)) {
return false;
}
Vector<DVMConfiguration> configurations = Global.testingServer.db.dvm_configurations.getUI().getSelectedOrCurrent();
//---
2024-10-14 15:19:13 +03:00
target = new DVMPackage(
Global.mainModule.getAccount(),
machine,
user,
compiler,
configurations,
Global.properties.EmailOnTestingProgress ? 1 : 0
2024-10-14 15:19:13 +03:00
);
//----
if (target.tasksCount == 0) {
Log.Writeln_("Задач не найдено.");
return false;
}
return UI.Question("Будет запущено " + target.tasksCount + " задач. Продолжить");
}
}