JAL-1551 remove temp file in src
[jalview.git] / src / jalview / io / BackupFiles.java
index 88524d1..14c1260 100644 (file)
@@ -166,25 +166,33 @@ public class BackupFiles
 
   public static boolean hasSavesInProgress()
   {
-    return savesInProgress.size() > 0;
+    boolean has = false;
+    for (CompletableFuture cf : savesInProgressCompletableFutures(true))
+    {
+      has |= !cf.isDone();
+    }
+    return has;
   }
 
-  public static List<File> savesInProgressFiles()
+  public static List<File> savesInProgressFiles(boolean all)
   {
     List<File> files = new ArrayList<>();
     for (BackupFiles bfile : savesInProgress)
     {
-      files.add(bfile.getFile());
+      if (all || !bfile.getMyFuture().isDone())
+        files.add(bfile.getFile());
     }
     return files;
   }
 
-  public static List<CompletableFuture<Boolean>> savesInProgressCompletableFutures()
+  public static List<CompletableFuture<Boolean>> savesInProgressCompletableFutures(
+          boolean all)
   {
     List<CompletableFuture<Boolean>> cfs = new ArrayList<>();
     for (BackupFiles bfile : savesInProgress)
     {
-      cfs.add(bfile.getMyFuture());
+      if (all || !bfile.getMyFuture().isDone())
+        cfs.add(bfile.getMyFuture());
     }
     return cfs;
   }
@@ -245,6 +253,7 @@ public class BackupFiles
       {
         String tempfilename = file.getName();
         File tempdir = file.getParentFile();
+        tempdir.mkdirs();
         Console.trace(
                 "BACKUPFILES [file!=null] attempting to create temp file for "
                         + tempfilename + " in dir " + tempdir);