| borgbutler-core/src/main/java/de/micromata/borgbutler/BorgCommands.java | ●●●●● patch | view | raw | blame | history | |
| borgbutler-core/src/main/java/de/micromata/borgbutler/data/Archive.java | ●●●●● patch | view | raw | blame | history | |
| borgbutler-core/src/main/java/de/micromata/borgbutler/data/ArchiveShortInfo.java | ●●●●● patch | view | raw | blame | history |
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 borgbutler-core/src/main/java/de/micromata/borgbutler/data/Archive.java
@@ -9,6 +9,7 @@ import org.apache.commons.lang3.StringUtils; import java.io.Serializable; import java.util.List; /** * @@ -81,6 +82,18 @@ @Getter @Setter private String hostname; /** * For comparing functionality. */ @Getter @Setter private List<ArchiveShortInfo> archiveShortInfoList; /** * Is the file list of this archive loaded and available in Butler's cache. */ @Getter @Setter private boolean fileListAlreadyCached; /** * borgbutler-core/src/main/java/de/micromata/borgbutler/data/ArchiveShortInfo.java
New file @@ -0,0 +1,61 @@ package de.micromata.borgbutler.data; import de.micromata.borgbutler.json.borg.BorgArchiveLimits; import de.micromata.borgbutler.json.borg.BorgArchiveStats; import de.micromata.borgbutler.json.borg.BorgCache; import de.micromata.borgbutler.json.borg.BorgEncryption; import lombok.Getter; import lombok.Setter; import org.apache.commons.lang3.StringUtils; import java.io.Serializable; /** * Used e. g. for the drop down box for comparing current archive with others. */ public class ArchiveShortInfo implements Serializable, Comparable<ArchiveShortInfo> { /** * For convenience purposes for the client. */ @Getter @Setter private String repoName; @Getter @Setter private String repoId; @Getter @Setter private String name; @Getter @Setter private String id; @Getter @Setter private String time; /** * Is the file list of this archive loaded and available in Butler's cache. */ @Getter @Setter private boolean fileListAlreadyCached; /** * * @return repoName::archiveName */ public String getBorgIdentifier() { return repoName + "::" + name; } /** * In reverse order, compares times. * * @param o * @return */ @Override public int compareTo(ArchiveShortInfo o) { // Reverse order: return StringUtils.compare(o.time, this.time); } }