package Visual_DVM_2021.Passes.All; import Common.Utils.CommonUtils; import Common.Visual.CommonUI; import _VisualDVM.Current; import _VisualDVM.Global; import _VisualDVM.Visual.UI; import _VisualDVM.TestingSystem.SAPFOR.SapforPackage.SapforPackage; import Visual_DVM_2021.Passes.Pass; import java.util.Vector; public class CompareSapforPackages extends Pass> { SapforPackage master; SapforPackage 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.sapforPackages.getCheckedItems(); if (target.size() == 2) { if (CommonUI.Question("Назначить пакет " + CommonUtils.Brackets(target.get(0).getPK()) + " эталоном" + "\n(в случае отказа, будет назначен пакет " + CommonUtils.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 CommonUI.Question("Отобразить пакет " + CommonUtils.Brackets(master.getPK())); } else if ((target.size() == 0) && (Current.HasSapforPackage())) { master = Current.getSapforPackage(); slave = null; return CommonUI.Question("Отобразить пакет " + CommonUtils.Brackets(master.getPK())); } else { Log.Writeln_("Для сравнения требуется отметить два пакета.\nДля отображения требуется отметить один пакет,или выделить его"); return false; } } @Override protected void body() throws Exception { if (slave != null) UI.getMainWindow().getTestingWindow().CompareSapforPackages(master, slave); else UI.getMainWindow().getTestingWindow().ShowSapforPackage(master); } }