Author: davsclaus
Date: Fri Sep 23 07:33:32 2011
New Revision: 1174565

URL: http://svn.apache.org/viewvc?rev=1174565&view=rev
Log:
CAMEL-4474: Fixed issue with file consumer not auto creating start dir if 
having dot in name. Thanks to Taariq for the patch.

Modified:
    
camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java
    
camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerAutoCreateDirectoryTest.java

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java?rev=1174565&r1=1174564&r2=1174565&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java
 Fri Sep 23 07:33:32 2011
@@ -49,14 +49,8 @@ public class FileEndpoint extends Generi
         ObjectHelper.notNull(operations, "operations");
         ObjectHelper.notNull(file, "file");
 
-        // we assume its a file if the name has a dot in it (eg foo.txt)
-        boolean isDirectory = file.isDirectory();
-        if (!isDirectory && file.getName().contains(".")) {
-            throw new IllegalArgumentException("Only directory is supported. 
Endpoint must be configured with a valid starting directory: " + file);
-        }
-
         // auto create starting directory if needed
-        if (!file.exists() && !isDirectory) {
+        if (!file.exists() && !file.isDirectory()) {
             if (isAutoCreate()) {
                 log.debug("Creating non existing starting directory: {}", 
file);
                 boolean absolute = FileUtil.isAbsolute(file);

Modified: 
camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerAutoCreateDirectoryTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerAutoCreateDirectoryTest.java?rev=1174565&r1=1174564&r2=1174565&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerAutoCreateDirectoryTest.java
 (original)
+++ 
camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerAutoCreateDirectoryTest.java
 Fri Sep 23 07:33:32 2011
@@ -88,6 +88,25 @@ public class FileConsumerAutoCreateDirec
         assertFalse("Directory should NOT be created", dir.exists());
     }
 
+    public void testAutoCreateDirectoryWithDot() throws Exception {
+        deleteDirectory("target/file/foo.bar");
+
+        Endpoint endpoint = 
context.getEndpoint("file://target/file/foo.bar?autoCreate=true");
+        Consumer consumer = endpoint.createConsumer(new Processor() {
+            public void process(Exchange exchange) throws Exception {
+                // noop
+            }
+        });
+
+        consumer.start();
+        consumer.stop();
+
+        // the directory should exist
+        File dir = new File("target/file/foo.bar").getAbsoluteFile();
+        assertTrue("Directory should be created", dir.exists());
+        assertTrue("Directory should be a directory", dir.isDirectory());
+    }
+
     public void testStartingDirectoryMustExistDirectory() throws Exception {
         deleteDirectory("target/file/foo");
 


Reply via email to