Quantcast

svn commit: r1353613 - in /camel/trunk/components/camel-stream/src: main/java/org/apache/camel/component/stream/StreamProducer.java test/java/org/apache/camel/component/stream/StreamSystemOutTest.java

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

svn commit: r1353613 - in /camel/trunk/components/camel-stream/src: main/java/org/apache/camel/component/stream/StreamProducer.java test/java/org/apache/camel/component/stream/StreamSystemOutTest.java

davsclaus-2
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() {


Loading...