package _VisualDVM.Passes.All; import Common.Passes.Pass; import Common.Utils.Utils_; import _VisualDVM.Global; import _VisualDVM.GlobalData.Tasks.CompilationTask.CompilationTask; import _VisualDVM.GlobalData.Tasks.RunTask.RunTask; import java.util.Vector; public class DeleteSelectedCompilationTasks extends Pass> { @Override public String getIconPath() { return "/Common/icons/Delete.png"; } @Override public String getButtonText() { return ""; } @Override protected boolean canStart(Object... args) throws Exception { target = new Vector<>(); Global.mainModule.getDb().compilationTasks.Data.values().stream().filter(task -> task.isVisible() && task.isSelected() && task.isPassive()).forEach(task -> target.add(task)); if (target.isEmpty()) { Log.Writeln_("Не отмечено ни одной задачи для удаления."); return false; } else return true; } @Override protected void showPreparation() throws Exception { Global.mainModule.getDb().compilationTasks.ClearUI(); } @Override protected void body() throws Exception { for (CompilationTask task : target) { for (RunTask runTask : task.getRunTasks().values()) { Global.mainModule.getDb().Delete(runTask); Utils_.forceDeleteWithCheck(runTask.getLocalWorkspace()); } Global.mainModule.getDb().Delete(task); Utils_.forceDeleteWithCheck(task.getLocalWorkspace()); } } @Override protected void showFinish() throws Exception { Global.mainModule.getDb().compilationTasks.ShowUI(); } }