List of usage examples for org.springframework.batch.item.file.transform DelimitedLineAggregator DelimitedLineAggregator
DelimitedLineAggregator
From source file:be.ordina.springbatch.batch.writer.FineInformationWriter.java
public FineInformationWriter() { this.setResource(new FileSystemResource("src/main/resources/output.csv")); BeanWrapperFieldExtractor<Fine> fieldExtractor = new BeanWrapperFieldExtractor<>(); fieldExtractor.setNames(new String[] { "licensePlate", "speed", "amountToPay", "graveError" }); DelimitedLineAggregator<Fine> delLineAgg = new DelimitedLineAggregator<>(); delLineAgg.setDelimiter(","); delLineAgg.setFieldExtractor(fieldExtractor); this.setLineAggregator(delLineAgg); }
From source file:uk.ac.ebi.eva.pipeline.io.writers.VepInputFlatFileWriter.java
/** * @return must return a {@link FlatFileItemWriter} and not a {@link org.springframework.batch.item.ItemWriter} * {@see https://jira.spring.io/browse/BATCH-2097 * * TODO: The variant list should be compressed *//*from www . ja va2s . c om*/ public VepInputFlatFileWriter(File file) { super(); BeanWrapperFieldExtractor<VariantWrapper> fieldExtractor = new BeanWrapperFieldExtractor<>(); fieldExtractor.setNames(new String[] { "chr", "start", "end", "refAlt", "strand" }); DelimitedLineAggregator<VariantWrapper> delLineAgg = new DelimitedLineAggregator<>(); delLineAgg.setDelimiter("\t"); delLineAgg.setFieldExtractor(fieldExtractor); setResource(new FileSystemResource(file)); setAppendAllowed(false); setShouldDeleteIfExists(true); setLineAggregator(delLineAgg); }
From source file:org.springframework.batch.admin.sample.LeadRandomizer.java
@Test public void testLeads() throws Exception { FlatFileItemReader<FieldSet> reader = new FlatFileItemReader<FieldSet>(); reader.setResource(new ClassPathResource("/data/test.txt")); DefaultLineMapper<FieldSet> lineMapper = new DefaultLineMapper<FieldSet>(); lineMapper.setLineTokenizer(new DelimitedLineTokenizer()); lineMapper.setFieldSetMapper(new PassThroughFieldSetMapper()); reader.setLinesToSkip(1);//from w w w . j a va 2 s . co m final List<String> headers = new ArrayList<String>(); reader.setSkippedLinesCallback(new LineCallbackHandler() { public void handleLine(String line) { headers.add(line); } }); reader.setLineMapper(lineMapper); reader.open(new ExecutionContext()); List<FieldSet> list = new ArrayList<FieldSet>(); FieldSet item = reader.read(); while (item != null) { list.add(item); item = reader.read(); } assertEquals(7, list.size()); FlatFileItemWriter<FieldSet> writer = new FlatFileItemWriter<FieldSet>(); FileSystemResource resource = new FileSystemResource("target/output/output.txt"); FileUtils.deleteQuietly(resource.getFile()); writer.setResource(resource); writer.setHeaderCallback(new FlatFileHeaderCallback() { public void writeHeader(Writer writer) throws IOException { for (String header : headers) { writer.write(header); } } }); writer.setLineAggregator(new DelimitedLineAggregator<FieldSet>()); writer.open(new ExecutionContext()); String[] names = getFields(list, 1); String[] country = getFields(list, 2); String[] products = getFields(list, 3); double[] amounts = getMinMax(list, 4); NumberFormat formatter = new DecimalFormat("#.##"); int count = 20; for (int i = 0; i < 100; i++) { List<FieldSet> items = new ArrayList<FieldSet>(); for (FieldSet fieldSet : list) { String[] values = fieldSet.getValues(); values[0] = "" + (count++); values[1] = choose(names); values[2] = choose(country); values[3] = choose(products); values[4] = formatter.format(random(amounts)); items.add(new DefaultFieldSet(values)); } writer.write(items); } writer.close(); }