Author: davsclaus
Date: Mon Jun 25 15:52:21 2012
New Revision: 1353613

URL: http://svn.apache.org/viewvc?rev=1353613&view=rev
Log:
CAMEL-5395: Skip writing if null body. Thanks to Henryk for the patch.

Modified:
    
camel/trunk/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamProducer.java
    
camel/trunk/components/camel-stream/src/test/java/org/apache/camel/component/stream/StreamSystemOutTest.java

Modified: 
camel/trunk/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamProducer.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamProducer.java?rev=1353613&r1=1353612&r2=1353613&view=diff
==============================================================================
--- 
camel/trunk/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamProducer.java
 (original)
+++ 
camel/trunk/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamProducer.java
 Mon Jun 25 15:52:21 2012
@@ -115,6 +115,11 @@ public class StreamProducer extends Defa
     private synchronized void writeToStream(OutputStream outputStream, 
Exchange exchange) throws IOException, CamelExchangeException {
         Object body = exchange.getIn().getBody();
 
+        if (body == null) {
+            log.debug("Body is null, cannot write it to the stream.");
+            return;
+        }
+
         // if not a string then try as byte array first
         if (!(body instanceof String)) {
             byte[] bytes = exchange.getIn().getBody(byte[].class);

Modified: 
camel/trunk/components/camel-stream/src/test/java/org/apache/camel/component/stream/StreamSystemOutTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-stream/src/test/java/org/apache/camel/component/stream/StreamSystemOutTest.java?rev=1353613&r1=1353612&r2=1353613&view=diff
==============================================================================
--- 
camel/trunk/components/camel-stream/src/test/java/org/apache/camel/component/stream/StreamSystemOutTest.java
 (original)
+++ 
camel/trunk/components/camel-stream/src/test/java/org/apache/camel/component/stream/StreamSystemOutTest.java
 Mon Jun 25 15:52:21 2012
@@ -67,6 +67,22 @@ public class StreamSystemOutTest extends
         }
     }
 
+    @Test
+    public void shouldSkipNullBody() {
+        try {
+            // Given
+            System.setOut(new PrintStream(mockOut));
+
+            // When
+            template.sendBody("direct:in", null);
+
+            // Then
+            assertEquals(0, mockOut.toByteArray().length);
+        } finally {
+            System.setOut(stdOut);
+        }
+    }
+
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
             public void configure() {


Reply via email to