From 26b75008a7f96801657a2ecaf17cedf54a799063 Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Tue, 15 Jan 2019 22:12:06 +0000
Subject: [PATCH] fix: avoid duplicate demo repos...

---
 borgbutler-core/src/main/java/de/micromata/borgbutler/demo/DemoRepos.java |   21 +++++++++++++++++----
 1 files changed, 17 insertions(+), 4 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 cc0bd61..e0d6484 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
@@ -18,9 +18,7 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Scanner;
+import java.util.*;
 
 public class DemoRepos {
     private enum Type {FAST, SLOW, VERY_SLOW}
@@ -42,7 +40,22 @@
         }
         init();
         for (BorgRepoConfig repo : demoRepos) {
-            repositoryList.add(repo);
+            if (!repositoryList.contains(repo))
+                repositoryList.add(repo);
+        }
+        // Remove duplicate entries (produced by former versions of BorgButler:
+        Set<String> set = new HashSet<>();
+        Iterator<BorgRepoConfig> it = repositoryList.iterator();
+        while(it.hasNext()) {
+            BorgRepoConfig repoConfig = it.next();
+            if (!StringUtils.startsWith(repoConfig.getRepo(), DEMO_IDENTIFIER)) {
+                continue;
+            }
+            if (set.contains(repoConfig.getRepo())) {
+                it.remove();
+            } else {
+                set.add(repoConfig.getRepo());
+            }
         }
     }
 

--
Gitblit v1.10.0