Example usage for org.springframework.batch.item.file.transform DefaultFieldSet DefaultFieldSet

List of usage examples for org.springframework.batch.item.file.transform DefaultFieldSet DefaultFieldSet

Introduction

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

Prototype

public DefaultFieldSet(String[] tokens) 

Source Link

Document

Create a FieldSet with anonymous tokens.

Usage

From source file:fr.acxio.tools.agia.item.database.FieldSetSqlParameterSourceProviderTest.java

@Test
public void testNoName() {
    FieldSetSqlParameterSourceProvider aProvider = new FieldSetSqlParameterSourceProvider();
    FieldSet aFieldSet = new DefaultFieldSet(new String[] { "Facture", "2222.22", "2014-08-01T12:00:00.000" });
    SqlParameterSource aResult = aProvider.createSqlParameterSource(aFieldSet);
    assertNotNull(aResult);//from  w ww.  j a v  a 2 s.  c  om
    assertEquals("Facture", aResult.getValue("rec0_ucol0"));
    assertEquals("2222.22", aResult.getValue("rec0_ucol1"));
    assertEquals("2014-08-01T12:00:00.000", aResult.getValue("rec0_ucol2"));
    assertFalse(aResult.hasValue("rec1_ucol0"));
}

From source file:fr.acxio.tools.agia.item.database.FieldSetSqlParameterSourceProviderTest.java

@Test
public void testNoNameNewPrefix() {
    FieldSetSqlParameterSourceProvider aProvider = new FieldSetSqlParameterSourceProvider();
    aProvider.setFieldsetNamePrefix("field");
    aProvider.setUnnamedColumnPrefix("column");
    FieldSet aFieldSet = new DefaultFieldSet(new String[] { "Facture", "2222.22", "2014-08-01T12:00:00.000" });
    SqlParameterSource aResult = aProvider.createSqlParameterSource(aFieldSet);
    assertNotNull(aResult);/*from www . ja v a 2 s .com*/
    assertEquals("Facture", aResult.getValue("field0_column0"));
    assertEquals("2222.22", aResult.getValue("field0_column1"));
    assertEquals("2014-08-01T12:00:00.000", aResult.getValue("field0_column2"));
    assertFalse(aResult.hasValue("field1_column0"));
}

From source file:fr.acxio.tools.agia.transform.ListFieldSetToMapProcessorTest.java

@Test
public void testNoName() throws Exception {
    ListFieldSetToMapProcessor aProcessor = new ListFieldSetToMapProcessor();
    List<FieldSet> aFieldSetList = new ArrayList<FieldSet>(1);
    aFieldSetList.add(new DefaultFieldSet(new String[] { "Facture", "2222.22", "2014-08-01T12:00:00.000" }));
    aFieldSetList.add(new DefaultFieldSet(new String[] { "Avoir", "-333.00", "" }));
    Map<String, Object> aResult = aProcessor.process(aFieldSetList);
    assertNotNull(aResult);//ww w .  jav a 2 s  . c o m
    assertEquals("Facture", aResult.get("rec0_ucol0"));
    assertEquals("2222.22", aResult.get("rec0_ucol1"));
    assertEquals("2014-08-01T12:00:00.000", aResult.get("rec0_ucol2"));
    assertEquals("Avoir", aResult.get("rec1_ucol0"));
    assertEquals("-333.00", aResult.get("rec1_ucol1"));
    assertEquals("", aResult.get("rec1_ucol2"));
    assertFalse(aResult.containsKey("rec2_ucol0"));
}

From source file:fr.acxio.tools.agia.item.database.ListFieldSetSqlParameterSourceProviderTest.java

@Test
public void testNoName() {
    ListFieldSetSqlParameterSourceProvider aProvider = new ListFieldSetSqlParameterSourceProvider();
    List<FieldSet> aFieldSetList = new ArrayList<FieldSet>(1);
    aFieldSetList.add(new DefaultFieldSet(new String[] { "Facture", "2222.22", "2014-08-01T12:00:00.000" }));
    aFieldSetList.add(new DefaultFieldSet(new String[] { "Avoir", "-333.00", "" }));
    SqlParameterSource aResult = aProvider.createSqlParameterSource(aFieldSetList);
    assertNotNull(aResult);/*from w  w  w . j  a v  a  2 s  .  c om*/
    assertEquals("Facture", aResult.getValue("rec0_ucol0"));
    assertEquals("2222.22", aResult.getValue("rec0_ucol1"));
    assertEquals("2014-08-01T12:00:00.000", aResult.getValue("rec0_ucol2"));
    assertEquals("Avoir", aResult.getValue("rec1_ucol0"));
    assertEquals("-333.00", aResult.getValue("rec1_ucol1"));
    assertEquals("", aResult.getValue("rec1_ucol2"));
    assertFalse(aResult.hasValue("rec2_ucol0"));
}

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);/* w w  w . ja  va  2  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();

}