75 lines
3.2 KiB
Java
75 lines
3.2 KiB
Java
package _VisualDVM.Passes.All;
|
|
import Common.MainModule_;
|
|
import Common.Visual.UI;
|
|
import _VisualDVM.Global;
|
|
import _VisualDVM.GlobalData.Compiler.Compiler;
|
|
import _VisualDVM.GlobalData.Compiler.CompilerType;
|
|
import _VisualDVM.GlobalData.Machine.Machine;
|
|
import _VisualDVM.GlobalData.Machine.MachineType;
|
|
import _VisualDVM.GlobalData.User.User;
|
|
import _VisualDVM.GlobalData.User.UserState;
|
|
import _VisualDVM.Passes.PassCode;
|
|
import _VisualDVM.Passes.Server.PublishServerObject;
|
|
import _VisualDVM.TestingSystem.Common.TestingServer;
|
|
import _VisualDVM.TestingSystem.DVM.DVMConfiguration.DVMConfiguration;
|
|
import _VisualDVM.TestingSystem.DVM.DVMPackage.DVMPackage;
|
|
|
|
import java.util.Vector;
|
|
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().CheckCurrent(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.dvmConfigurations.getUI().CheckSelectedOrCurrent(Log)) {
|
|
return false;
|
|
}
|
|
Vector<DVMConfiguration> configurations = Global.testingServer.db.dvmConfigurations.getUI().getSelectedOrCurrent();
|
|
//---
|
|
target = new DVMPackage(
|
|
Global.mainModule.getAccount(),
|
|
machine,
|
|
user,
|
|
compiler,
|
|
configurations,
|
|
Global.normalProperties.EmailOnTestingProgress ? 1 : 0
|
|
);
|
|
//----
|
|
if (target.tasksCount == 0) {
|
|
Log.Writeln_("Задач не найдено.");
|
|
return false;
|
|
}
|
|
return UI.Question("Будет запущено " + target.tasksCount + " задач. Продолжить");
|
|
}
|
|
}
|