INT-4149: Improve (S)FTP Recursive MGET

JIRA: https://jira.spring.io/browse/INT-4149

Add an option to always pass directories while recursing.

* Fix typos in docs
* Revert `SyslogReceivingChannelAdapterTests` `Thread.sleep()` fixes
This commit is contained in:
Gary Russell
2016-10-28 13:56:43 -04:00
committed by Artem Bilan
parent 67d6cd0c89
commit a43299213e
18 changed files with 207 additions and 16 deletions

View File

@@ -16,8 +16,8 @@
package org.springframework.integration.file.config;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.instanceOf;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertThat;
@@ -35,6 +35,7 @@ import org.springframework.integration.file.filters.AcceptOnceFileListFilter;
import org.springframework.integration.file.filters.CompositeFileListFilter;
import org.springframework.integration.file.filters.FileListFilter;
import org.springframework.integration.file.filters.SimplePatternFileListFilter;
import org.springframework.integration.test.util.TestUtils;
/**
* @author Mark Fisher
@@ -117,7 +118,9 @@ public class FileListFilterFactoryBeanTests {
new DirectFieldAccessor(result).getPropertyValue("fileFilters");
Iterator<FileListFilter<?>> iterator = filters.iterator();
assertTrue(iterator.next() instanceof AcceptOnceFileListFilter);
assertThat(iterator.next(), is(instanceOf(SimplePatternFileListFilter.class)));
FileListFilter<?> patternFilter = iterator.next();
assertThat(patternFilter, is(instanceOf(SimplePatternFileListFilter.class)));
assertFalse(TestUtils.getPropertyValue(patternFilter, "alwaysAcceptDirectories", Boolean.class));
}
@Test
@@ -125,10 +128,12 @@ public class FileListFilterFactoryBeanTests {
FileListFilterFactoryBean factory = new FileListFilterFactoryBean();
factory.setIgnoreHidden(false);
factory.setFilenamePattern(("foo"));
factory.setAlwaysAcceptDirectories(true);
factory.setPreventDuplicates(Boolean.FALSE);
FileListFilter<File> result = factory.getObject();
assertFalse(result instanceof CompositeFileListFilter);
assertThat(result, is(instanceOf(SimplePatternFileListFilter.class)));
assertTrue(TestUtils.getPropertyValue(result, "alwaysAcceptDirectories", Boolean.class));
}
private static class TestFilter extends AbstractFileListFilter<File> {

View File

@@ -1051,7 +1051,7 @@ public class RemoteFileOutboundGatewayTests {
static class TestRemoteFileOutboundGateway extends AbstractRemoteFileOutboundGateway<TestLsEntry> {
@SuppressWarnings({ "rawtypes", "unchecked" })
@SuppressWarnings("unchecked")
TestRemoteFileOutboundGateway(SessionFactory sessionFactory,
String command, String expression) {
super(sessionFactory, Command.toCommand(command), expression);
@@ -1180,6 +1180,11 @@ public class RemoteFileOutboundGatewayTests {
return file.getFilename();
}
@Override
protected boolean isDirectory(TestLsEntry file) {
return file.isDirectory();
}
}
}