From c50335dff01dffab42f4f25639eb14c11d80a70c Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Thu, 24 Jan 2019 20:52:56 +0000
Subject: [PATCH] Remove duplicated demo repositories.
---
borgbutler-core/src/main/java/de/micromata/borgbutler/demo/DemoRepos.java | 20 +++++++++++++++++++-
1 files changed, 19 insertions(+), 1 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 5958c63..57c79a4 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
@@ -38,7 +38,7 @@
if (!ConfigurationHandler.getConfiguration().isShowDemoRepos()) {
// Remove any demo repository if exist due to former settings:
Iterator<BorgRepoConfig> it = repositoryList.iterator();
- while(it.hasNext()) {
+ while (it.hasNext()) {
BorgRepoConfig repoConfig = it.next();
if (!StringUtils.startsWith(repoConfig.getRepo(), DEMO_IDENTIFIER)) {
continue;
@@ -52,6 +52,24 @@
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();
+ try {
+ 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());
+ }
+ }
+ } catch (Exception ex) {
+ // ConcurrentException, ignore it, it's only for demo purposes.
+ }
}
public static boolean isDemo(String name) {
--
Gitblit v1.10.0