diff options
author | Keuin <[email protected]> | 2021-02-15 18:13:44 +0800 |
---|---|---|
committer | Keuin <[email protected]> | 2021-02-15 18:13:44 +0800 |
commit | b171d46ce07a9ed9a426779fcff92dd1f56b3dd1 (patch) | |
tree | 3df106d0000c12a7749fd24e28d2fde69983ae39 /src | |
parent | 6d6f0b486ac42b6bd69ddb8862ee3af7b819f3a7 (diff) |
Minor bugfix: incremental backup without `backups` directory created will fail.
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/com/keuin/kbackupfabric/autobackup/AutoBackupDispatcher.java (renamed from src/main/java/com/keuin/kbackupfabric/autobackup/AutoBackupScheduler.java) | 6 | ||||
-rw-r--r-- | src/main/java/com/keuin/kbackupfabric/backup/incremental/manager/IncCopyResult.java | 48 | ||||
-rw-r--r-- | src/main/java/com/keuin/kbackupfabric/operation/backup/method/ConfiguredIncrementalBackupMethod.java | 13 |
3 files changed, 37 insertions, 30 deletions
diff --git a/src/main/java/com/keuin/kbackupfabric/autobackup/AutoBackupScheduler.java b/src/main/java/com/keuin/kbackupfabric/autobackup/AutoBackupDispatcher.java index c35a35d..32d626e 100644 --- a/src/main/java/com/keuin/kbackupfabric/autobackup/AutoBackupScheduler.java +++ b/src/main/java/com/keuin/kbackupfabric/autobackup/AutoBackupDispatcher.java @@ -5,14 +5,14 @@ import java.util.Timer; import java.util.TimerTask; import java.util.logging.Logger; -public class AutoBackupScheduler { +public class AutoBackupDispatcher { private Timer timer = null; - private final Logger logger = Logger.getLogger(AutoBackupScheduler.class.getName()); + private final Logger logger = Logger.getLogger(AutoBackupDispatcher.class.getName()); private boolean skipIfNoPlayerLoggedIn; private final PlayerActivityTracker playerActivityTracker; - public AutoBackupScheduler(int intervalSeconds, boolean skipIfNoPlayerLoggedIn, PlayerActivityTracker playerActivityTracker) { + public AutoBackupDispatcher(int intervalSeconds, boolean skipIfNoPlayerLoggedIn, PlayerActivityTracker playerActivityTracker) { this.skipIfNoPlayerLoggedIn = skipIfNoPlayerLoggedIn; this.playerActivityTracker = playerActivityTracker; if (intervalSeconds > 0) diff --git a/src/main/java/com/keuin/kbackupfabric/backup/incremental/manager/IncCopyResult.java b/src/main/java/com/keuin/kbackupfabric/backup/incremental/manager/IncCopyResult.java index 6661a27..3323348 100644 --- a/src/main/java/com/keuin/kbackupfabric/backup/incremental/manager/IncCopyResult.java +++ b/src/main/java/com/keuin/kbackupfabric/backup/incremental/manager/IncCopyResult.java @@ -11,17 +11,17 @@ import java.util.Objects; public class IncCopyResult { private final int totalFiles; - private final int filesCopied; - private final long bytesCopied; - private final long bytesTotal; + private final int copiedFiles; + private final long copiedBytes; + private final long totalBytes; public static final IncCopyResult ZERO = new IncCopyResult(0, 0, 0, 0); - public IncCopyResult(int totalFiles, int filesCopied, long bytesCopied, long bytesTotal) { + public IncCopyResult(int totalFiles, int copiedFiles, long copiedBytes, long totalBytes) { this.totalFiles = totalFiles; - this.filesCopied = filesCopied; - this.bytesCopied = bytesCopied; - this.bytesTotal = bytesTotal; + this.copiedFiles = copiedFiles; + this.copiedBytes = copiedBytes; + this.totalBytes = totalBytes; } /** @@ -38,8 +38,8 @@ public class IncCopyResult { * * @return file count. */ - public int getFilesCopied() { - return filesCopied; + public int getCopiedFiles() { + return copiedFiles; } /** @@ -47,8 +47,8 @@ public class IncCopyResult { * * @return bytes. */ - public long getBytesCopied() { - return bytesCopied; + public long getCopiedBytes() { + return copiedBytes; } /** @@ -56,8 +56,8 @@ public class IncCopyResult { * * @return bytes. */ - public long getBytesTotal() { - return bytesTotal; + public long getTotalBytes() { + return totalBytes; } /** @@ -70,9 +70,9 @@ public class IncCopyResult { Objects.requireNonNull(a); return new IncCopyResult( totalFiles + a.totalFiles, - filesCopied + a.filesCopied, - bytesCopied + a.bytesCopied, - bytesTotal + a.bytesTotal + copiedFiles + a.copiedFiles, + copiedBytes + a.copiedBytes, + totalBytes + a.totalBytes ); } @@ -82,25 +82,25 @@ public class IncCopyResult { if (o == null || getClass() != o.getClass()) return false; IncCopyResult that = (IncCopyResult) o; return totalFiles == that.totalFiles && - filesCopied == that.filesCopied && - bytesCopied == that.bytesCopied && - bytesTotal == that.bytesTotal; + copiedFiles == that.copiedFiles && + copiedBytes == that.copiedBytes && + totalBytes == that.totalBytes; } @Override public int hashCode() { - return Objects.hash(totalFiles, filesCopied, bytesCopied, bytesTotal); + return Objects.hash(totalFiles, copiedFiles, copiedBytes, totalBytes); } @Override public String toString() { return String.format( "File(s) added: %d (%s in size, totally %d files). Total backup-ed files size: %s (%.2f%% reused)", - filesCopied, - BackupFilesystemUtil.getFriendlyFileSizeString(bytesCopied), + copiedFiles, + BackupFilesystemUtil.getFriendlyFileSizeString(copiedBytes), totalFiles, - BackupFilesystemUtil.getFriendlyFileSizeString(bytesTotal), - (1 - 1.0f * bytesCopied / bytesTotal) * 100 + BackupFilesystemUtil.getFriendlyFileSizeString(totalBytes), + (1 - 1.0f * copiedBytes / totalBytes) * 100 ); } } diff --git a/src/main/java/com/keuin/kbackupfabric/operation/backup/method/ConfiguredIncrementalBackupMethod.java b/src/main/java/com/keuin/kbackupfabric/operation/backup/method/ConfiguredIncrementalBackupMethod.java index 5fe532a..0c202e1 100644 --- a/src/main/java/com/keuin/kbackupfabric/operation/backup/method/ConfiguredIncrementalBackupMethod.java +++ b/src/main/java/com/keuin/kbackupfabric/operation/backup/method/ConfiguredIncrementalBackupMethod.java @@ -75,6 +75,13 @@ public class ConfiguredIncrementalBackupMethod implements ConfiguredBackupMethod // legacy index file // ObjectCollectionSerializer.toFile(collection, new File(backupIndexFileSaveDirectory, backupIndexFileName)); + // create directory + final File indexDirectoryFile = new File(backupIndexFileSaveDirectory); + if (indexDirectoryFile.isFile()) + throw new IOException("There is a file which has the same name with index directory"); + if (!indexDirectoryFile.isDirectory() && !indexDirectoryFile.mkdirs()) + throw new IOException("Backup index save directory does not exist and we failed to create it"); + // newer saved info (with metadata) File indexFile = new File(backupIndexFileSaveDirectory, backupIndexFileName); BackupFileNameEncoder.BackupBasicInformation info = IncrementalBackupFileNameEncoder.INSTANCE.decode(backupIndexFileName); @@ -82,9 +89,9 @@ public class ConfiguredIncrementalBackupMethod implements ConfiguredBackupMethod collection, info.customName, info.time.atZone(ZoneId.systemDefault()), - copyResult.getBytesTotal(), - copyResult.getBytesCopied(), - copyResult.getFilesCopied(), + copyResult.getTotalBytes(), + copyResult.getCopiedBytes(), + copyResult.getCopiedFiles(), copyResult.getTotalFiles() )); |