borgbutler-core/src/main/java/de/micromata/borgbutler/BorgCommands.java
@@ -77,7 +77,7 @@ masterRepository.setLastModified(DateUtils.format(repoList.getRepository().getLastModified())) .setLastCacheRefresh(DateUtils.format(LocalDateTime.now())); Repository repository = ObjectUtils.clone(masterRepository) .setArchives(repoList.getArchives()); .addAll(repoList.getArchives()); if (repository.getArchives() != null) { for (BorgArchive archive : repository.getArchives()) { // Reformat Borg date strings. borgbutler-core/src/main/java/de/micromata/borgbutler/data/Repository.java
@@ -8,7 +8,9 @@ import lombok.Setter; import java.io.Serializable; import java.util.List; import java.util.Collection; import java.util.SortedSet; import java.util.TreeSet; /** * Part of Borg json objects to refer objects to repositories. @@ -66,7 +68,15 @@ */ @Getter @Setter private List<BorgArchive> archives; private SortedSet<BorgArchive> archives; public Repository addAll(Collection<BorgArchive> archives) { if (this.archives == null) { this.archives = new TreeSet<>(); } this.archives.addAll(archives); return this; } @Override public Object clone() throws CloneNotSupportedException { borgbutler-core/src/main/java/de/micromata/borgbutler/json/borg/BorgArchive.java
@@ -3,13 +3,14 @@ import de.micromata.borgbutler.json.JsonUtils; import lombok.Getter; import lombok.Setter; import org.apache.commons.lang3.StringUtils; import java.io.Serializable; /** * This object is given by <tt>borg list repo</tt>. */ public class BorgArchive implements Serializable { public class BorgArchive implements Serializable, Comparable<BorgArchive> { private static final long serialVersionUID = -7872260170265536732L; @Getter private String archive; @@ -26,6 +27,17 @@ @Setter private String time; /** * In reverse order, compares times. * @param o * @return */ @Override public int compareTo(BorgArchive o) { // Reverse order: return StringUtils.compare(o.time, this.time); } public String toString() { return JsonUtils.toJson(this, true); }