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

...
Kai Reinhard
17.32.2018 b64121376ccb622f8ac29edc707463862d8bea18
...
2 files modified
37 ■■■■■ changed files
borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ArchiveFilelistCache.java 3 ●●●● patch | view | raw | blame | history
borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ButlerCache.java 34 ●●●●● patch | view | raw | blame | history
borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ArchiveFilelistCache.java
@@ -101,8 +101,9 @@
                obj = inputStream.readObject();
                if (obj instanceof BorgFilesystemItem) {
                    BorgFilesystemItem item = (BorgFilesystemItem) obj;
                    item.setFileNumber(fileNumber);
                    if (filter == null || filter.matches(item)) {
                        list.add(item.setFileNumber(fileNumber));
                        list.add(item);
                        if (filter != null && filter.isFinished()) break;
                    }
                } else {
borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ButlerCache.java
@@ -184,25 +184,28 @@
        return getArchiveContent(archiveId, true, null);
    }
    /**
     * @param archiveId
     * @param forceLoad If false, the file list will only get if not yet loaded.
     * @param filter If not null, the result will be filtered.
     * @return
     */
    public List<BorgFilesystemItem> getArchiveContent(String archiveId, boolean forceLoad, FileSystemFilter filter) {
        Archive archive = null;
        outerLoop:
    public Archive getArchive(String archiveId) {
        for (Repository repository : getAllRepositories()) {
            if (repository.getArchives() != null) {
                for (Archive arch : repository.getArchives()) {
                    if (StringUtils.equals(archiveId, arch.getId())) {
                        archive = arch;
                        break outerLoop;
                for (Archive archive : repository.getArchives()) {
                    if (StringUtils.equals(archiveId, archive.getId())) {
                        return archive;
                    }
                }
            }
        }
        log.error("Archive with id '" + archiveId + "' not found. May-be not yet loaded into the cache.");
        return null;
    }
    /**
     * @param archiveId
     * @param forceLoad If false, the file list will only get if not yet loaded.
     * @param filter    If not null, the result will be filtered.
     * @return
     */
    public List<BorgFilesystemItem> getArchiveContent(String archiveId, boolean forceLoad, FileSystemFilter filter) {
        Archive archive = getArchive(archiveId);
        if (archive == null) {
            log.error("Can't find archive with id '" + archiveId + "'. May-be it doesn't exist or the archives of the target repository aren't yet loaded.");
            return null;
@@ -223,7 +226,7 @@
    /**
     * @param repoConfig
     * @param archive
     * @param filter    If given, only the items matching this filter are returned..
     * @param filter     If given, only the items matching this filter are returned..
     * @return
     */
    public List<BorgFilesystemItem> getArchiveContent(BorgRepoConfig repoConfig, Archive archive, boolean forceLoad,
@@ -240,8 +243,9 @@
                int fileNumber = -1;
                for (BorgFilesystemItem item : list) {
                    ++fileNumber;
                    item.setFileNumber(fileNumber);
                    if (filter == null || filter.matches(item)) {
                        items.add(item.setFileNumber(fileNumber));
                        items.add(item);
                        if (filter != null && filter.isFinished()) break;
                    }
                }