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 { 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 configurations = Global.testingServer.db.dvmConfigurations.getUI().getSelectedOrCurrent(); //--- target = new DVMPackage( Global.mainModule.getAccount(), machine, user, compiler, configurations, Global.properties.EmailOnTestingProgress ? 1 : 0 ); //---- if (target.tasksCount == 0) { Log.Writeln_("Задач не найдено."); return false; } return UI.Question("Будет запущено " + target.tasksCount + " задач. Продолжить"); } }