package _VisualDVM.Passes.All; import Common.Passes.Pass; import Common.Utils.Utils_; import Common.Visual.UI; import _VisualDVM.Global; import _VisualDVM.TestingSystem.DVM.DVMTasks.DVMRunTask; import java.util.Vector; public class CompareDVMRunTasks extends Pass> { DVMRunTask master; DVMRunTask slave; @Override public String getIconPath() { return "/icons/Comparsion.png"; } @Override public String getButtonText() { return ""; } @Override protected boolean canStart(Object... args) throws Exception { master = null; slave = null; //-- target = Global.testingServer.db.dvmRunTasks.getCheckedItems(); if (target.size() == 2) { if (UI.Question("Назначить задачу " + Utils_.Brackets(target.get(0).getPK()) + " эталоном" + "\n(в случае отказа, будет назначена задача " + Utils_.Brackets(target.get(1).getPK()) + ")")) { master = target.get(0); slave = target.get(1); } else { master = target.get(1); slave = target.get(0); } return true; } else if (target.size() == 1) { master = target.get(0); slave = null; return UI.Question("Отобразить задачу " + Utils_.Brackets(master.getPK())); } else if ((target.size() == 0) && (Global.mainModule.HasDVMRunTask())) { master = Global.mainModule.getDVMRunTask(); slave = null; return UI.Question("Отобразить задачу " + Utils_.Brackets(master.getPK())); } else { Log.Writeln_("Для сравнения требуется отметить две задачи.\nДля отображения требуется отметить одну задачу,или выделить её."); return false; } } @Override protected void body() throws Exception { if (slave != null) Global.mainModule.getUI().getMainWindow().getTestingWindow().CompareDVMRunTasks(master, slave); else Global.mainModule.getUI().getMainWindow().getTestingWindow().ShowDVMRunTask(master); } }