Author: bvahdat
Date: Fri Apr  5 19:07:32 2013
New Revision: 1465099

URL: http://svn.apache.org/r1465099
Log:
Close the InputStream properly in case the DeleteAfterWrite option is enabled. 
This fixes the failed S3ComponentFileTest on Windows as well.

Modified:
    
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Producer.java
    
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/s3/S3ComponentFileTest.java

Modified: 
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Producer.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Producer.java?rev=1465099&r1=1465098&r2=1465099&view=diff
==============================================================================
--- 
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Producer.java
 (original)
+++ 
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Producer.java
 Fri Apr  5 19:07:32 2013
@@ -33,6 +33,7 @@ import org.apache.camel.InvalidPayloadEx
 import org.apache.camel.Message;
 import org.apache.camel.impl.DefaultProducer;
 import org.apache.camel.util.FileUtil;
+import org.apache.camel.util.IOHelper;
 import org.apache.camel.util.URISupport;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -132,6 +133,7 @@ public class S3Producer extends DefaultP
         }
 
         if (getConfiguration().isDeleteAfterWrite() && filePayload != null) {
+            IOHelper.close(putObjectRequest.getInputStream());
             FileUtil.deleteFile(filePayload);
         }
     }

Modified: 
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/s3/S3ComponentFileTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/s3/S3ComponentFileTest.java?rev=1465099&r1=1465098&r2=1465099&view=diff
==============================================================================
--- 
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/s3/S3ComponentFileTest.java
 (original)
+++ 
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/s3/S3ComponentFileTest.java
 Fri Apr  5 19:07:32 2013
@@ -118,7 +118,12 @@ public class S3ComponentFileTest extends
 
     private void assertResultExchange(Exchange resultExchange) {
         assertIsInstanceOf(InputStream.class, 
resultExchange.getIn().getBody());
-        assertEquals("This is my bucket content.", 
resultExchange.getIn().getBody(String.class));
+
+        if (!"sendFileAndDelete".equals(getTestMethodName())) {
+            // as we delete the file using the "deleteAfterWrite=true" option 
here we can not assert on it's content anymore
+            assertEquals("This is my bucket content.", 
resultExchange.getIn().getBody(String.class));
+        }
+
         assertEquals("mycamelbucket", 
resultExchange.getIn().getHeader(S3Constants.BUCKET_NAME));
         assertEquals("CamelUnitTest", 
resultExchange.getIn().getHeader(S3Constants.KEY));
         assertNull(resultExchange.getIn().getHeader(S3Constants.VERSION_ID)); 
// not enabled on this bucket


Reply via email to