INT-1591 removing the FileNameExtractor strategy in favor of concrete implementations of AbstractPatternMatchingFileListFilter
This commit is contained in:
@@ -16,18 +16,30 @@
|
||||
|
||||
package org.springframework.integration.ftp;
|
||||
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import org.apache.commons.net.ftp.FTPFile;
|
||||
import org.springframework.integration.file.entries.EntryNameExtractor;
|
||||
|
||||
import org.springframework.integration.file.filters.AbstractPatternMatchingFileListFilter;
|
||||
|
||||
/**
|
||||
* A {@link org.springframework.integration.file.entries.EntryNameExtractor} for {@link org.apache.commons.net.ftp.FTPFile} objects
|
||||
*
|
||||
* @author Josh Long
|
||||
* @author Mark Fisher
|
||||
* @since 2.0
|
||||
*/
|
||||
public class FtpFileEntryNameExtractor implements EntryNameExtractor<FTPFile> {
|
||||
public class FtpPatternMatchingFileListFilter extends AbstractPatternMatchingFileListFilter<FTPFile> {
|
||||
|
||||
public String getName(FTPFile entry) {
|
||||
return entry.getName();
|
||||
public FtpPatternMatchingFileListFilter(String pattern) {
|
||||
super(pattern);
|
||||
}
|
||||
|
||||
public FtpPatternMatchingFileListFilter(Pattern pattern) {
|
||||
super(pattern);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected String getFilename(FTPFile file) {
|
||||
return file.getName();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -30,7 +30,6 @@ import org.springframework.core.io.ResourceEditor;
|
||||
import org.springframework.core.io.ResourceLoader;
|
||||
import org.springframework.integration.file.filters.CompositeFileListFilter;
|
||||
import org.springframework.integration.file.filters.FileListFilter;
|
||||
import org.springframework.integration.file.filters.PatternMatchingFileListFilter;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
/**
|
||||
@@ -154,11 +153,10 @@ public class FtpRemoteFileSystemSynchronizingMessageSourceFactoryBean
|
||||
this.localWorkingDirectory = "file://" + tmp.getAbsolutePath();
|
||||
}
|
||||
this.localDirectoryResource = this.fromText(this.localWorkingDirectory);
|
||||
FtpFileEntryNameExtractor fileEntryNameExtractor = new FtpFileEntryNameExtractor();
|
||||
CompositeFileListFilter<FTPFile> compositeFtpFileListFilter = new CompositeFileListFilter<FTPFile>();
|
||||
if (StringUtils.hasText(this.filenamePattern)) {
|
||||
PatternMatchingFileListFilter<FTPFile> ftpFilePatternMatchingFileListFilter =
|
||||
new PatternMatchingFileListFilter<FTPFile>(fileEntryNameExtractor, filenamePattern);
|
||||
FtpPatternMatchingFileListFilter ftpFilePatternMatchingFileListFilter =
|
||||
new FtpPatternMatchingFileListFilter(filenamePattern);
|
||||
compositeFtpFileListFilter.addFilter(ftpFilePatternMatchingFileListFilter);
|
||||
}
|
||||
if (this.filter != null) {
|
||||
|
||||
Reference in New Issue
Block a user