summaryrefslogtreecommitdiff
path: root/src/main/java/com/keuin/kbackupfabric/backup
diff options
context:
space:
mode:
authorKeuin <[email protected]>2021-01-24 20:01:17 +0800
committerkeuin <[email protected]>2021-01-24 20:01:17 +0800
commit5063ab12c48a6612d903c44c943230b6c323f602 (patch)
tree38ad6cf5f48377142a1d2fabfb1122eb9a681421 /src/main/java/com/keuin/kbackupfabric/backup
parentdfd27f1a01a612c39bc17cac9793c80cc9b72e6b (diff)
Code refactor: eliminate unnecessary instance creation of IncrementalBackupFileNameEncoder
Diffstat (limited to 'src/main/java/com/keuin/kbackupfabric/backup')
-rw-r--r--src/main/java/com/keuin/kbackupfabric/backup/BackupNameTimeFormatter.java19
-rw-r--r--src/main/java/com/keuin/kbackupfabric/backup/incremental/serializer/IncBackupInfoSerializer.java4
-rw-r--r--src/main/java/com/keuin/kbackupfabric/backup/incremental/serializer/SavedIncBackupV1.java5
-rw-r--r--src/main/java/com/keuin/kbackupfabric/backup/name/BackupFileNameEncoder.java7
-rw-r--r--src/main/java/com/keuin/kbackupfabric/backup/name/IncrementalBackupFileNameEncoder.java15
-rw-r--r--src/main/java/com/keuin/kbackupfabric/backup/name/PrimitiveBackupFileNameEncoder.java8
6 files changed, 24 insertions, 34 deletions
diff --git a/src/main/java/com/keuin/kbackupfabric/backup/BackupNameTimeFormatter.java b/src/main/java/com/keuin/kbackupfabric/backup/BackupNameTimeFormatter.java
index bcf5d18..39abc75 100644
--- a/src/main/java/com/keuin/kbackupfabric/backup/BackupNameTimeFormatter.java
+++ b/src/main/java/com/keuin/kbackupfabric/backup/BackupNameTimeFormatter.java
@@ -1,32 +1,23 @@
package com.keuin.kbackupfabric.backup;
+import com.keuin.kbackupfabric.util.DateUtil;
+
import java.time.LocalDateTime;
-import java.time.ZoneId;
-import java.time.ZoneOffset;
-import java.time.format.DateTimeFormatter;
public class BackupNameTimeFormatter {
- private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd_HH-mm-ss");
@Deprecated
public static String getTimeString() {
- return LocalDateTime.now().format(formatter);
+ return DateUtil.getString(LocalDateTime.now());
}
public static String localDateTimeToString(LocalDateTime localDateTime) {
- return localDateTime.format(formatter);
+ return DateUtil.getString(localDateTime);
}
@Deprecated
public static long timeStringToEpochSeconds(String timeString) {
- ZoneId systemZone = ZoneId.systemDefault(); // my timezone
- LocalDateTime localDateTime = LocalDateTime.parse(timeString, formatter);
- ZoneOffset currentOffsetForMyZone = systemZone.getRules().getOffset(localDateTime);
- return localDateTime.toEpochSecond(currentOffsetForMyZone);
- }
-
- public static LocalDateTime timeStringToLocalDateTime(String timeString) {
- return LocalDateTime.parse(timeString,formatter);
+ return DateUtil.toEpochSecond(timeString);
}
}
diff --git a/src/main/java/com/keuin/kbackupfabric/backup/incremental/serializer/IncBackupInfoSerializer.java b/src/main/java/com/keuin/kbackupfabric/backup/incremental/serializer/IncBackupInfoSerializer.java
index 45590ba..d084aef 100644
--- a/src/main/java/com/keuin/kbackupfabric/backup/incremental/serializer/IncBackupInfoSerializer.java
+++ b/src/main/java/com/keuin/kbackupfabric/backup/incremental/serializer/IncBackupInfoSerializer.java
@@ -26,13 +26,13 @@ public class IncBackupInfoSerializer {
return (SavedIncrementalBackup) o;
} else if (o instanceof ObjectCollection) {
// backward compatibility with old-style (v0) incremental backup
- BackupFileNameEncoder.BackupBasicInformation info = new IncrementalBackupFileNameEncoder().decode(file.getName());
+ BackupFileNameEncoder.BackupBasicInformation info = IncrementalBackupFileNameEncoder.INSTANCE.decode(file.getName());
if (info == null)
throw new IOException("Invalid backup file name.");
return new SavedIncBackupV0(ObjectCollectionConverter.convert((ObjectCollection) o), info);
} else if (o instanceof ObjectCollection2) {
// compatible with 1.4.6 implementation
- BackupFileNameEncoder.BackupBasicInformation info = new IncrementalBackupFileNameEncoder().decode(file.getName());
+ BackupFileNameEncoder.BackupBasicInformation info = IncrementalBackupFileNameEncoder.INSTANCE.decode(file.getName());
if (info == null)
throw new IOException("Invalid backup file name.");
return new SavedIncBackupV0((ObjectCollection2) o, info);
diff --git a/src/main/java/com/keuin/kbackupfabric/backup/incremental/serializer/SavedIncBackupV1.java b/src/main/java/com/keuin/kbackupfabric/backup/incremental/serializer/SavedIncBackupV1.java
index 0ebe06a..bd2d4eb 100644
--- a/src/main/java/com/keuin/kbackupfabric/backup/incremental/serializer/SavedIncBackupV1.java
+++ b/src/main/java/com/keuin/kbackupfabric/backup/incremental/serializer/SavedIncBackupV1.java
@@ -2,10 +2,10 @@ package com.keuin.kbackupfabric.backup.incremental.serializer;
import com.keuin.kbackupfabric.backup.BackupFilesystemUtil;
import com.keuin.kbackupfabric.backup.incremental.ObjectCollection2;
+import com.keuin.kbackupfabric.util.DateUtil;
import java.io.Serializable;
import java.time.ZonedDateTime;
-import java.time.format.DateTimeFormatter;
import java.util.Objects;
public class SavedIncBackupV1 implements SavedIncrementalBackup, Serializable {
@@ -17,7 +17,6 @@ public class SavedIncBackupV1 implements SavedIncrementalBackup, Serializable {
private final long increasedSizeBytes;
private final int filesAdded;
private final int totalFiles;
- private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd_HH-mm-ss");
public SavedIncBackupV1(ObjectCollection2 objectCollection2, String backupName, ZonedDateTime backupTime, long totalSizeBytes, long increasedSizeBytes, int filesAdded, int totalFiles) {
this.totalFiles = totalFiles;
@@ -90,7 +89,7 @@ public class SavedIncBackupV1 implements SavedIncrementalBackup, Serializable {
return String.format(
"%s, created at %s, files: %d (total size: %s), copied size: %s, files added: %d",
backupName,
- backupTime.format(formatter),
+ DateUtil.getString(backupTime),
totalFiles,
BackupFilesystemUtil.getFriendlyFileSizeString(totalSizeBytes),
BackupFilesystemUtil.getFriendlyFileSizeString(increasedSizeBytes),
diff --git a/src/main/java/com/keuin/kbackupfabric/backup/name/BackupFileNameEncoder.java b/src/main/java/com/keuin/kbackupfabric/backup/name/BackupFileNameEncoder.java
index 8ad91f7..b471834 100644
--- a/src/main/java/com/keuin/kbackupfabric/backup/name/BackupFileNameEncoder.java
+++ b/src/main/java/com/keuin/kbackupfabric/backup/name/BackupFileNameEncoder.java
@@ -1,7 +1,8 @@
package com.keuin.kbackupfabric.backup.name;
+import com.keuin.kbackupfabric.util.DateUtil;
+
import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
/**
* Encode and decode backup file name for a specific backup type.
@@ -49,8 +50,6 @@ public interface BackupFileNameEncoder {
public final String customName;
public final LocalDateTime time;
- private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm.ss");
-
protected BackupBasicInformation(String customName, LocalDateTime time) {
this.customName = customName;
this.time = time;
@@ -58,7 +57,7 @@ public interface BackupFileNameEncoder {
@Override
public String toString() {
- return String.format("%s, %s", customName, time.format(formatter));
+ return String.format("%s, %s", customName, DateUtil.getString(time));
}
}
}
diff --git a/src/main/java/com/keuin/kbackupfabric/backup/name/IncrementalBackupFileNameEncoder.java b/src/main/java/com/keuin/kbackupfabric/backup/name/IncrementalBackupFileNameEncoder.java
index 77e19b9..45cd00e 100644
--- a/src/main/java/com/keuin/kbackupfabric/backup/name/IncrementalBackupFileNameEncoder.java
+++ b/src/main/java/com/keuin/kbackupfabric/backup/name/IncrementalBackupFileNameEncoder.java
@@ -1,24 +1,24 @@
package com.keuin.kbackupfabric.backup.name;
+import com.keuin.kbackupfabric.util.DateUtil;
+
import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class IncrementalBackupFileNameEncoder implements BackupFileNameEncoder {
+
private static final String backupFileNamePrefix = "incremental";
- // TODO: Merge all date formatter like this, into one single instance
- private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd_HH-mm-ss");
+ public static final IncrementalBackupFileNameEncoder INSTANCE = new IncrementalBackupFileNameEncoder();
- // TODO: make this private and use singleton pattern
- public IncrementalBackupFileNameEncoder() {
+ private IncrementalBackupFileNameEncoder() {
}
@Override
public String encode(String customName, LocalDateTime time) {
if (!isValidCustomName(customName))
throw new IllegalArgumentException("Invalid custom name");
- String timeString = time.format(formatter);
+ String timeString = DateUtil.getString(time);
return backupFileNamePrefix + "-" + timeString + "_" + customName + ".kbi";
}
@@ -31,8 +31,9 @@ public class IncrementalBackupFileNameEncoder implements BackupFileNameEncoder {
if (matcher.find()) {
String timeString = matcher.group(1);
String customName = matcher.group(2);
- return new BackupFileNameEncoder.BackupBasicInformation(customName, LocalDateTime.parse(timeString, formatter));
+ return new BackupFileNameEncoder.BackupBasicInformation(customName, DateUtil.toLocalDateTime(timeString));
}
return null;
}
+
}
diff --git a/src/main/java/com/keuin/kbackupfabric/backup/name/PrimitiveBackupFileNameEncoder.java b/src/main/java/com/keuin/kbackupfabric/backup/name/PrimitiveBackupFileNameEncoder.java
index c8e73f9..1deec8f 100644
--- a/src/main/java/com/keuin/kbackupfabric/backup/name/PrimitiveBackupFileNameEncoder.java
+++ b/src/main/java/com/keuin/kbackupfabric/backup/name/PrimitiveBackupFileNameEncoder.java
@@ -1,19 +1,19 @@
package com.keuin.kbackupfabric.backup.name;
+import com.keuin.kbackupfabric.util.DateUtil;
+
import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class PrimitiveBackupFileNameEncoder implements BackupFileNameEncoder {
private static final String backupFileNamePrefix = "kbackup";
- private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd_HH-mm-ss");
@Override
public String encode(String customName, LocalDateTime time) {
if (!isValidCustomName(customName))
throw new IllegalArgumentException("Invalid custom name");
- String timeString = time.format(formatter);
+ String timeString = DateUtil.getString(time);
return backupFileNamePrefix + "-" + timeString + "_" + customName + ".zip";
}
@@ -26,7 +26,7 @@ public class PrimitiveBackupFileNameEncoder implements BackupFileNameEncoder {
if (matcher.find()) {
String timeString = matcher.group(1);
String customName = matcher.group(2);
- return new BackupBasicInformation(customName, LocalDateTime.parse(timeString, formatter));
+ return new BackupBasicInformation(customName, DateUtil.toLocalDateTime(timeString));
}
return null;
}