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/RepoListCache.java |   24 ++++++++++++++++++++++++
 1 files changed, 24 insertions(+), 0 deletions(-)

diff --git a/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/RepoListCache.java b/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/RepoListCache.java
index 4851278..6a3eea3 100644
--- a/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/RepoListCache.java
+++ b/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/RepoListCache.java
@@ -1,5 +1,7 @@
 package de.micromata.borgbutler.cache;
 
+import de.micromata.borgbutler.BorgCommands;
+import de.micromata.borgbutler.config.BorgRepoConfig;
 import de.micromata.borgbutler.json.borg.RepoList;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -10,6 +12,28 @@
     private static Logger log = LoggerFactory.getLogger(RepoListCache.class);
     public static final String CACHE_REPO_LISTS_BASENAME = "repo-lists";
 
+    @Override
+    protected RepoList load(BorgRepoConfig repoConfig, String identifier) {
+        RepoList repoList = BorgCommands.list(repoConfig);
+        this.elements.put(getIdentifier(repoList), repoList);
+        return repoList;
+    }
+
+    @Override
+    public boolean matches(RepoList element, String identifier) {
+        return element.matches(identifier);
+    }
+
+    @Override
+    public String getIdentifier(RepoList element) {
+        return element.getRepository().getId();
+    }
+
+    @Override
+    public void updateFrom(RepoList dest, RepoList source) {
+        dest.updateFrom(source);
+    }
+
     /**
      * Needed by jackson for deserialization.
      */

--
Gitblit v1.10.0