package _VisualDVM.Passes.All; import Common.Visual.UI; import _VisualDVM.Current; import _VisualDVM.Global; import _VisualDVM.GlobalData.Compiler.CompilerType; import _VisualDVM.GlobalData.Machine.MachineType; 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 (!Global.mainModule.Check(Log, Current.Machine, Current.User, Current.Compiler)) return false; if (!Global.mainModule.getMachine().type.equals(MachineType.Server)) { Log.Writeln_("Тестирование поддерживается только на одиночном удалённом сервере."); return false; } if (!Global.mainModule.getUser().state.equals(UserState.ready_to_work)) { Log.Writeln_("Пользователь не готов к работе. Выполните инициализацию пользователя!"); return false; } if (!Global.mainModule.getCompiler().type.equals(CompilerType.dvm)) { Log.Writeln_("Тестирование поддерживается только для DVM компиляторов."); return false; } if (!Global.mainModule.getCompiler().versionLoaded) Global.mainModule.getPass(PassCode.ShowCompilerVersion).Do(Global.mainModule.getCompiler(), false); //----- if (!Global.testingServer.db.dvm_configurations.getUI().CheckSelectedOrCurrent(Log)) { return false; } Vector configurations = Global.testingServer.db.dvm_configurations.getUI().getSelectedOrCurrent(); //--- target = new DVMPackage( Global.mainModule.getAccount(), Global.mainModule.getMachine(), Global.mainModule.getUser(), Global.mainModule.getCompiler(), configurations, Global.properties.EmailOnTestingProgress ? 1 : 0 ); //---- if (target.tasksCount == 0) { Log.Writeln_("Задач не найдено."); return false; } return UI.Question("Будет запущено " + target.tasksCount + " задач. Продолжить"); } }