Example usage for org.springframework.batch.item.file FlatFileItemWriter setLineAggregator

List of usage examples for org.springframework.batch.item.file FlatFileItemWriter setLineAggregator

Introduction

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

Prototype

public void setLineAggregator(LineAggregator<T> lineAggregator) 

Source Link

Document

Public setter for the LineAggregator .

Usage

From source file:org.jboss.examples.spring.batch.BatchConfiguration.java

@Bean
public FlatFileItemWriter<AggregateItem<Trade>> writer() {
    FlatFileItemWriter rc = new FlatFileItemWriter();
    rc.setLineAggregator(new PassThroughLineAggregator());
    rc.setResource(new FileSystemResource("./target/multistep.txt"));
    return rc;/*from   w  ww. j a v a  2  s . c  o  m*/
}

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

@Bean
public ItemWriter<String> writer() {
    FlatFileItemWriter<String> writer = new FlatFileItemWriter<String>();
    writer.setResource(new FileSystemResource(new File("target/out-javaconfig.txt")));
    writer.setLineAggregator(new PassThroughLineAggregator<String>());
    return writer;
}

From source file:org.cbio.portal.pipelines.foundation.MetaDataTasklet.java

/**
 * Create and Write meta data file./* w  w w. j  a v a 2  s .  c om*/
 * @param executionContext
 * @throws Exception 
 */
private void writeMetaStagingFile(ExecutionContext executionContext, String metaFilename, List<String> metaData)
        throws Exception {
    FlatFileItemWriter<String> flatFileItemWriter = new FlatFileItemWriter<>();
    PassThroughLineAggregator aggr = new PassThroughLineAggregator();

    try {
        flatFileItemWriter.setLineAggregator(aggr);
        flatFileItemWriter.setResource(new FileSystemResource(metaFilename));
        flatFileItemWriter.open(executionContext);
        flatFileItemWriter.write(metaData);
        flatFileItemWriter.close();
    } catch (Exception ex) {
        LOG.error("Error writing meta data file: " + metaFilename);
        ex.printStackTrace();
    }

}

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);/* ww w .  j  a  v  a2  s .  c  o  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();

}