From ee959c661ba4fbb3042d0c131c5da47a53d1236a Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Thu, 24 Jan 2019 20:51:53 +0000
Subject: [PATCH] autoChangeDirectoryToLeafItem works now also for empty leaf directories.
---
borgbutler-core/src/main/java/de/micromata/borgbutler/data/FileSystemFilter.java | 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/borgbutler-core/src/main/java/de/micromata/borgbutler/data/FileSystemFilter.java b/borgbutler-core/src/main/java/de/micromata/borgbutler/data/FileSystemFilter.java
index 07cc17b..aeeb75a 100644
--- a/borgbutler-core/src/main/java/de/micromata/borgbutler/data/FileSystemFilter.java
+++ b/borgbutler-core/src/main/java/de/micromata/borgbutler/data/FileSystemFilter.java
@@ -3,6 +3,7 @@
import de.micromata.borgbutler.json.borg.BorgFilesystemItem;
import lombok.Getter;
import lombok.Setter;
+import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -142,11 +143,15 @@
// Only one sub directory is displayed, so change directory automatically to this sub directory:
FileSystemFilter filter = this.clone();
filter.setCurrentDirectory(list.get(0).getPath());
- for (BorgFilesystemItem item: origList) {
+ for (BorgFilesystemItem item : origList) {
filter.matches(item);
}
- return filter.reduce(origList);
- // TODO: Doesn't work because origList doesn't contain all children recursively! Check, why?
+ List<BorgFilesystemItem> result =
+ filter.reduce(origList);
+ if (CollectionUtils.isNotEmpty(result)) {
+ // Use only result, if childs in the current directory do exist.
+ return result;
+ }
}
return list;
}
--
Gitblit v1.10.0