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