From 8290a1feaf4bec966be00919cbe5963d4b6e3867 Mon Sep 17 00:00:00 2001
From: Kai Reinhard <k.reinhard@micromata.de>
Date: Mon, 14 Jan 2019 16:23:37 +0000
Subject: [PATCH] Merge pull request #18 from kreinhard/master

---
 borgbutler-core/src/main/java/de/micromata/borgbutler/config/Configuration.java |   23 +++++++++++++++++++++--
 1 files changed, 21 insertions(+), 2 deletions(-)

diff --git a/borgbutler-core/src/main/java/de/micromata/borgbutler/config/Configuration.java b/borgbutler-core/src/main/java/de/micromata/borgbutler/config/Configuration.java
index 28af84c..d06e30b 100644
--- a/borgbutler-core/src/main/java/de/micromata/borgbutler/config/Configuration.java
+++ b/borgbutler-core/src/main/java/de/micromata/borgbutler/config/Configuration.java
@@ -2,6 +2,7 @@
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import de.micromata.borgbutler.demo.DemoRepos;
 import lombok.AccessLevel;
 import lombok.Getter;
 import lombok.Setter;
@@ -32,6 +33,10 @@
     @Getter
     private int maxArchiveContentCacheCapacityMb = 100;
 
+    @Getter
+    @Setter
+    private boolean showDemoRepos = true;
+
     /**
      * Default is restore inside BorgButler's home dir (~/.borgbutler/restore).
      */
@@ -41,7 +46,6 @@
     @JsonIgnore
     private File restoreHomeDir;
 
-    @Getter
     private List<BorgRepoConfig> repoConfigs = new ArrayList<>();
 
     public void add(BorgRepoConfig repoConfig) {
@@ -52,7 +56,7 @@
         if (idOrName == null) {
             return null;
         }
-        for (BorgRepoConfig repoConfig : repoConfigs) {
+        for (BorgRepoConfig repoConfig : getRepoConfigs()) {
             if (StringUtils.equals(idOrName, repoConfig.getRepo()) || StringUtils.equals(idOrName, repoConfig.getId())) {
                 return repoConfig;
             }
@@ -77,5 +81,20 @@
     public void copyFrom(Configuration other) {
         this.borgCommand = other.borgCommand;
         this.maxArchiveContentCacheCapacityMb = other.maxArchiveContentCacheCapacityMb;
+        this.showDemoRepos = other.showDemoRepos;
+    }
+
+    public List<BorgRepoConfig> getRepoConfigs() {
+        if (!ConfigurationHandler.getConfiguration().isShowDemoRepos()) {
+            return repoConfigs;
+        }
+        List<BorgRepoConfig> result = new ArrayList<>();
+        result.addAll(repoConfigs);
+        DemoRepos.addDemoRepos(result);
+        return result;
+    }
+
+    List<BorgRepoConfig> _getRepoConfigs() {
+        return repoConfigs;
     }
 }

--
Gitblit v1.10.0