Example usage for org.springframework.integration.ftp.filters FtpSimplePatternFileListFilter FtpSimplePatternFileListFilter

List of usage examples for org.springframework.integration.ftp.filters FtpSimplePatternFileListFilter FtpSimplePatternFileListFilter

Introduction

In this page you can find the example usage for org.springframework.integration.ftp.filters FtpSimplePatternFileListFilter FtpSimplePatternFileListFilter.

Prototype

public FtpSimplePatternFileListFilter(String pattern) 

Source Link

Usage

From source file:org.springframework.cloud.stream.app.ftp.source.FtpSourceConfiguration.java

@Bean
public IntegrationFlow ftpInboundFlow(SessionFactory<FTPFile> ftpSessionFactory, FtpSourceProperties properties,
        FileConsumerProperties fileConsumerProperties) {
    FtpInboundChannelAdapterSpec messageSourceBuilder = Ftp.inboundAdapter(ftpSessionFactory)
            .preserveTimestamp(properties.isPreserveTimestamp()).remoteDirectory(properties.getRemoteDir())
            .remoteFileSeparator(properties.getRemoteFileSeparator()).localDirectory(properties.getLocalDir())
            .autoCreateLocalDirectory(properties.isAutoCreateLocalDir())
            .temporaryFileSuffix(properties.getTmpFileSuffix())
            .deleteRemoteFiles(properties.isDeleteRemoteFiles());

    if (StringUtils.hasText(properties.getFilenamePattern())) {
        messageSourceBuilder.filter(new FtpSimplePatternFileListFilter(properties.getFilenamePattern()));
    } else if (properties.getFilenameRegex() != null) {
        messageSourceBuilder.filter(new FtpRegexPatternFileListFilter(properties.getFilenameRegex()));
    }/* w  w w .  j a  v a  2 s . c  o  m*/

    IntegrationFlowBuilder flowBuilder = IntegrationFlows.from(messageSourceBuilder,
            new Consumer<SourcePollingChannelAdapterSpec>() {

                @Override
                public void accept(SourcePollingChannelAdapterSpec sourcePollingChannelAdapterSpec) {
                    sourcePollingChannelAdapterSpec.poller(FtpSourceConfiguration.this.defaultPoller);
                }

            });

    return FileUtils.enhanceFlowForReadingMode(flowBuilder, fileConsumerProperties)
            .channel(this.source.output()).get();
}

From source file:org.springframework.integration.dsl.ftp.FtpInboundChannelAdapterSpec.java

@Override
public FtpInboundChannelAdapterSpec patternFilter(String pattern) {
    return filter(new FtpSimplePatternFileListFilter(pattern));
}

From source file:org.springframework.integration.dsl.ftp.FtpOutboundGatewaySpec.java

@Override
public FtpOutboundGatewaySpec patternFileNameFilter(String pattern) {
    return filter(new FtpSimplePatternFileListFilter(pattern));
}

From source file:org.springframework.integration.ftp.dsl.FtpInboundChannelAdapterSpec.java

/**
 * Specify a simple pattern to match remote files.
 * @param pattern the pattern.//from  w ww .  j a v  a  2 s  .  com
 * @see FtpSimplePatternFileListFilter
 * @see #filter(org.springframework.integration.file.filters.FileListFilter)
 */
@Override
public FtpInboundChannelAdapterSpec patternFilter(String pattern) {
    return filter(composeFilters(new FtpSimplePatternFileListFilter(pattern)));
}

From source file:org.springframework.integration.ftp.dsl.FtpOutboundGatewaySpec.java

/**
 * @see FtpSimplePatternFileListFilter// w  w  w .  j  av a 2  s . c o m
 */
@Override
public FtpOutboundGatewaySpec patternFileNameFilter(String pattern) {
    return filter(new FtpSimplePatternFileListFilter(pattern));
}

From source file:org.springframework.integration.ftp.dsl.FtpStreamingInboundChannelAdapterSpec.java

/**
 * Specify a simple pattern to match remote files (e.g. '*.txt').
 * @param pattern the pattern.//  w  ww.jav a  2s . co  m
 * @see FtpSimplePatternFileListFilter
 * @see #filter(org.springframework.integration.file.filters.FileListFilter)
 */
@Override
public FtpStreamingInboundChannelAdapterSpec patternFilter(String pattern) {
    return filter(composeFilters(new FtpSimplePatternFileListFilter(pattern)));
}

From source file:org.springframework.integration.ftp.filters.FtpFileListFilterTests.java

@Test
public void testMarkerFile() throws Exception {
    FtpSystemMarkerFilePresentFileListFilter filter = new FtpSystemMarkerFilePresentFileListFilter(
            new FtpSimplePatternFileListFilter("*.txt"));
    FTPFile[] files = template.list("ftpSource");
    assertThat(files.length, greaterThan(0));
    List<FTPFile> filtered = filter.filterFiles(files);
    assertThat(filtered.size(), equalTo(0));
    File remoteDir = getSourceRemoteDirectory();
    File marker = new File(remoteDir, "ftpSource2.txt.complete");
    marker.createNewFile();//from ww  w .  j a v  a 2s.  c  o  m
    files = template.list("ftpSource");
    filtered = filter.filterFiles(files);
    assertThat(filtered.size(), equalTo(1));
    assertThat(filtered.get(0).getName(), equalTo("ftpSource2.txt"));
    marker.delete();
}