From af896a26623138b53659998a9d1e21c7ba573051 Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Fri, 25 Jan 2019 06:24:25 +0000
Subject: [PATCH] Remove old demo repo entries of configuration if exist.

---
 borgbutler-core/src/main/java/de/micromata/borgbutler/demo/DemoRepos.java |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/borgbutler-core/src/main/java/de/micromata/borgbutler/demo/DemoRepos.java b/borgbutler-core/src/main/java/de/micromata/borgbutler/demo/DemoRepos.java
index 7675b55..50c9dcd 100644
--- a/borgbutler-core/src/main/java/de/micromata/borgbutler/demo/DemoRepos.java
+++ b/borgbutler-core/src/main/java/de/micromata/borgbutler/demo/DemoRepos.java
@@ -39,7 +39,7 @@
         if (!ConfigurationHandler.getConfiguration().isShowDemoRepos()) {
             return repositoryList;
         }
-        init();
+        init(repositoryList);
         List<BorgRepoConfig> list = new ArrayList<>();
         list.addAll(repositoryList);
         list.addAll(demoRepos);
@@ -129,11 +129,21 @@
         return Type.FAST;
     }
 
-    private static void init() {
+    private static void init(List<BorgRepoConfig> repositoryList) {
         synchronized (DEMO_IDENTIFIER) {
             if (demoRepos != null) {
                 return;
             }
+            synchronized (repositoryList) {
+                // Remove demo repo entries if persisted in former config files:
+                Iterator<BorgRepoConfig> it = repositoryList.iterator();
+                while (it.hasNext()) {
+                    BorgRepoConfig repoConfig = it.next();
+                    if (isDemo(repoConfig.getRepo())) {
+                        it.remove();
+                    }
+                }
+            }
             demoRepos = new ArrayList<>();
             demoRepos.add(new BorgRepoConfig()
                     .setRepo(DEMO_IDENTIFIER + "-fast")

--
Gitblit v1.10.0