From 4ece88750272b3e2fc0bbccec7202d2faa1115b8 Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Sat, 08 Dec 2018 23:32:11 +0000
Subject: [PATCH] cache refactored.
---
borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ArchiveListCache.java | 28 ++++++++++++++++++++++++++--
1 files changed, 26 insertions(+), 2 deletions(-)
diff --git a/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ArchiveListCache.java b/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ArchiveListCache.java
index 6f3a38a..c418939 100644
--- a/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ArchiveListCache.java
+++ b/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ArchiveListCache.java
@@ -1,15 +1,39 @@
package de.micromata.borgbutler.cache;
-import de.micromata.borgbutler.json.borg.ArchiveList;
+import de.micromata.borgbutler.BorgCommands;
+import de.micromata.borgbutler.config.BorgRepoConfig;
+import de.micromata.borgbutler.json.borg.ArchiveInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
-public class ArchiveListCache extends AbstractCache<ArchiveList> {
+public class ArchiveListCache extends AbstractCache<ArchiveInfo> {
private static Logger log = LoggerFactory.getLogger(ArchiveListCache.class);
public static final String CACHE_ARCHIVE_LISTS_BASENAME = "archive-lists";
+ @Override
+ protected ArchiveInfo load(BorgRepoConfig repoConfig, String identifier) {
+ ArchiveInfo archiveInfo = BorgCommands.info(repoConfig, identifier);
+ this.elements.put(getIdentifier(archiveInfo), archiveInfo);
+ return archiveInfo;
+ }
+
+ @Override
+ public boolean matches(ArchiveInfo element, String identifier) {
+ return element.matches(identifier);
+ }
+
+ @Override
+ public String getIdentifier(ArchiveInfo element) {
+ return element.getRepository().getId();
+ }
+
+ @Override
+ public void updateFrom(ArchiveInfo dest, ArchiveInfo source) {
+ dest.updateFrom(source);
+ }
+
/**
* Needed by jackson for deserialization.
*/
--
Gitblit v1.10.0