List of usage examples for org.springframework.batch.item.xml StaxEventItemWriter open
private void open(long position)
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();//ww w . j av a 2s . co m File output = this.resource.getFile(); assertTrue(output.exists()); 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();/*from w w w .ja v a2 s .com*/ File file = this.resource.getFile(); assertFalse(file.exists()); }
From source file:org.springframework.batch.item.xml.builder.StaxEventItemWriterBuilderTests.java
@Test public void testTransactional() { StaxEventItemWriter<Foo> staxEventItemWriter = new StaxEventItemWriterBuilder<Foo>().name("fooWriter") .resource(this.resource).marshaller(this.marshaller).transactional(true).forceSync(true).build(); ExecutionContext executionContext = new ExecutionContext(); staxEventItemWriter.open(executionContext); Object writer = ReflectionTestUtils.getField(staxEventItemWriter, "bufferedWriter"); assertTrue(writer instanceof TransactionAwareBufferedWriter); assertTrue((Boolean) ReflectionTestUtils.getField(writer, "forceSync")); }
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); }/*from ww w. j a v a 2 s.c om*/ }).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()); }