From 5c6ef91b43f0b0cc225b1a5b8abdc08b670a9317 Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Sun, 09 Dec 2018 23:01:56 +0000
Subject: [PATCH] ...

---
 borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ButlerCache.java |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 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 00ecb3b..946b81d 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
@@ -5,6 +5,8 @@
 import de.micromata.borgbutler.config.ConfigurationHandler;
 import de.micromata.borgbutler.json.borg.Archive;
 import de.micromata.borgbutler.json.borg.FilesystemItem;
+import de.micromata.borgbutler.json.borg.RepoInfo;
+import de.micromata.borgbutler.json.borg.Repository;
 import lombok.Getter;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
@@ -40,6 +42,29 @@
         }
     }
 
+    public Repository getRepository(String idOrName) {
+        BorgRepoConfig repoConfig = ConfigurationHandler.getConfiguration().getRepoConfig(idOrName);
+        RepoInfo repoInfo = repoInfoCache.get(repoConfig, idOrName);
+        if (repoInfo == null) {
+            log.warn("Repo with name or id '" + idOrName + "' not found.");
+            return null;
+        }
+        return repoInfo.getRepository();
+    }
+
+    public List<Repository> getAllRepositories() {
+        List<Repository> repositories = new ArrayList<>();
+        for (BorgRepoConfig repoConfig : ConfigurationHandler.getConfiguration().getRepoConfigs()) {
+            RepoInfo repoInfo = repoInfoCache.get(repoConfig, repoConfig.getName());
+            if (repoInfo == null) {
+                log.warn("Repo with name '" + repoConfig.getName() + "' not found.");
+                continue;
+            }
+            repositories.add(repoInfo.getRepository());
+        }
+        return repositories;
+    }
+
     public List<FilesystemItem> getArchiveContent(BorgRepoConfig repoConfig, Archive archive) {
         if (archive == null || StringUtils.isBlank(archive.getArchive())) {
             return null;

--
Gitblit v1.10.0