Example usage for org.springframework.batch.item.file.mapping BeanWrapperFieldSetMapper BeanWrapperFieldSetMapper

List of usage examples for org.springframework.batch.item.file.mapping BeanWrapperFieldSetMapper BeanWrapperFieldSetMapper

Introduction

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

Prototype

BeanWrapperFieldSetMapper

Source Link

Usage

From source file:my.sandbox.spring.batch.demo.readers.ProductReader.java

public ProductReader() {

    DelimitedLineTokenizer tokenizer = new DelimitedLineTokenizer();
    tokenizer.setNames(new String[] { "description", "price", "purchaseDate" });
    tokenizer.setDelimiter(DelimitedLineTokenizer.DELIMITER_TAB);

    BeanWrapperFieldSetMapper<Product> mapper = new BeanWrapperFieldSetMapper<>();
    mapper.setTargetType(Product.class);

    DefaultLineMapper<Product> defaultLineMapper = new DefaultLineMapper<>();

    defaultLineMapper.setLineTokenizer(tokenizer);
    defaultLineMapper.setFieldSetMapper(mapper);

    setLineMapper(defaultLineMapper);//from w  w  w  . j av  a2  s .  c  om
}

From source file:org.my.spring.batch.java.config.demo.readers.ProductReader.java

@Autowired
public ProductReader(@Value("#{jobParameters[inputFile]}") String inputFile) {

    setResource(new FileSystemResource(inputFile));

    DelimitedLineTokenizer tokenizer = new DelimitedLineTokenizer();
    tokenizer.setNames(new String[] { "description", "price", "purchaseDate" });
    tokenizer.setDelimiter(DelimitedLineTokenizer.DELIMITER_TAB);

    BeanWrapperFieldSetMapper<Product> mapper = new BeanWrapperFieldSetMapper<>();
    mapper.setTargetType(Product.class);

    DefaultLineMapper<Product> defaultLineMapper = new DefaultLineMapper<>();

    defaultLineMapper.setLineTokenizer(tokenizer);
    defaultLineMapper.setFieldSetMapper(mapper);

    setLineMapper(defaultLineMapper);/*from www . j  a  v a  2  s  .c  om*/
}

From source file:com.create.batch.TicketReaderFactory.java

public ItemStreamReader<Ticket> createReader(final Resource source) {

    final FlatFileItemReader<Ticket> reader = new FlatFileItemReader<>();
    reader.setResource(source);/*from  ww w . ja va2 s  . c o  m*/
    final DefaultLineMapper<Ticket> lineMapper = new DefaultLineMapper<>();
    final DelimitedLineTokenizer lineTokenizer = new DelimitedLineTokenizer();
    lineTokenizer.setNames(TICKET_FILE_CSV_FIELDS);
    lineMapper.setLineTokenizer(lineTokenizer);
    final BeanWrapperFieldSetMapper<Ticket> fieldMapper = new BeanWrapperFieldSetMapper<>();
    fieldMapper.setTargetType(Ticket.class);
    final DateFormat df = new SimpleDateFormat(DATE_FORMAT);
    final Map<Class, PropertyEditor> customEditors = Stream
            .of(new AbstractMap.SimpleEntry<>(Date.class, new CustomDateEditor(df, false)))
            .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
    fieldMapper.setCustomEditors(customEditors);
    lineMapper.setFieldSetMapper(fieldMapper);
    reader.setLineMapper(lineMapper);
    return reader;
}

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

@Bean
@Scope("step")/*  ww w . j a  v a2s  . 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")//  w w w.j  a  v  a 2  s.  c o m
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  ww  w . j a va 2  s  . c  o m
    csvFileReader.open(new ExecutionContext());
}

From source file:io.spring.marchmadness.MooreStatConfiguration.java

@Bean
public ItemReader<MooreNcaaStat> reader(ResourceLoader resourceLoader) {
    FlatFileItemReader<MooreNcaaStat> reader = new FlatFileItemReader<MooreNcaaStat>();
    reader.setResource(resourceLoader.getResource("file:" + inputFileName));
    reader.setLineMapper(new DefaultLineMapper<MooreNcaaStat>() {
        {//from www .j av  a 2  s  .c  o  m
            setLineTokenizer(new DelimitedLineTokenizer() {
                {
                    setNames(new String[] { "year", "rank", "name", "win", "loss", "tie", "sos", "pr" });
                }
            });
            setFieldSetMapper(new BeanWrapperFieldSetMapper<MooreNcaaStat>() {
                {
                    setTargetType(MooreNcaaStat.class);
                }
            });
        }
    });
    return reader;
}

From source file:io.spring.marchmadness.NcaaStatConfiguration.java

@Bean
public ItemReader<NcaaStats> reader(ResourceLoader resourceLoader) {
    FlatFileItemReader<NcaaStats> reader = new FlatFileItemReader<NcaaStats>();
    reader.setResource(resourceLoader.getResource("file:" + inputFileName));
    reader.setLineMapper(new DefaultLineMapper<NcaaStats>() {
        {//from   ww  w . j ava  2  s . c  o  m
            setLineTokenizer(new DelimitedLineTokenizer() {
                {
                    setNames(new String[] { "year", "rank", "name", "rating", "win", "loss", "schedl",
                            "schedlRank", "winTop25", "lossTop25", "winTop50", "lossTop50", "predictor",
                            "predictorRank", "goldenMean", "goldenMeanRank", "recent", "recentRank" });
                }
            });
            setFieldSetMapper(new BeanWrapperFieldSetMapper<NcaaStats>() {
                {
                    setTargetType(NcaaStats.class);
                }
            });
        }
    });
    return reader;
}

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

@Bean
public LineMapper<Item> lineMapper() {
    DefaultLineMapper<Item> lineMapper = new DefaultLineMapper<Item>();
    DelimitedLineTokenizer lineTokenizer = new DelimitedLineTokenizer();
    lineTokenizer.setNames(new String[] { "id", "description", "firstAction", "secondAction" });
    lineTokenizer.setIncludedFields(new int[] { 0, 1, 2, 3 });
    BeanWrapperFieldSetMapper<Item> fieldSetMapper = new BeanWrapperFieldSetMapper<Item>();
    fieldSetMapper.setTargetType(Item.class);
    lineMapper.setLineTokenizer(lineTokenizer);
    lineMapper.setFieldSetMapper(fieldSetMapper);
    return lineMapper;
}

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  ww  w .  j  av  a 2s .  c  o m*/
 *          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;
}