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");