From 47b27687ea1e77e7d6ae26eb0e47ab85e90c5d50 Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Sun, 16 Dec 2018 00:20:08 +0000
Subject: [PATCH] Lazy loading of repos.
---
borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ButlerCache.java | 12 ++++++++++--
1 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ButlerCache.java b/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ButlerCache.java
index 07914e9..e232412 100644
--- a/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ButlerCache.java
+++ b/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ButlerCache.java
@@ -26,6 +26,7 @@
private JCSCache jcsCache;
private CacheAccess<String, Repository> repoCacheAccess;
private ArchiveFilelistCache archiveFilelistCache;
+ private int notYetLoadedIdCounter = 1;
public static ButlerCache getInstance() {
return instance;
@@ -81,9 +82,16 @@
public List<Repository> getAllRepositories() {
List<Repository> repositories = new ArrayList<>();
for (BorgRepoConfig repoConfig : ConfigurationHandler.getConfiguration().getRepoConfigs()) {
- Repository repository = getRepository(repoConfig);
+ Repository repository = repoCacheAccess.get(repoConfig.getRepo());
if (repository == null) {
- continue;
+ if (repoConfig.getId() == null) {
+ // Temporary id:
+ repoConfig.setId("not_yet_loaded_" + notYetLoadedIdCounter++);
+ }
+ repository = new Repository()
+ .setDisplayName(repoConfig.getDisplayName())
+ .setName(repoConfig.getRepo())
+ .setId(repoConfig.getId());
}
repositories.add(repository);
}
--
Gitblit v1.10.0