From 559e601f98bbe9c6027c870870e83e2b885391c7 Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Tue, 18 Dec 2018 22:43:51 +0000
Subject: [PATCH] getArchive(idOrName) added.

---
 borgbutler-core/src/main/java/de/micromata/borgbutler/data/Repository.java |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)

diff --git a/borgbutler-core/src/main/java/de/micromata/borgbutler/data/Repository.java b/borgbutler-core/src/main/java/de/micromata/borgbutler/data/Repository.java
index 0b275e5..103c9d8 100644
--- a/borgbutler-core/src/main/java/de/micromata/borgbutler/data/Repository.java
+++ b/borgbutler-core/src/main/java/de/micromata/borgbutler/data/Repository.java
@@ -6,6 +6,9 @@
 import lombok.Getter;
 import lombok.Setter;
 import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.io.Serializable;
 import java.util.SortedSet;
@@ -15,6 +18,7 @@
  * Part of Borg json objects to refer objects to repositories.
  */
 public class Repository implements Serializable {
+    private static Logger log = LoggerFactory.getLogger(Repository.class);
     private static final long serialVersionUID = 1278802519434516280L;
     /**
      * The repo configured for borg.
@@ -77,8 +81,23 @@
         return this;
     }
 
+    public Archive getArchive(String idOrName) {
+        if (archives == null) {
+            log.warn("Can't get archive '" + idOrName + "' from repository '" + name + "'. Archives not yet loaded or don't exist.");
+            return null;
+        }
+        for (Archive archive : archives) {
+            if (StringUtils.equals(idOrName, archive.getId()) || StringUtils.equals(idOrName, archive.getName())) {
+                return archive;
+            }
+        }
+        log.warn("Archive '" + idOrName + "' not found in repository '" + name + "'.");
+        return null;
+    }
+
     /**
      * Is <tt>borg list repo</tt> already called?
+     *
      * @return
      */
     public boolean isArchivesLoaded() {

--
Gitblit v1.10.0