List of usage examples for org.springframework.batch.item.file.mapping BeanWrapperFieldSetMapper BeanWrapperFieldSetMapper
BeanWrapperFieldSetMapper
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; }