mirror of https://github.com/micromata/borgbackup-butler.git

Kai Reinhard
16.01.2018 4a337a1e7b82b9e15aa0904fc7aaeb48b15e15a8
File number for files of archive added (for specifiing in download).
3 files modified
17 ■■■■ changed files
borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ArchiveFilelistCache.java 7 ●●●● patch | view | raw | blame | history
borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ButlerCache.java 4 ●●● patch | view | raw | blame | history
borgbutler-core/src/main/java/de/micromata/borgbutler/json/borg/BorgFilesystemItem.java 6 ●●●●● patch | view | raw | blame | history
borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ArchiveFilelistCache.java
@@ -97,11 +97,14 @@
            int maxSize = filter != null ? filter.getMaxResultSize() : -1;
            list = new ArrayList<>();
            int counter = 0;
            int fileNumber = -1;
            for (int i = 0; i < size; i++) {
                ++fileNumber;
                obj = inputStream.readObject();
                if (obj instanceof BorgFilesystemItem) {
                    if (filter == null || filter.matches(((BorgFilesystemItem) obj))) {
                        list.add((BorgFilesystemItem) obj);
                    BorgFilesystemItem item = (BorgFilesystemItem) obj;
                    if (filter == null || filter.matches(item)) {
                        list.add(item.setFileNumber(fileNumber));
                        if (maxSize > 0 && counter++ >= maxSize) break;
                    }
                } else {
borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ButlerCache.java
@@ -238,11 +238,13 @@
                archiveFilelistCache.save(repoConfig, archive, list);
                items = new ArrayList<>();
                int counter = 0;
                int fileNumber = -1;
                boolean search = filter != null && StringUtils.isNotBlank(filter.getSearchString());
                int maxSize = filter != null ? filter.getMaxResultSize() : -1;
                for (BorgFilesystemItem item : list) {
                    ++fileNumber;
                    if (filter == null || filter.matches(item)) {
                        items.add(item);
                        items.add(item.setFileNumber(fileNumber));
                        if (maxSize > 0 && counter++ >= maxSize) break;
                    }
                }
borgbutler-core/src/main/java/de/micromata/borgbutler/json/borg/BorgFilesystemItem.java
@@ -41,6 +41,12 @@
    private String mtime;
    @Getter
    private long size;
    /**
     * Represents the number of the file in the archive (for downloading). This field is created and only known by BorgButler.
     */
    @Getter
    @Setter
    private int fileNumber;
    @Override
    public int compareTo(BorgFilesystemItem o) {