package _VisualDVM.Passes.Testing; import _VisualDVM.Passes.Server.TestingSystemPass; import _VisualDVM.Repository.Server.ServerCode; import _VisualDVM.Repository.Server.ServerExchangeUnit_2021; import _VisualDVM.TestingSystem.Common.TestingPackage.TestingPackage; import _VisualDVM.TestingSystem.Common.TestingPackageToKill.TestingPackageToKill; public abstract class AbortTestingPackage extends TestingSystemPass { TestingPackageToKill packageToKill = null; @Override public String getIconPath() { return "/Common/icons/Ban.png"; } @Override public String getButtonText() { return ""; } public abstract Class currentClass(); public abstract int getAbortType(); @Override protected boolean canStart(Object... args) throws Exception { packageToKill = null; if (server.db.CheckCurrent(Log, currentClass())) { target = (TestingPackage) server.db.getTable(currentClass()).getUI().getCurrent(); switch (target.state) { case Done: case Aborted: case DoneWithErrors: Log.Writeln_("Пакет уже завершен."); break; case Inactive: Log.Writeln_("Пакет неактивен."); break; default: packageToKill = new TestingPackageToKill(); packageToKill.packageId = target.id; packageToKill.type = getAbortType(); return true; } } ; return false; } @Override protected void ServerAction() throws Exception { Command(new ServerExchangeUnit_2021(ServerCode.PublishObject, null, packageToKill)); } }