From 2dc31d043f2df07a15104a36b0aac055210da671 Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Tue, 08 Jan 2019 02:15:31 +0000
Subject: [PATCH] Clears now cache info of single repository.

---
 borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ButlerCache.java       |    5 +++++
 borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/ReposRest.java |    3 ++-
 2 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ButlerCache.java b/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ButlerCache.java
index 1aea7e1..716e360 100644
--- a/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ButlerCache.java
+++ b/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ButlerCache.java
@@ -124,6 +124,11 @@
         this.repoCacheAccess.clear();
     }
 
+    public void clearRepoCacheAccess(Repository repository) {
+        log.info("Clearing repository cache '" + repository.getName() + "'...");
+        this.repoCacheAccess.remove(repository.getName());
+    }
+
     /**
      * @param idOrName
      * @return The repository (ensures that the list of archives is loaded).
diff --git a/borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/ReposRest.java b/borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/ReposRest.java
index 4067bec..3152f1c 100644
--- a/borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/ReposRest.java
+++ b/borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/ReposRest.java
@@ -65,7 +65,8 @@
     public String getRepoArchiveList(@QueryParam("id") String id, @QueryParam("force") boolean force,
                                      @QueryParam("prettyPrinter") boolean prettyPrinter) {
         if (force) {
-            ButlerCache.getInstance().clearRepoCacheAccess();
+            Repository repo = ButlerCache.getInstance().getRepository(id);
+            ButlerCache.getInstance().clearRepoCacheAccess(repo);
         }
         Repository repository = ButlerCache.getInstance().getRepositoryArchives(id);
         return JsonUtils.toJson(repository, prettyPrinter);

--
Gitblit v1.10.0