Author: davsclaus
Date: Wed Jul 30 23:03:09 2008
New Revision: 681279

URL: http://svn.apache.org/viewvc?rev=681279&view=rev
Log:
CAMEL-767: The file consumer part - still needs the ftp consumers also.

Added:
    
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerSkipDotFilesTest.java
   (with props)
Modified:
    
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileConsumer.java
    
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java
    
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileAsyncRouteTest.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=681279&r1=681278&r2=681279&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
 Wed Jul 30 23:03:09 2008
@@ -294,11 +294,18 @@
 
     protected boolean isMatched(File file) {
         String name = file.getName();
+
+        // folders/names starting with dot is always skipped (eg. ".", 
".camel", ".camelLock")
+        if (name.startsWith(".")) {
+            return false;
+        }
+
         if (regexPattern != null && regexPattern.length() > 0) {
-            if (!name.matches(getRegexPattern())) {
+            if (!name.matches(regexPattern)) {
                 return false;
             }
         }
+
         String[] prefixes = endpoint.getExcludedNamePrefixes();
         if (prefixes != null) {
             for (String prefix : prefixes) {
@@ -315,6 +322,7 @@
                 }
             }
         }
+
         return true;
     }
 

Modified: 
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java
URL: 
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java?rev=681279&r1=681278&r2=681279&view=diff
==============================================================================
--- 
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java
 (original)
+++ 
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java
 Wed Jul 30 23:03:09 2008
@@ -54,8 +54,8 @@
     private boolean append = true;
     private String moveNamePrefix;
     private String moveNamePostfix;
-    private String[] excludedNamePrefixes = {"."};
-    private String[] excludedNamePostfixes = 
{FileProcessStrategySupport.DEFAULT_LOCK_FILE_POSTFIX};
+    private String[] excludedNamePrefixes;
+    private String[] excludedNamePostfixes;
     private int bufferSize = 128 * 1024;
     private boolean ignoreFileNameHeader;
 

Modified: 
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileAsyncRouteTest.java
URL: 
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileAsyncRouteTest.java?rev=681279&r1=681278&r2=681279&view=diff
==============================================================================
--- 
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileAsyncRouteTest.java
 (original)
+++ 
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileAsyncRouteTest.java
 Wed Jul 30 23:03:09 2008
@@ -32,7 +32,7 @@
  */
 public class FileAsyncRouteTest extends ContextTestSupport {
     protected Object expectedBody = "Hello there!";
-    protected String uri = "file:target/test-async-inbox?delete=true";
+    protected String uri = 
"file:target/test-async-inbox?delete=true&consumer.delay=10000";
 
     CountDownLatch receivedLatch = new CountDownLatch(1);
     CountDownLatch processingLatch = new CountDownLatch(1);

Added: 
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/FileConsumerSkipDotFilesTest.java?rev=681279&view=auto
==============================================================================
--- 
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerSkipDotFilesTest.java
 (added)
+++ 
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerSkipDotFilesTest.java
 Wed Jul 30 23:03:09 2008
@@ -0,0 +1,53 @@
+package org.apache.camel.component.file;
+
+import org.apache.camel.ContextTestSupport;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.mock.MockEndpoint;
+
+/**
+ * Unit test that file consumer will skip any files starting with a dot
+ */
+public class FileConsumerSkipDotFilesTest extends ContextTestSupport {
+
+    private String fileUrl = "file://target/dotfiles/";
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        deleteDirectory("target/dotfiles");
+    }
+
+    public void testSkipDotFiles() throws Exception {
+        MockEndpoint mock = getMockEndpoint("mock:result");
+        mock.expectedMessageCount(0);
+
+        template.sendBodyAndHeader("file:target/dotfiles/", "This is a dot 
file",
+            FileComponent.HEADER_FILE_NAME, ".skipme");
+
+        mock.setResultWaitTime(5000);
+        mock.assertIsSatisfied();
+    }
+
+    public void testSkipDotFilesWithARegularFile() throws Exception {
+        MockEndpoint mock = getMockEndpoint("mock:result");
+        mock.expectedMessageCount(1);
+        mock.expectedBodiesReceived("Hello World");
+
+        template.sendBodyAndHeader("file:target/dotfiles/", "This is a dot 
file",
+            FileComponent.HEADER_FILE_NAME, ".skipme");
+
+        template.sendBodyAndHeader("file:target/dotfiles/", "Hello World",
+            FileComponent.HEADER_FILE_NAME, "hello.txt");
+
+        mock.assertIsSatisfied();
+    }
+
+    protected RouteBuilder createRouteBuilder() throws Exception {
+        return new RouteBuilder() {
+            public void configure() throws Exception {
+                from(fileUrl).to("mock:result");
+            }
+        };
+    }
+
+}

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

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


Reply via email to