From 544390720bd877ba687b88e8eb2095fdb1205540 Mon Sep 17 00:00:00 2001 From: robokaso Date: Tue, 1 Jul 2008 13:44:38 +0000 Subject: [PATCH] RESOLVED - BATCH-698: StaxEventItemWriter test failures * fixed the unjustified assertions * added call to XMLEventWriter#flush inside ItemWriter#flush --- .../batch/item/xml/StaxEventItemWriter.java | 6 ++++++ .../batch/item/xml/StaxEventItemWriterTests.java | 16 +++++----------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/xml/StaxEventItemWriter.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/xml/StaxEventItemWriter.java index 58f0580c5..ebc42047f 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/xml/StaxEventItemWriter.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/xml/StaxEventItemWriter.java @@ -457,6 +457,12 @@ public class StaxEventItemWriter extends ExecutionContextUserSupport implements Object item = iterator.next(); serializer.serializeObject(eventWriter, item); } + try { + eventWriter.flush(); + } + catch (XMLStreamException e) { + throw new FlushFailedException("Failed to flush the events", e); + } buffer.clear(); lastCommitPointPosition = getPosition(); diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/xml/StaxEventItemWriterTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/xml/StaxEventItemWriterTests.java index 7526963cd..bf7d8cec4 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/xml/StaxEventItemWriterTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/xml/StaxEventItemWriterTests.java @@ -88,7 +88,7 @@ public class StaxEventItemWriterTests extends TestCase { writer.write(item); // rollback writer.clear(); - assertEquals("", outputFileContent()); + assertFalse(outputFileContent().contains(TEST_STRING)); } /** @@ -98,7 +98,7 @@ public class StaxEventItemWriterTests extends TestCase { writer.open(executionContext); writer.write(item); String content = outputFileContent(); - assertEquals("", content); + assertFalse(content.contains(TEST_STRING)); writer.flush(); content = outputFileContent(); assertTrue("Wrong content: "+content, contains(content, TEST_STRING)); @@ -143,10 +143,8 @@ public class StaxEventItemWriterTests extends TestCase { writer.setHeaderItems(new Object[] {header1, header2}); writer.open(executionContext); writer.write(item); - String content = outputFileContent(); - assertEquals("", content); writer.flush(); - content = outputFileContent(); + String content = outputFileContent(); assertTrue("Wrong content: "+content, contains(content, "")); assertTrue("Wrong content: "+content, contains(content, "")); assertTrue("Wrong content: "+content, contains(content, TEST_STRING)); @@ -160,13 +158,11 @@ public class StaxEventItemWriterTests extends TestCase { writer.setHeaderItems(new Object[] {header}); writer.open(executionContext); writer.write(item); - String content = outputFileContent(); - assertEquals("", content); writer.clear(); writer.open(executionContext); writer.write(item); writer.flush(); - content = outputFileContent(); + String content = outputFileContent(); assertEquals("Wrong content: "+content, 1, countContains(content, "")); assertEquals("Wrong content: "+content, 1, countContains(content, TEST_STRING)); } @@ -179,8 +175,6 @@ public class StaxEventItemWriterTests extends TestCase { writer.setHeaderItems(new Object[] {header}); writer.open(executionContext); writer.write(item); - String content = outputFileContent(); - assertEquals("", content); writer.flush(); writer.update(executionContext); writer.close(executionContext); @@ -188,7 +182,7 @@ public class StaxEventItemWriterTests extends TestCase { writer.write(item); writer.clear(); writer.flush(); - content = outputFileContent(); + String content = outputFileContent(); assertEquals("Wrong content: "+content, 1, countContains(content, "")); assertEquals("Wrong content: "+content, 1, countContains(content, TEST_STRING)); }