From d2645224d68707e5be33426e23aad6e92970c333 Mon Sep 17 00:00:00 2001 From: Iwein Fuld Date: Mon, 6 Oct 2008 19:36:16 +0000 Subject: [PATCH] OPEN - issue INT-396: Update documentation on file reading http://jira.springframework.org/browse/INT-396 --- .../integration/file/AbstractFileListFilter.java | 3 +++ .../integration/file/CompositeFileListFilter.java | 8 ++++++-- .../springframework/integration/file/FileListFilter.java | 3 +++ .../file/PollableFileSourceIntegrationTests-context.xml | 3 +++ 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/org.springframework.integration.file/src/main/java/org/springframework/integration/file/AbstractFileListFilter.java b/org.springframework.integration.file/src/main/java/org/springframework/integration/file/AbstractFileListFilter.java index 8e2c6e04cc..132bc38204 100644 --- a/org.springframework.integration.file/src/main/java/org/springframework/integration/file/AbstractFileListFilter.java +++ b/org.springframework.integration.file/src/main/java/org/springframework/integration/file/AbstractFileListFilter.java @@ -20,6 +20,8 @@ import java.io.File; import java.util.ArrayList; import java.util.List; +import org.springframework.util.Assert; + /** * A convenience base class for any {@link FileListFilter} whose criteria can * be evaluated against each File in isolation. If the entire List of files is @@ -33,6 +35,7 @@ public abstract class AbstractFileListFilter implements FileListFilter { * Returns the list of files that are accepted by this filter. */ public final List filterFiles(File[] files) { + Assert.notNull(files,"'files' should not be null."); List accepted = new ArrayList(); for (File file : files) { if (this.accept(file)) { diff --git a/org.springframework.integration.file/src/main/java/org/springframework/integration/file/CompositeFileListFilter.java b/org.springframework.integration.file/src/main/java/org/springframework/integration/file/CompositeFileListFilter.java index 8e92a7ec84..31109b27cb 100644 --- a/org.springframework.integration.file/src/main/java/org/springframework/integration/file/CompositeFileListFilter.java +++ b/org.springframework.integration.file/src/main/java/org/springframework/integration/file/CompositeFileListFilter.java @@ -24,6 +24,8 @@ import java.util.HashSet; import java.util.List; import java.util.Set; +import org.springframework.util.Assert; + /** * Composition that delegates to multiple {@link FileFilter}s. The composition * is AND based, meaning that a file must pass through each filter's @@ -35,7 +37,6 @@ public class CompositeFileListFilter implements FileListFilter { private final Set fileFilters; - public CompositeFileListFilter(FileListFilter... fileFilters) { this.fileFilters = new HashSet(Arrays.asList(fileFilters)); } @@ -44,11 +45,14 @@ public class CompositeFileListFilter implements FileListFilter { this.fileFilters = new HashSet(fileFilters); } - /** * {@inheritDoc} + * + * This implementation delegates to a collection of filters and returns only files that pass all + * the filters. */ public List filterFiles(File[] files) { + Assert.notNull(files, "'files' should not be null"); List leftOver = Arrays.asList(files); for (FileListFilter fileFilter : fileFilters) { leftOver = fileFilter.filterFiles(leftOver.toArray(new File[] {})); diff --git a/org.springframework.integration.file/src/main/java/org/springframework/integration/file/FileListFilter.java b/org.springframework.integration.file/src/main/java/org/springframework/integration/file/FileListFilter.java index 5901afd7c2..8f2dfc1e22 100644 --- a/org.springframework.integration.file/src/main/java/org/springframework/integration/file/FileListFilter.java +++ b/org.springframework.integration.file/src/main/java/org/springframework/integration/file/FileListFilter.java @@ -26,6 +26,9 @@ import java.util.List; */ public interface FileListFilter { + /** + * Filters out files and returns the files that are left in a list. + */ List filterFiles(File[] files); } diff --git a/org.springframework.integration.file/src/test/java/org/springframework/integration/file/PollableFileSourceIntegrationTests-context.xml b/org.springframework.integration.file/src/test/java/org/springframework/integration/file/PollableFileSourceIntegrationTests-context.xml index 6a4896bd93..2c83ef37bb 100644 --- a/org.springframework.integration.file/src/test/java/org/springframework/integration/file/PollableFileSourceIntegrationTests-context.xml +++ b/org.springframework.integration.file/src/test/java/org/springframework/integration/file/PollableFileSourceIntegrationTests-context.xml @@ -16,6 +16,9 @@ + + +