From 231d2d5e08e8b567f9d4e1cf206465170c598b09 Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Tue, 18 Dec 2018 23:27:11 +0000
Subject: [PATCH] Updating cache info about archive file lists works now.
---
borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ArchiveFilelistCache.java | 19 ++++++++++++++-----
1 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ArchiveFilelistCache.java b/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ArchiveFilelistCache.java
index 78ed397..5e06d74 100644
--- a/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ArchiveFilelistCache.java
+++ b/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ArchiveFilelistCache.java
@@ -3,6 +3,7 @@
import de.micromata.borgbutler.config.BorgRepoConfig;
import de.micromata.borgbutler.data.Archive;
import de.micromata.borgbutler.data.FileSystemFilter;
+import de.micromata.borgbutler.data.Repository;
import de.micromata.borgbutler.json.borg.BorgFilesystemItem;
import de.micromata.borgbutler.utils.ReplaceUtils;
import lombok.Getter;
@@ -31,10 +32,10 @@
private long FILES_EXPIRE_TIME = 7 * 24 * 3660 * 1000; // Expires after 7 days.
public void save(BorgRepoConfig repoConfig, Archive archive, List<BorgFilesystemItem> filesystemItems) {
- File file = getFile(repoConfig, archive);
if (CollectionUtils.isEmpty(filesystemItems)) {
return;
}
+ File file = getFile(repoConfig, archive);
log.info("Saving archive content as file list: " + file.getAbsolutePath());
try (ObjectOutputStream outputStream = new ObjectOutputStream(new BufferedOutputStream(new GzipCompressorOutputStream(new FileOutputStream(file))))) {
outputStream.writeObject(filesystemItems.size());
@@ -49,12 +50,12 @@
}
/**
- * @param repoConfig
+ * @param repository
* @param archive
* @return true, if the content of the archive is already cached, otherwise false.
*/
- public boolean contains(BorgRepoConfig repoConfig, Archive archive) {
- File file = getFile(repoConfig, archive);
+ public boolean contains(Repository repository, Archive archive) {
+ File file = getFile(repository, archive);
return file.exists();
}
@@ -220,9 +221,17 @@
}
}
+ File getFile(Repository repository, Archive archive) {
+ return getFile(repository.getName(), archive);
+ }
+
File getFile(BorgRepoConfig repoConfig, Archive archive) {
+ return getFile(repoConfig.getRepo(), archive);
+ }
+
+ private File getFile(String repo, Archive archive) {
return new File(cacheDir, ReplaceUtils.encodeFilename(CACHE_ARCHIVE_LISTS_BASENAME + archive.getTime()
- + "-" + repoConfig.getRepo() + "-" + archive.getName() + CACHE_FILE_GZIP_EXTENSION,
+ + "-" + repo + "-" + archive.getName() + CACHE_FILE_GZIP_EXTENSION,
true));
}
--
Gitblit v1.10.0