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