Author: davsclaus
Date: Fri Sep 19 11:53:02 2008
New Revision: 697185

URL: http://svn.apache.org/viewvc?rev=697185&view=rev
Log:
CAMEL-920: File and FTP consumer only performs file name matching on files and 
NOT directories

Added:
    
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerDirectoryNotMatchedTest.java
   (contents, props changed)
      - copied, changed from r697142, 
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerSkipDotFilesTest.java
    
activemq/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerDirectoriesNotMatchedTest.java
   (contents, props changed)
      - copied, changed from r697142, 
activemq/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerSkipDotFilesTest.java
Modified:
    
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileConsumer.java

Modified: 
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileConsumer.java
URL: 
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileConsumer.java?rev=697185&r1=697184&r2=697185&view=diff
==============================================================================
--- 
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileConsumer.java
 (original)
+++ 
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileConsumer.java
 Fri Sep 19 11:53:02 2008
@@ -332,6 +332,11 @@
             return false;
         }
 
+        // directories so far is always regarded as matched (matching on the 
name is only for files)
+        if (file.isDirectory()) {
+            return true;
+        }
+
         if (regexPattern != null && regexPattern.length() > 0) {
             if (!name.matches(regexPattern)) {
                 return false;

Copied: 
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerDirectoryNotMatchedTest.java
 (from r697142, 
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerSkipDotFilesTest.java)
URL: 
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerDirectoryNotMatchedTest.java?p2=activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerDirectoryNotMatchedTest.java&p1=activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerSkipDotFilesTest.java&r1=697142&r2=697185&rev=697185&view=diff
==============================================================================
--- 
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerSkipDotFilesTest.java
 (original)
+++ 
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerDirectoryNotMatchedTest.java
 Fri Sep 19 11:53:02 2008
@@ -21,39 +21,33 @@
 import org.apache.camel.component.mock.MockEndpoint;
 
 /**
- * Unit test that file consumer will skip any files starting with a dot
+ * Unit test that file consumer will not match directories (CAMEL-920)
  */
-public class FileConsumerSkipDotFilesTest extends ContextTestSupport {
+public class FileConsumerDirectoryNotMatchedTest extends ContextTestSupport {
 
-    private String fileUrl = "file://target/dotfiles/";
+    private String fileUrl = 
"file://target/dirnotmatched/?consumer.recursive=true&consumer.regexPattern=.*\\.txt$";
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        deleteDirectory("target/dotfiles");
-    }
-
-    public void testSkipDotFiles() throws Exception {
-        MockEndpoint mock = getMockEndpoint("mock:result");
-        mock.expectedMessageCount(0);
+        deleteDirectory("target/dirnotmatched");
 
-        template.sendBodyAndHeader("file:target/dotfiles/", "This is a dot 
file",
+        template.sendBodyAndHeader("file:target/dirnotmatched/", "This is a 
dot file",
             FileComponent.HEADER_FILE_NAME, ".skipme");
 
-        mock.setResultWaitTime(5000);
-        mock.assertIsSatisfied();
-    }
+        template.sendBodyAndHeader("file:target/dirnotmatched/", "This is a 
web file",
+            FileComponent.HEADER_FILE_NAME, "index.html");
 
-    public void testSkipDotFilesWithARegularFile() throws Exception {
-        MockEndpoint mock = getMockEndpoint("mock:result");
-        mock.expectedMessageCount(1);
-        mock.expectedBodiesReceived("Hello World");
+        template.sendBodyAndHeader("file:target/dirnotmatched/2007", "2007 
report",
+            FileComponent.HEADER_FILE_NAME, "report2007.txt");
 
-        template.sendBodyAndHeader("file:target/dotfiles/", "This is a dot 
file",
-            FileComponent.HEADER_FILE_NAME, ".skipme");
+        template.sendBodyAndHeader("file:target/dirnotmatched/2008", "2008 
report",
+            FileComponent.HEADER_FILE_NAME, "report2008.txt");
+    }
 
-        template.sendBodyAndHeader("file:target/dotfiles/", "Hello World",
-            FileComponent.HEADER_FILE_NAME, "hello.txt");
+    public void testSkipDirectories() throws Exception {
+        MockEndpoint mock = getMockEndpoint("mock:result");
+        mock.expectedMessageCount(2);
 
         mock.assertIsSatisfied();
     }

Propchange: 
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerDirectoryNotMatchedTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerDirectoryNotMatchedTest.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: 
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerDirectoryNotMatchedTest.java
------------------------------------------------------------------------------
    svn:mergeinfo = 

Copied: 
activemq/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerDirectoriesNotMatchedTest.java
 (from r697142, 
activemq/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerSkipDotFilesTest.java)
URL: 
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerDirectoriesNotMatchedTest.java?p2=activemq/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerDirectoriesNotMatchedTest.java&p1=activemq/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerSkipDotFilesTest.java&r1=697142&r2=697185&rev=697185&view=diff
==============================================================================
--- 
activemq/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerSkipDotFilesTest.java
 (original)
+++ 
activemq/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerDirectoriesNotMatchedTest.java
 Fri Sep 19 11:53:02 2008
@@ -21,18 +21,18 @@
 import org.apache.camel.component.mock.MockEndpoint;
 
 /**
- * Unit test that ftp consumer will skip any files starting with a dot
+ * Unit test that ftp consumer will not match directories (CAMEL-920)
  */
-public class FtpConsumerSkipDotFilesTest extends FtpServerTestSupport {
+public class FtpConsumerDirectoriesNotMatchedTest extends FtpServerTestSupport 
{
 
-    private int port = 20096;
+    private int port = 20055;
 
-    private String ftpUrl = "ftp://[EMAIL PROTECTED]:" + port + 
"/dotfiles?password=admin";
+    private String ftpUrl = "ftp://[EMAIL PROTECTED]:" + port + 
"/dirnotmatched/?password=admin" +
+            "&consumer.recursive=true&consumer.regexPattern=.*txt$";
 
-    public void testSkipDotFiles() throws Exception {
+    public void testSkipDirectories() throws Exception {
         MockEndpoint mock = getMockEndpoint("mock:result");
-        mock.expectedMessageCount(2);
-        mock.expectedBodiesReceived("Reports", "Reports");
+        mock.expectedMessageCount(3);
         mock.assertIsSatisfied();
     }
 
@@ -49,11 +49,17 @@
     private void prepareFtpServer() throws Exception {
         // prepares the FTP Server by creating files on the server that we 
want to unit
         // test that we can pool and store as a local file
-        String ftpUrl = "ftp://[EMAIL PROTECTED]:" + port + 
"/dotfiles/?password=admin";
-        template.sendBodyAndHeader(ftpUrl, "Hello World", 
FileComponent.HEADER_FILE_NAME, ".skipme");
-        template.sendBodyAndHeader(ftpUrl, "Reports", 
FileComponent.HEADER_FILE_NAME, "report1.txt");
-        template.sendBodyAndHeader(ftpUrl, "Bye World", 
FileComponent.HEADER_FILE_NAME, ".camel");
-        template.sendBodyAndHeader(ftpUrl, "Reports", 
FileComponent.HEADER_FILE_NAME, "report2.txt");
+        String ftpUrl = "ftp://[EMAIL PROTECTED]:" + port + "/dirnotmatched";
+        template.sendBodyAndHeader(ftpUrl + "/?password=admin", "This is a dot 
file",
+                FileComponent.HEADER_FILE_NAME, ".skipme");
+        template.sendBodyAndHeader(ftpUrl + "/?password=admin", "This is a web 
file",
+                FileComponent.HEADER_FILE_NAME, "index.html");
+        template.sendBodyAndHeader(ftpUrl + "/?password=admin", "This is a 
readme file",
+                FileComponent.HEADER_FILE_NAME, "readme.txt");
+        template.sendBodyAndHeader(ftpUrl + "/2007/?password=admin", "2007 
report",
+                FileComponent.HEADER_FILE_NAME, "report2007.txt");
+        template.sendBodyAndHeader(ftpUrl + "/2008/?password=admin", "2008 
report",
+                FileComponent.HEADER_FILE_NAME, "report2008.txt");
     }
 
     protected RouteBuilder createRouteBuilder() throws Exception {
@@ -64,4 +70,4 @@
         };
     }
 
-}
+}
\ No newline at end of file

Propchange: 
activemq/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerDirectoriesNotMatchedTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
activemq/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerDirectoriesNotMatchedTest.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: 
activemq/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerDirectoriesNotMatchedTest.java
------------------------------------------------------------------------------
    svn:mergeinfo = 


Reply via email to