Example usage for org.springframework.batch.item.file.transform DelimitedLineTokenizer DelimitedLineTokenizer

List of usage examples for org.springframework.batch.item.file.transform DelimitedLineTokenizer DelimitedLineTokenizer

Introduction

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

Prototype

public DelimitedLineTokenizer(String delimiter) 

Source Link

Document

Create a new instance of the DelimitedLineTokenizer class.

Usage

From source file:com.cocktail.initializer.ItemReader.java

/**
 * Read items.//from w  ww  .  j  a  va 2 s . co m
 *
 * @param <I>
 *            the generic type
 * @param path
 *            the path
 * @param itemMapper
 *            the item mapper
 * @return the list
 * @throws Exception
 *             the exception
 */
public static <I> List<I> readItems(String path, FieldSetMapper<I> itemMapper) throws Exception {

    ClassPathResource resource = new ClassPathResource(path);
    Scanner scanner = new Scanner(resource.getInputStream());
    String line = scanner.nextLine();
    scanner.close();

    FlatFileItemReader<I> itemReader = new FlatFileItemReader<I>();
    itemReader.setResource(resource);

    // DelimitedLineTokenizer defaults to | as its delimiter
    DelimitedLineTokenizer tokenizer = new DelimitedLineTokenizer("|");
    tokenizer.setNames(line.split("\\|"));
    tokenizer.setStrict(false);

    DefaultLineMapper<I> lineMapper = new DefaultLineMapper<I>();
    lineMapper.setLineTokenizer(tokenizer);
    lineMapper.setFieldSetMapper(itemMapper);
    itemReader.setLineMapper(lineMapper);
    itemReader.setRecordSeparatorPolicy(new DefaultRecordSeparatorPolicy());
    itemReader.setLinesToSkip(1);
    itemReader.open(new ExecutionContext());

    List<I> items = new ArrayList<>();
    I item = null;

    do {

        item = itemReader.read();

        if (item != null) {
            items.add(item);
        }

    } while (item != null);

    return items;
}

From source file:com.apress.prospringintegration.batch.JobConfiguration.java

@Bean
@Scope("step")//from  w  w w .ja  va2  s  .com
public FlatFileItemReader dataReader(@Value("file:#{jobParameters['input.file']}") Resource resource) {
    FlatFileItemReader csvFileReader = new FlatFileItemReader();
    csvFileReader.setResource(resource);

    DelimitedLineTokenizer delimitedLineTokenizer = new DelimitedLineTokenizer(
            DelimitedLineTokenizer.DELIMITER_COMMA);
    delimitedLineTokenizer.setNames(new String[] { "firstName", "lastName", "company", "address", "city",
            "state", "zip", "county", "url", "phoneNumber", "fax" });

    BeanWrapperFieldSetMapper beanWrapperFieldSetMapper = new BeanWrapperFieldSetMapper();
    beanWrapperFieldSetMapper.setTargetType(UserRegistration.class);

    DefaultLineMapper defaultLineMapper = new DefaultLineMapper();
    defaultLineMapper.setLineTokenizer(delimitedLineTokenizer);
    defaultLineMapper.setFieldSetMapper(beanWrapperFieldSetMapper);

    csvFileReader.setLineMapper(defaultLineMapper);

    return csvFileReader;
}

From source file:com.apress.prospringintegration.springbatch.integration.JobConfiguration.java

@Bean
@Scope("step")//from w  w  w.  jav  a2  s. c  om
public FlatFileItemReader dataReader(
        @Value("file:src/main/resources/sample/#{jobParameters['input.file']}.csv") Resource resource) {
    FlatFileItemReader csvFileReader = new FlatFileItemReader();
    csvFileReader.setResource(resource);

    DelimitedLineTokenizer delimitedLineTokenizer = new DelimitedLineTokenizer(
            DelimitedLineTokenizer.DELIMITER_COMMA);
    delimitedLineTokenizer.setNames(new String[] { "firstName", "lastName", "company", "address", "city",
            "state", "zip", "county", "url", "phoneNumber", "fax" });

    BeanWrapperFieldSetMapper beanWrapperFieldSetMapper = new BeanWrapperFieldSetMapper();
    beanWrapperFieldSetMapper.setTargetType(UserRegistration.class);

    DefaultLineMapper defaultLineMapper = new DefaultLineMapper();
    defaultLineMapper.setLineTokenizer(delimitedLineTokenizer);
    defaultLineMapper.setFieldSetMapper(beanWrapperFieldSetMapper);

    csvFileReader.setLineMapper(defaultLineMapper);

    return csvFileReader;
}

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);/*from   w  ww  .  j a  va2  s.c  om*/
    csvFileReader.open(new ExecutionContext());
}

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);//from  ww w.j ava 2s  .c o m
    final FieldSetMapper<String[]> fieldSetMapper = new ArrayFieldSetMapper();
    lineMapper.setFieldSetMapper(fieldSetMapper);
    return reader;
}