diff --git a/pom.xml b/pom.xml index d8ece81..30d4993 100644 --- a/pom.xml +++ b/pom.xml @@ -11,7 +11,7 @@ life.qbic data-processing - 0.3.0 + 0.3.2 data processing A Java tool that scans file move events and triggers a cascade of dataset pre-processing diff --git a/src/main/java/life/qbic/data/processing/scanner/Scanner.java b/src/main/java/life/qbic/data/processing/scanner/Scanner.java index c3b6f0a..33e358a 100644 --- a/src/main/java/life/qbic/data/processing/scanner/Scanner.java +++ b/src/main/java/life/qbic/data/processing/scanner/Scanner.java @@ -104,8 +104,16 @@ private List detectDataForRegistration() { .map(Path::toFile) .filter(this::matchesAccessRightsCriteria) .filter(this::matchesRegistrationCriteria) - .map(file -> createRequests(file.listFiles(), file.toPath())).flatMap( - Collection::stream).toList(); + .map(processDir -> createRequests( + applyFilterForProcessDir(processDir.listFiles()), + processDir.toPath())) + .flatMap(Collection::stream).toList(); + } + + private File[] applyFilterForProcessDir(File[] processDirContent) { + return Arrays.stream(Objects.requireNonNull(processDirContent)) + .filter(this::matchesAccessRightsCriteria) + .filter(this::matchesRegistrationCriteria).toArray(File[]::new); } private boolean matchesAccessRightsCriteria(File file) {