X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FBackupFilenameFilter.java;h=573040fb824aec95e973563e76ad00589b9eb8e4;hb=a0fb5883fd17758900fa7e7fd40404626895e5ea;hp=647e25052556fe94f8ef2d11f1494286cd0c55cc;hpb=61e7d354202ba56bd3768ebf5f790deec26a6475;p=jalview.git diff --git a/src/jalview/io/BackupFilenameFilter.java b/src/jalview/io/BackupFilenameFilter.java index 647e250..573040f 100644 --- a/src/jalview/io/BackupFilenameFilter.java +++ b/src/jalview/io/BackupFilenameFilter.java @@ -2,8 +2,9 @@ package jalview.io; import java.io.File; import java.io.FilenameFilter; +import java.io.IOException; -public class BackupFileFilter implements FilenameFilter +public class BackupFilenameFilter implements FilenameFilter { public String base; @@ -12,49 +13,34 @@ public class BackupFileFilter implements FilenameFilter public int digits; - public String extension; - - public BackupFileFilter(String base, String template, int digits, - String extension) + public BackupFilenameFilter(String base, String template, int digits) { this.base = base; this.template = template; this.digits = digits; - this.extension = extension; } @Override - public boolean accept(File file, String filename) + public boolean accept(File dir, String filename) { - if (file.isDirectory()) - { - return true; - } - else + try { - int numcharstart = template.indexOf(BackupFiles.NUM_PLACEHOLDER); - String templateStart = template; - String templateEnd = ""; - if (numcharstart > -1) - { - templateStart = template.substring(0, numcharstart); - templateEnd = template.substring(numcharstart + BackupFiles.NUM_PLACEHOLDER.length()); - } - int startLength = base.length() + templateStart.length(); - int endLength = templateEnd.length() + extension.length(); - if (filename.length() == startLength + digits + endLength - && filename.startsWith(base + templateStart) - && filename.endsWith(templateEnd + extension) - && filename - .substring(startLength, - filename.length() - endLength + 1) - .matches("[0-9]+")) + File file = new File( + dir.getCanonicalPath() + File.separatorChar + filename); + if (file.isDirectory()) { - return true; + // backup files aren't dirs! + return false; } - + } catch (IOException e) + { + System.out.println("IOException when checking file '" + filename + + "' is a backupfile"); } - return false; + + BackupFilenameParts bffp = new BackupFilenameParts(filename, base, + template, digits); + return bffp.isBackupFile(); } }