List of usage examples for org.springframework.batch.item.xml.builder StaxEventItemWriterBuilder StaxEventItemWriterBuilder
StaxEventItemWriterBuilder
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();//w w w . j a va 2 s .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();// ww w .j a va 2 s.co m 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 w ww . ja v a 2 s. co 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()); }
From source file:org.springframework.batch.item.xml.builder.StaxEventItemWriterBuilderTests.java
@Test(expected = IllegalArgumentException.class) public void testMissingMarshallerValidation() { new StaxEventItemWriterBuilder<Foo>().name("fooWriter").build(); }
From source file:org.springframework.batch.item.xml.builder.StaxEventItemWriterBuilderTests.java
@Test(expected = IllegalArgumentException.class) public void testMissingNameValidation() { new StaxEventItemWriterBuilder<Foo>().marshaller(new Jaxb2Marshaller()).build(); }