List of usage examples for org.springframework.batch.item.file FlatFileItemReader FlatFileItemReader
public FlatFileItemReader()
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; }