package Visual_DVM_2021.Passes.All; import Common.Current; import Common.Global; import Common.UI.UI; import Common.UI.Windows.Dialog.Dialog; import Common.Utils.Utils; import GlobalData.FileObject.FileObject; import GlobalData.FileObject.FileObjectsDataSet; import GlobalData.FileObject.FileObjectsFields; import Visual_DVM_2021.Passes.PassCode_2021; import Visual_DVM_2021.Passes.Pass_2021; import Visual_DVM_2021.Passes.UI.CopyProjectFields; import javax.swing.*; import java.io.File; import java.nio.file.Paths; import java.util.*; public class DeleteDownloadedBugReports extends Pass_2021> { @Override protected boolean needsAnimation() { return true; } @Override public boolean needsConfirmations() { return true; } @Override protected boolean canStart(Object... args) throws Exception { target = null; if (passes.get(PassCode_2021.GetOldBugReports).Do()){ target = (Vector) passes.get(PassCode_2021.GetOldBugReports).target; FileObjectsDataSet set = new FileObjectsDataSet(); for (File file: target){ set.put(file.getName(),new FileObject(file)); } //- Dialog dialog = new Dialog(FileObjectsFields.class) { @Override public int getDefaultHeight() { return 230; } @Override public void Init(Object... params) { set.mountUI((JPanel) content); set.ShowUI(); } @Override public void validateFields() { } }; if (dialog.ShowDialog("Найдено "+target.size()+" загруженных баг-репортов, не использовавшихся 2 месяца и более. Удалить их?")) { return true; } } /* else return false; File workspace = Global.visualiser.getWorkspace(); File[] files = workspace.listFiles(pathname -> pathname.isDirectory() && pathname.getName().toLowerCase().startsWith("bugreport_")); if (files != null) { target = new Vector<>(Arrays.asList(files)); //--- Calendar c = new GregorianCalendar(); c.setTimeInMillis(System.currentTimeMillis()); c.add(Calendar.MONTH, -2); Date date = c.getTime(); System.out.println(date); //--- return false; //--- // return UI.Warning("Будет удалено " + target.size() + " скачанных отчётов об ошибках." + // (Current.HasProject() ? "(Текущий проект будет закрыт)" : "") // ); } */ return false; } @Override protected void performPreparation() throws Exception { /* if (Current.HasProject()) passes.get(PassCode_2021.CloseCurrentProject).Do(); */ } @Override protected void body() throws Exception { /* for (File file : target) { ShowMessage1(file.getAbsolutePath()); Utils.forceDeleteWithCheck(file); } */ UI.Info("+"); } }