X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FBackupFilenameParts.java;h=19b8e3cb2bc6a084bdc085b97e0091b0d5a473ea;hb=d4271d32477e99e9fbbfa5db3e11f1b79324e60d;hp=a4fbb3bc02b93dbadc69d0e50973f252c0ac8190;hpb=db80eb8e1acf352e72a33e1e3825d40f7c6e4046;p=jalview.git diff --git a/src/jalview/io/BackupFilenameParts.java b/src/jalview/io/BackupFilenameParts.java index a4fbb3b..19b8e3c 100644 --- a/src/jalview/io/BackupFilenameParts.java +++ b/src/jalview/io/BackupFilenameParts.java @@ -1,7 +1,25 @@ +/* + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors + * + * This file is part of Jalview. + * + * Jalview is free software: you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * Jalview is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. + */ package jalview.io; -import jalview.bin.Cache; - import java.io.File; public class BackupFilenameParts @@ -53,7 +71,8 @@ public class BackupFilenameParts } String savedFilename = ""; - // if extensionOnly is set then reset the filename to the last occurrence of the extension+templateStart and try the match + // if extensionOnly is set then reset the filename to the last occurrence of + // the extension+templateStart and try the match if (extensionMatch) { // only trying to match from extension onwards @@ -93,7 +112,11 @@ public class BackupFilenameParts if (filename.length() >= startLength + digits + endLength && filename.startsWith(base + templateStart) && filename.endsWith(templateEnd) - && numString.matches("[0-9]*")) + // match exactly digits number of number-characters (numString + // should be all digits and at least the right length), or more than + // digits long with proviso it's not zero-leading. + && (numString.matches("[0-9]{" + digits + "}") + || numString.matches("[1-9][0-9]{" + digits + ",}"))) { this.base = extensionMatch ? savedFilename + base : base; this.templateStart = templateStart; @@ -109,7 +132,9 @@ public class BackupFilenameParts String filename, String base, boolean extensionMatch) { BackupFilenameParts bfp = new BackupFilenameParts(); - String template = Cache.getDefault(BackupFiles.SUFFIX, null); + BackupFilesPresetEntry bfpe = BackupFilesPresetEntry + .getSavedBackupEntry(); + String template = bfpe.suffix; if (template == null) { return bfp; @@ -117,8 +142,7 @@ public class BackupFilenameParts int digits; try { - digits = Integer - .parseInt(Cache.getDefault(BackupFiles.SUFFIX_DIGITS, null)); + digits = bfpe.digits; } catch (Exception e) { return bfp;