From 42fe5c02ce58075e0a7229b31ff780c22f9847e1 Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Tue, 18 Dec 2018 22:36:54 +0000
Subject: [PATCH] Every archive contains now list of ArchiveShortInfo of all other archives inside the same repo (e. g. for calling diff functionality).

---
 borgbutler-core/src/main/java/de/micromata/borgbutler/BorgCommands.java |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/borgbutler-core/src/main/java/de/micromata/borgbutler/BorgCommands.java b/borgbutler-core/src/main/java/de/micromata/borgbutler/BorgCommands.java
index 0c8bfbe..0467696 100644
--- a/borgbutler-core/src/main/java/de/micromata/borgbutler/BorgCommands.java
+++ b/borgbutler-core/src/main/java/de/micromata/borgbutler/BorgCommands.java
@@ -5,6 +5,7 @@
 import de.micromata.borgbutler.config.ConfigurationHandler;
 import de.micromata.borgbutler.config.Definitions;
 import de.micromata.borgbutler.data.Archive;
+import de.micromata.borgbutler.data.ArchiveShortInfo;
 import de.micromata.borgbutler.data.Repository;
 import de.micromata.borgbutler.json.JsonUtils;
 import de.micromata.borgbutler.json.borg.*;
@@ -25,8 +26,6 @@
 import java.io.File;
 import java.io.IOException;
 import java.io.OutputStream;
-import java.nio.file.Files;
-import java.nio.file.Path;
 import java.time.LocalDateTime;
 import java.util.*;
 
@@ -81,6 +80,7 @@
         }
         repository.setLastModified(DateUtils.format(repoList.getRepository().getLastModified()))
                 .setLastCacheRefresh(DateUtils.format(LocalDateTime.now()));
+        List<ArchiveShortInfo> archiveInfoList = new ArrayList<>();
         for (BorgArchive borgArchive : repoList.getArchives()) {
             Archive archive = new Archive()
                     .setName(borgArchive.getArchive())
@@ -91,6 +91,15 @@
                     .setRepoName(repository.getName())
                     .setRepoDisplayName(repoConfig.getDisplayName());
             repository.add(archive);
+            archiveInfoList.add(new ArchiveShortInfo()
+                    .setId(archive.getId())
+                    .setName(archive.getName())
+                    .setRepoId(archive.getRepoId())
+                    .setTime(archive.getTime()));
+        }
+        for (Archive archive : repository.getArchives()) {
+            // ArchiveInfoList for comparing current archives with one of all other archives.
+            archive.setArchiveShortInfoList(archiveInfoList);
         }
     }
 
@@ -161,6 +170,7 @@
 
     /**
      * Stores the file in a subdirectory named with the repos display name.
+     *
      * @param restoreHomeDir
      * @param repoConfig
      * @param archive

--
Gitblit v1.10.0