From 1c087fae322a1b07bb7bd554ee10ff473c47c727 Mon Sep 17 00:00:00 2001
From: Fin Reinhard <fin.reinhard@icloud.com>
Date: Tue, 22 Jan 2019 20:51:03 +0000
Subject: [PATCH] Merge branch 'master' into feature/15-archive-view-url
---
borgbutler-core/src/main/java/de/micromata/borgbutler/demo/DemoRepos.java | 32 +++++++++++++++++++++++++++-----
1 files changed, 27 insertions(+), 5 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..7ba4fa5 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}
@@ -36,13 +34,37 @@
*
* @param repositoryList
*/
- public static void addDemoRepos(List<BorgRepoConfig> repositoryList) {
+ public static void handleDemoRepos(List<BorgRepoConfig> repositoryList) {
if (!ConfigurationHandler.getConfiguration().isShowDemoRepos()) {
+ // Remove any demo repository if exist due to former settings:
+ Iterator<BorgRepoConfig> it = repositoryList.iterator();
+ while(it.hasNext()) {
+ BorgRepoConfig repoConfig = it.next();
+ if (!StringUtils.startsWith(repoConfig.getRepo(), DEMO_IDENTIFIER)) {
+ continue;
+ }
+ it.remove();
+ }
return;
}
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