You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ha...@apache.org on 2012/05/16 20:00:11 UTC

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

Author: hadrian
Date: Wed May 16 18:00:11 2012
New Revision: 1339287

URL: http://svn.apache.org/viewvc?rev=1339287&view=rev
Log:
CAMEL-5279. Open file in append mode in camel-stream

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/StreamFileTest.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=1339287&r1=1339286&r2=1339287&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 Wed May 16 18:00:11 2012
@@ -95,7 +95,7 @@ public class StreamProducer extends Defa
         File f = new File(fileName);
         // will create a new file if missing or append to existing
         f.createNewFile();
-        return new FileOutputStream(f);
+        return new FileOutputStream(f, true);
     }
 
     private OutputStream resolveStreamFromHeader(Object o, Exchange exchange) throws CamelExchangeException {

Modified: camel/trunk/components/camel-stream/src/test/java/org/apache/camel/component/stream/StreamFileTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-stream/src/test/java/org/apache/camel/component/stream/StreamFileTest.java?rev=1339287&r1=1339286&r2=1339287&view=diff
==============================================================================
--- camel/trunk/components/camel-stream/src/test/java/org/apache/camel/component/stream/StreamFileTest.java (original)
+++ camel/trunk/components/camel-stream/src/test/java/org/apache/camel/component/stream/StreamFileTest.java Wed May 16 18:00:11 2012
@@ -23,6 +23,7 @@ import org.apache.camel.Consumer;
 import org.apache.camel.Endpoint;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
+import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.junit4.CamelTestSupport;
 import org.junit.Before;
@@ -79,4 +80,27 @@ public class StreamFileTest extends Came
         }
     }
 
+    @Test
+    public void testFileProducer() throws Exception {
+        MockEndpoint mock = getMockEndpoint("mock:result");
+        mock.expectedBodiesReceived("Hadrian", "Camel");
+        
+        context.addRoutes(new RouteBuilder() {
+            @Override
+            public void configure() throws Exception {
+                from("direct:start").routeId("produce")
+                    .to("stream:file?fileName=target/stream/StreamFileTest.txt");
+                from("file://target/stream?fileName=StreamFileTest.txt").routeId("consume").autoStartup(false)
+                    .split().tokenize("\n").to("mock:result");
+            }
+        });
+        context.start();
+
+        template.sendBody("direct:start", "Hadrian");
+        template.sendBody("direct:start", "Camel");
+        
+        context.startRoute("consume");
+        assertMockEndpointsSatisfied();
+        context.stop();
+    }
 }
\ No newline at end of file