mirror of https://github.com/micromata/borgbackup-butler.git

Kai Reinhard
25.58.2019 30e373ab9b7e6caae95ceaa4c26ebe997e06e0e1
DemoRepos simplified.
2 files modified
43 ■■■■ changed files
borgbutler-core/src/main/java/de/micromata/borgbutler/config/Configuration.java 3 ●●●● patch | view | raw | blame | history
borgbutler-core/src/main/java/de/micromata/borgbutler/demo/DemoRepos.java 40 ●●●● patch | view | raw | blame | history
borgbutler-core/src/main/java/de/micromata/borgbutler/config/Configuration.java
@@ -89,8 +89,7 @@
    }
    public List<BorgRepoConfig> getRepoConfigs() {
        DemoRepos.handleDemoRepos(repoConfigs);
        return repoConfigs;
        return DemoRepos.getAllRepos(repoConfigs);
    }
    List<BorgRepoConfig> _getRepoConfigs() {
borgbutler-core/src/main/java/de/micromata/borgbutler/demo/DemoRepos.java
@@ -33,43 +33,17 @@
     * If configured by the user, demo repositories are added to the given list. If not configured this method does nothing.
     *
     * @param repositoryList
     * @return repo list including demo repos if configured. If not configured, the given list is returned (no op).
     */
    public static void handleDemoRepos(List<BorgRepoConfig> repositoryList) {
    public static  List<BorgRepoConfig> getAllRepos(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 (repoConfig != null && !StringUtils.startsWith(repoConfig.getRepo(), DEMO_IDENTIFIER)) {
                    continue;
                }
                it.remove();
            }
            return;
            return repositoryList;
        }
        init();
        for (BorgRepoConfig repo : demoRepos) {
            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.
        }
        List<BorgRepoConfig> list = new ArrayList<>();
        list.addAll(repositoryList);
        list.addAll(demoRepos);
        return list;
    }
    public static boolean isDemo(String name) {