From 4ac575330130ac4e1b4b35386ffc0aacd431a5a4 Mon Sep 17 00:00:00 2001 From: Keuin Date: Fri, 22 Jan 2021 21:59:27 +0800 Subject: BugFix: `/kb list` or `/kb` shows `null` for all incremental backups. --- .../java/com/keuin/kbackupfabric/KBCommands.java | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'src/main/java/com/keuin') diff --git a/src/main/java/com/keuin/kbackupfabric/KBCommands.java b/src/main/java/com/keuin/kbackupfabric/KBCommands.java index 90a4130..9f00790 100644 --- a/src/main/java/com/keuin/kbackupfabric/KBCommands.java +++ b/src/main/java/com/keuin/kbackupfabric/KBCommands.java @@ -25,6 +25,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Objects; +import java.util.function.Function; import static com.keuin.kbackupfabric.backup.BackupFilesystemUtil.*; import static com.keuin.kbackupfabric.util.PrintUtil.*; @@ -90,6 +91,18 @@ public final class KBCommands { || name.toLowerCase().endsWith(".kbi")) ); + Function backupInformationProvider = new Function() { + @Override + public String apply(File file) { + Objects.requireNonNull(file); + if (file.getName().toLowerCase().endsWith(".zip")) + return getPrimitiveBackupInformationString(file.getName(), file.length()); + else if (file.getName().toLowerCase().endsWith(".kbi")) + return getIncrementalBackupInformationString(file.getName()); + return file.getName(); + } + }; + synchronized (backupFileNameList) { backupFileNameList.clear(); if (files != null) { @@ -102,7 +115,7 @@ public final class KBCommands { for (File file : files) { ++i; String backupFileName = file.getName(); - msgInfo(context, String.format("[%d] %s", i, getPrimitiveBackupInformationString(backupFileName, file.length()))); + msgInfo(context, String.format("[%d] %s", i, backupInformationProvider.apply(file))); backupFileNameList.add(backupFileName); } } else { @@ -383,6 +396,13 @@ public final class KBCommands { ); } + private static String getIncrementalBackupInformationString(String backupFileName) { + return String.format( + "(Incremental) %s", + new IncrementalBackupFileNameEncoder().decode(backupFileName) + ); + } + // /** // * Select the backup method we use. // * @param context the context. -- cgit v1.2.3