Example usage for org.springframework.batch.item.xml StaxEventItemWriter close

List of usage examples for org.springframework.batch.item.xml StaxEventItemWriter close

Introduction

In this page you can find the example usage for org.springframework.batch.item.xml StaxEventItemWriter close.

Prototype

@Override
public void close() 

Source Link

Document

Flush and close the output source.

Usage

From source file:org.springframework.batch.item.xml.builder.StaxEventItemWriterBuilderTests.java

@Test(expected = ItemStreamException.class)
public void testOverwriteOutput() throws Exception {
    StaxEventItemWriter<Foo> staxEventItemWriter = new StaxEventItemWriterBuilder<Foo>().name("fooWriter")
            .marshaller(marshaller).resource(this.resource).overwriteOutput(false).build();

    staxEventItemWriter.afterPropertiesSet();

    ExecutionContext executionContext = new ExecutionContext();
    staxEventItemWriter.open(executionContext);

    staxEventItemWriter.write(this.items);

    staxEventItemWriter.update(executionContext);
    staxEventItemWriter.close();

    File output = this.resource.getFile();

    assertTrue(output.exists());/* w  w w.  j a v  a2s  .  co  m*/

    executionContext = new ExecutionContext();
    staxEventItemWriter.open(executionContext);
}

From source file:org.springframework.batch.item.xml.builder.StaxEventItemWriterBuilderTests.java

@Test
public void testDeleteIfEmpty() throws Exception {
    ExecutionContext executionContext = new ExecutionContext();

    StaxEventItemWriter<Foo> staxEventItemWriter = new StaxEventItemWriterBuilder<Foo>().name("fooWriter")
            .resource(this.resource).marshaller(this.marshaller).shouldDeleteIfEmpty(true).build();

    staxEventItemWriter.afterPropertiesSet();
    staxEventItemWriter.open(executionContext);
    staxEventItemWriter.write(Collections.emptyList());
    staxEventItemWriter.update(executionContext);
    staxEventItemWriter.close();

    File file = this.resource.getFile();

    assertFalse(file.exists());//from   w  ww.j a va  2  s .  c o m
}

From source file:org.springframework.batch.item.xml.builder.StaxEventItemWriterBuilderTests.java

@Test
public void testConfiguration() throws Exception {
    Map<String, String> rootElementAttributes = new HashMap<>();
    rootElementAttributes.put("baz", "quix");

    StaxEventItemWriter<Foo> staxEventItemWriter = new StaxEventItemWriterBuilder<Foo>().name("fooWriter")
            .marshaller(marshaller).encoding("UTF-16").footerCallback(writer -> {
                XMLEventFactory factory = XMLEventFactory.newInstance();
                try {
                    writer.add(factory.createEndElement("ns", "http://www.springframework.org/test", "group"));
                } catch (XMLStreamException e) {
                    throw new RuntimeException(e);
                }//ww w  .  j a  va  2  s.c o  m
            }).headerCallback(writer -> {
                XMLEventFactory factory = XMLEventFactory.newInstance();
                try {
                    writer.add(
                            factory.createStartElement("ns", "http://www.springframework.org/test", "group"));
                } catch (XMLStreamException e) {
                    throw new RuntimeException(e);
                }
            }).resource(this.resource).rootTagName("foobarred").rootElementAttributes(rootElementAttributes)
            .saveState(false).version("1.1").build();

    staxEventItemWriter.afterPropertiesSet();

    ExecutionContext executionContext = new ExecutionContext();
    staxEventItemWriter.open(executionContext);

    staxEventItemWriter.write(this.items);

    staxEventItemWriter.update(executionContext);
    staxEventItemWriter.close();

    assertEquals(FULL_OUTPUT, getOutputFileContent("UTF-16"));
    assertEquals(0, executionContext.size());
}