From 60b424b101e42fa1aadb9300f32a842c9681a092 Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Sat, 15 Dec 2018 22:39:43 +0000
Subject: [PATCH] Only one JCS cache for repositories containing also archives.

---
 borgbutler-core/src/main/java/de/micromata/borgbutler/data/Repository.java |   20 +++++++++++---------
 1 files changed, 11 insertions(+), 9 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 5c20f88..0b275e5 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
@@ -1,21 +1,20 @@
 package de.micromata.borgbutler.data;
 
 import de.micromata.borgbutler.config.BorgRepoConfig;
-import de.micromata.borgbutler.json.borg.BorgArchive;
 import de.micromata.borgbutler.json.borg.BorgCache;
 import de.micromata.borgbutler.json.borg.BorgEncryption;
 import lombok.Getter;
 import lombok.Setter;
+import org.apache.commons.collections4.CollectionUtils;
 
 import java.io.Serializable;
-import java.util.Collection;
 import java.util.SortedSet;
 import java.util.TreeSet;
 
 /**
  * Part of Borg json objects to refer objects to repositories.
  */
-public class Repository implements Serializable, Cloneable {
+public class Repository implements Serializable {
     private static final long serialVersionUID = 1278802519434516280L;
     /**
      * The repo configured for borg.
@@ -68,18 +67,21 @@
      */
     @Getter
     @Setter
-    private SortedSet<BorgArchive> archives;
+    private SortedSet<Archive> archives;
 
-    public Repository addAll(Collection<BorgArchive> archives) {
+    public Repository add(Archive archive) {
         if (this.archives == null) {
             this.archives = new TreeSet<>();
         }
-        this.archives.addAll(archives);
+        this.archives.add(archive);
         return this;
     }
 
-    @Override
-    public Object clone() throws CloneNotSupportedException {
-        return super.clone();
+    /**
+     * Is <tt>borg list repo</tt> already called?
+     * @return
+     */
+    public boolean isArchivesLoaded() {
+        return CollectionUtils.isNotEmpty(archives);
     }
 }

--
Gitblit v1.10.0