borgbutler-core/src/main/java/de/micromata/borgbutler/BorgJob.java
@@ -106,7 +106,7 @@ @Override public JobResult<String> execute() { if (DemoRepos.isDemo(command.getRepoConfig().getId())) { if (DemoRepos.isDemo(command.getRepoConfig().getRepo())) { return DemoRepos.execute(command); } return super.execute(); borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ButlerCache.java
@@ -8,7 +8,6 @@ import de.micromata.borgbutler.data.ArchiveShortInfo; import de.micromata.borgbutler.data.FileSystemFilter; import de.micromata.borgbutler.data.Repository; import de.micromata.borgbutler.demo.DemoRepos; import de.micromata.borgbutler.json.borg.BorgFilesystemItem; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.jcs.JCS; @@ -60,9 +59,6 @@ } } } if (DemoRepos.isDemo(idOrName)) { return DemoRepos.getRepo(idOrName); } log.warn("Repo with id or name '" + idOrName + "' not found."); return null; } @@ -147,9 +143,6 @@ return repository; } BorgRepoConfig repoConfig = ConfigurationHandler.getConfiguration().getRepoConfig(repository.getName()); if (repoConfig == null && DemoRepos.isDemo(idOrName)) { repoConfig = DemoRepos.getRepoConfig(idOrName); } BorgCommands.list(repoConfig, repository); updateArchivesCacheStatusAndShortInfos(repository); return repository; borgbutler-core/src/main/java/de/micromata/borgbutler/config/Configuration.java
@@ -2,6 +2,7 @@ import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; import de.micromata.borgbutler.demo.DemoRepos; import lombok.AccessLevel; import lombok.Getter; import lombok.Setter; @@ -45,7 +46,6 @@ @JsonIgnore private File restoreHomeDir; @Getter private List<BorgRepoConfig> repoConfigs = new ArrayList<>(); public void add(BorgRepoConfig repoConfig) { @@ -56,7 +56,7 @@ if (idOrName == null) { return null; } for (BorgRepoConfig repoConfig : repoConfigs) { for (BorgRepoConfig repoConfig : getRepoConfigs()) { if (StringUtils.equals(idOrName, repoConfig.getRepo()) || StringUtils.equals(idOrName, repoConfig.getId())) { return repoConfig; } @@ -83,4 +83,18 @@ this.maxArchiveContentCacheCapacityMb = other.maxArchiveContentCacheCapacityMb; this.showDemoRepos = other.showDemoRepos; } public List<BorgRepoConfig> getRepoConfigs() { if (!ConfigurationHandler.getConfiguration().isShowDemoRepos()) { return repoConfigs; } List<BorgRepoConfig> result = new ArrayList<>(); result.addAll(repoConfigs); DemoRepos.addDemoRepos(result); return result; } List<BorgRepoConfig> _getRepoConfigs() { return repoConfigs; } } borgbutler-core/src/main/java/de/micromata/borgbutler/config/ConfigurationHandler.java
@@ -48,8 +48,8 @@ } } this.configuration = JsonUtils.fromJson(configClazz, json); if (this.configuration.getRepoConfigs() != null) { for (BorgRepoConfig repoConfig : this.configuration.getRepoConfigs()) { if (this.configuration._getRepoConfigs() != null) { for (BorgRepoConfig repoConfig : this.configuration._getRepoConfigs()) { if (StringUtils.isBlank(repoConfig.getDisplayName())) { repoConfig.setDisplayName(repoConfig.getRepo()); } borgbutler-core/src/main/java/de/micromata/borgbutler/demo/DemoRepos.java
@@ -4,7 +4,6 @@ import de.micromata.borgbutler.config.BorgRepoConfig; import de.micromata.borgbutler.config.ConfigurationHandler; import de.micromata.borgbutler.config.Definitions; import de.micromata.borgbutler.data.Repository; import de.micromata.borgbutler.jobs.JobResult; import org.apache.commons.compress.compressors.gzip.GzipCompressorInputStream; import org.apache.commons.io.IOUtils; @@ -12,7 +11,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.*; import java.io.IOException; import java.io.InputStream; import java.io.StringWriter; import java.util.ArrayList; import java.util.List; @@ -21,19 +22,19 @@ private static final String DEMO_IDENTIFIER = "borgbutler-demo"; private static final String[] REPOS = {"fast", "slow", "very-slow"}; private static List<Repository> demoRepos; private static List<BorgRepoConfig> demoRepos; /** * If configured by the user, demo repositories are added to the given list. If not configured this method does nothing. * * @param repositoryList */ public static void addDemoRepos(List<Repository> repositoryList) { public static void addDemoRepos(List<BorgRepoConfig> repositoryList) { if (!ConfigurationHandler.getConfiguration().isShowDemoRepos()) { return; } init(); for (Repository repo : demoRepos) { for (BorgRepoConfig repo : demoRepos) { repositoryList.add(repo); } } @@ -42,33 +43,6 @@ return StringUtils.startsWith(idOrName, DEMO_IDENTIFIER); } public static Repository getRepo(String idOrName) { if (!isDemo(idOrName)) { log.info("Given idOrName doesn't fit any demo repository: " + idOrName); return null; } init(); for (Repository repo : demoRepos) { if (StringUtils.equals(idOrName, repo.getId())) { return repo; } } return null; } public static BorgRepoConfig getRepoConfig(String idOrName) { BorgRepoConfig repoConfig = new BorgRepoConfig(); Repository repository = getRepo(idOrName); if (repository == null) { log.info("Given idOrName doesn't fit any demo repository: " + idOrName); return null; } repoConfig.setRepo(repository.getName()) .setId(repository.getId()) .setDisplayName(repository.getName()); return repoConfig; } public static JobResult<String> execute(BorgCommand command) { StringBuilder sb = new StringBuilder(); if (command.getArchive() != null) { @@ -93,19 +67,20 @@ } private static void init() { synchronized (DEMO_IDENTIFIER) { if (demoRepos != null) { return; } demoRepos = new ArrayList<>(); demoRepos.add(new Repository() .setId(DEMO_IDENTIFIER + "-fast") .setName(DEMO_IDENTIFIER + "-fast") demoRepos.add(new BorgRepoConfig() .setRepo(DEMO_IDENTIFIER + "-fast") .setDisplayName("Demo repository fast")); demoRepos.add(new Repository() .setId(DEMO_IDENTIFIER + "-slow") .setName(DEMO_IDENTIFIER + "-slow") demoRepos.add(new BorgRepoConfig() .setRepo(DEMO_IDENTIFIER + "-slow") .setDisplayName("Demo repository slow")); demoRepos.add(new Repository() .setId(DEMO_IDENTIFIER + "-very-slow") .setName(DEMO_IDENTIFIER + "-very-slow") demoRepos.add(new BorgRepoConfig() .setRepo(DEMO_IDENTIFIER + "-very-slow") .setDisplayName("Demo repository very-slow")); } } } borgbutler-core/src/main/resources/demodata/repo-info.json.gzBinary files differ
borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/ReposRest.java
@@ -4,7 +4,6 @@ import de.micromata.borgbutler.data.Repository; import de.micromata.borgbutler.json.JsonUtils; import de.micromata.borgbutler.json.borg.BorgRepository; import de.micromata.borgbutler.demo.DemoRepos; import org.apache.commons.collections4.CollectionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -31,7 +30,6 @@ */ public String getList(@QueryParam("prettyPrinter") boolean prettyPrinter) { List<Repository> repositories = ButlerCache.getInstance().getAllRepositories(); DemoRepos.addDemoRepos(repositories); if (CollectionUtils.isEmpty(repositories)) { return "[]"; }