Example usage for org.springframework.batch.item.file FlatFileItemReader FlatFileItemReader

List of usage examples for org.springframework.batch.item.file FlatFileItemReader FlatFileItemReader

Introduction

In this page you can find the example usage for org.springframework.batch.item.file FlatFileItemReader FlatFileItemReader.

Prototype

public FlatFileItemReader() 

Source Link

Usage

From source file:de.mediait.batch.FlatFileItemReaderTest.java

private FlatFileItemReader<String[]> createFlatFileReader(final char seperatorCharacter,
        final char quoteCharacter) {
    final FlatFileItemReader<String[]> reader = new FlatFileItemReader<String[]>();
    final DefaultLineMapper<String[]> lineMapper = new DefaultLineMapper<String[]>();
    final DelimitedLineTokenizer tokenizer = new DelimitedLineTokenizer(String.valueOf(seperatorCharacter));
    tokenizer.setQuoteCharacter(quoteCharacter);
    lineMapper.setLineTokenizer(tokenizer);
    final FixingCsvRecordSeparatorPolicy recordSeparatorPolicy = new FixingCsvRecordSeparatorPolicy();
    recordSeparatorPolicy.setQuoteCharacter(quoteCharacter);
    reader.setRecordSeparatorPolicy(recordSeparatorPolicy);
    reader.setLineMapper(lineMapper);//  www . ja  v  a2 s. c  o m
    final FieldSetMapper<String[]> fieldSetMapper = new ArrayFieldSetMapper();
    lineMapper.setFieldSetMapper(fieldSetMapper);
    return reader;
}

From source file:com.inkubator.hrm.batch.PayTempOvertimeUploadReader.java

private void initializationCsvReader(String filePath) {

    //read a CSV file
    Resource resource = new FileSystemResource(filePath);

    //split by separated coma
    DelimitedLineTokenizer lineTokenizer = new DelimitedLineTokenizer(DelimitedLineTokenizer.DELIMITER_COMMA);
    lineTokenizer.setNames(new String[] { "Nik", "Overtime" });

    //mapped to an object
    BeanWrapperFieldSetMapper<PayTempOvertimeFileModel> beanWrapperFieldSetMapper = new BeanWrapperFieldSetMapper<>();
    beanWrapperFieldSetMapper.setTargetType(PayTempOvertimeFileModel.class);

    DefaultLineMapper<PayTempOvertimeFileModel> lineMapper = new DefaultLineMapper<>();
    lineMapper.setLineTokenizer(lineTokenizer);
    lineMapper.setFieldSetMapper(beanWrapperFieldSetMapper);

    //initial flatFileItemReader
    csvFileReader = new FlatFileItemReader<>();
    csvFileReader.setLineMapper(lineMapper);
    csvFileReader.setResource(resource);
    csvFileReader.setLinesToSkip(1);//ww w .  jav a  2  s  .c  o  m
    csvFileReader.open(new ExecutionContext());
}

From source file:io.spring.batch.configuration.BatchConfiguration.java

@Bean
@StepScope/* w  w w . jav a 2s.com*/
protected FlatFileItemReader<Customer> reader(@Value("#{jobParameters['fileName']}") Resource fileName)
        throws Exception {
    DefaultLineMapper<Customer> defaultLineMapper = new DefaultLineMapper<>();
    defaultLineMapper.setLineTokenizer(new DelimitedLineTokenizer());
    defaultLineMapper.setFieldSetMapper(new FieldSetMapper<Customer>() {
        @Override
        public Customer mapFieldSet(FieldSet fieldSet) throws BindException {
            Customer cust = new Customer();

            cust.setCustomerName(fieldSet.readString(0));
            cust.setQty(fieldSet.readInt(1));

            return cust;
        }
    });

    defaultLineMapper.afterPropertiesSet();

    FlatFileItemReader<Customer> reader = new FlatFileItemReader<>();
    reader.setLineMapper(defaultLineMapper);
    reader.setResource(fileName);
    reader.afterPropertiesSet();

    return reader;
}

From source file:org.jboss.examples.spring.batch.BatchConfiguration.java

@Bean
@StepScope//from   ww w .  j a  v a2s .  com
public FlatFileItemReader<AggregateItem> flatFileItemReader(
        @Value("#{jobParameters[inputFile]}") String fileName, LineTokenizer lineTokenizer) {
    FlatFileItemReader<AggregateItem> rc = new FlatFileItemReader<>();
    rc.setResource(new FileSystemResource(fileName));
    DefaultLineMapper<AggregateItem> mapper = new DefaultLineMapper<>();

    // tokenizer
    mapper.setLineTokenizer(lineTokenizer);

    // field mapper
    AggregateItemFieldSetMapper fieldSetMapper = new AggregateItemFieldSetMapper();
    fieldSetMapper.setDelegate(new TradeFieldSetMapper());
    mapper.setFieldSetMapper(fieldSetMapper);

    rc.setLineMapper(mapper);
    return rc;
}

From source file:de.codecentric.batch.jobs.FlatFileToDbNoSkipJobConfiguration.java

@Bean
@StepScope/* w  ww .  j a  v  a  2 s  . c o  m*/
public FlatFileItemReader<Item> flatFileItemReader(@Value("#{jobParameters[pathToFile]}") String pathToFile) {
    FlatFileItemReader<Item> itemReader = new FlatFileItemReader<Item>();
    itemReader.setLineMapper(lineMapper());
    itemReader.setResource(new FileSystemResource("src/test/resources/" + pathToFile));
    return itemReader;
}

From source file:com.springsource.html5expense.config.BatchConfig.java

@Bean
@Scope("step")/*w  ww  .j  av  a  2 s  .  com*/
public FlatFileItemReader reader(@Value("#{jobParameters[file]}") String resource) {

    File f = new File(this.batchFileDirectory, resource + ".csv");

    DelimitedLineTokenizer del = new DelimitedLineTokenizer();
    del.setNames("date,amount,category,merchant".split(","));
    del.setDelimiter(DelimitedLineTokenizer.DELIMITER_COMMA);

    DefaultLineMapper<FieldSet> defaultLineMapper = new DefaultLineMapper<FieldSet>();
    defaultLineMapper.setLineTokenizer(del);
    defaultLineMapper.setFieldSetMapper(new PassThroughFieldSetMapper());
    defaultLineMapper.afterPropertiesSet();

    FlatFileItemReader<FieldSet> fileItemReader = new FlatFileItemReader<FieldSet>();
    fileItemReader.setLineMapper(defaultLineMapper);
    fileItemReader.setResource(new FileSystemResource(f));

    return fileItemReader;
}

From source file:de.langmi.spring.batch.examples.readers.support.CompositeItemStreamReaderTest.java

/**
 * Helpermethod to create FlatFileItemReader, sets the name too, to make restart
 * scenario possible - otherwise one flatFileItemReader would overwrite the 
 * other (in context).//from   www  .j  a  va  2 s .c  o m
 *
 * @param inputFile
 * @return configured FlatFileItemReader cast as ItemStreamReader
 */
private ItemStreamReader<String> createFlatFileItemReader(final String inputFile) {
    FlatFileItemReader<String> ffir = new FlatFileItemReader<String>();
    // init reader
    ffir.setLineMapper(new PassThroughLineMapper());
    ffir.setResource(new FileSystemResource(inputFile));
    ffir.setName(inputFile);

    return (ItemStreamReader<String>) ffir;
}

From source file:de.langmi.spring.batch.examples.readers.file.zip.ZipMultiResourceItemReaderTest.java

/**
 * Helper method to setup the used MultiResourceItemReader.
 *
 * @param mReader//from  w w w  .jav  a 2 s .c  om
 * @throws Exception 
 */
private void generalMultiResourceReaderSetup(ZipMultiResourceItemReader<String> mReader) throws Exception {
    // setup delegate
    FlatFileItemReader<String> reader = new FlatFileItemReader<String>();
    reader.setLineMapper(new PassThroughLineMapper());
    mReader.setDelegate(reader);
}

From source file:com.github.jrrdev.mantisbtsync.core.jobs.issues.IssuesReadersConfiguration.java

/**
 * Return a reader that gets a list of issues ids from a CSV file.
 * The CSV file must not have a header line for columns definition.
 * The file is loaded through Spring resource loader so the filepath can contains
 * definitions like classpath: and others.
 *
 * @param resourceLoader/*from   w ww.  ja  v  a  2s  .  com*/
 *          Spring resource loader
 * @param filePath
 *          File path of the CSV file
 * @return the reader
 */
@Bean
@StepScope
public FlatFileItemReader<BugIdBean> csvIssuesReader(final ResourceLoader resourceLoader,
        @Value("#{jobParameters['mantis.filepath']}") final String filePath) {

    final FlatFileItemReader<BugIdBean> reader = new FlatFileItemReader<BugIdBean>();
    reader.setResource(resourceLoader.getResource(filePath));

    final DefaultLineMapper<BugIdBean> lineMapper = new DefaultLineMapper<BugIdBean>();

    final DelimitedLineTokenizer tokenizer = new DelimitedLineTokenizer();
    tokenizer.setNames(new String[] { "id" });
    lineMapper.setLineTokenizer(tokenizer);

    final BeanWrapperFieldSetMapper<BugIdBean> mapper = new BeanWrapperFieldSetMapper<BugIdBean>();
    mapper.setTargetType(BugIdBean.class);
    lineMapper.setFieldSetMapper(mapper);

    reader.setLineMapper(lineMapper);

    return reader;
}