Author: davsclaus
Date: Thu Feb  7 15:15:14 2013
New Revision: 1443541

URL: http://svn.apache.org/viewvc?rev=1443541&view=rev
Log:
CAMEL-6046: Fixed ftp consumer noop=true and idempotent=false not working.

Added:
    
camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpNoopIdempotentFalseTest.java
      - copied, changed from r1443508, 
camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpNoopTest.java
Modified:
    
camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java
    
camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java?rev=1443541&r1=1443540&r2=1443541&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java
 Thu Feb  7 15:15:14 2013
@@ -416,7 +416,7 @@ public abstract class GenericFileEndpoin
         this.charset = charset;
     }
 
-    boolean isIdempotentSet() {
+    protected boolean isIdempotentSet() {
         return idempotent != null;
     }
 

Modified: 
camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java?rev=1443541&r1=1443540&r2=1443541&view=diff
==============================================================================
--- 
camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java
 (original)
+++ 
camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java
 Thu Feb  7 15:15:14 2013
@@ -90,14 +90,15 @@ public abstract class RemoteFileEndpoint
         if (isDelete() && getMove() != null) {
             throw new IllegalArgumentException("You cannot both set 
delete=true and move options");
         }
+
         // if noop=true then idempotent should also be configured
-        if (isNoop() && !isIdempotent()) {
+        if (isNoop() && !isIdempotentSet()) {
             log.info("Endpoint is configured with noop=true so forcing 
endpoint to be idempotent as well");
             setIdempotent(true);
         }
 
         // if idempotent and no repository set then create a default one
-        if (isIdempotent() && idempotentRepository == null) {
+        if (isIdempotentSet() && isIdempotent() && idempotentRepository == 
null) {
             log.info("Using default memory based idempotent repository with 
cache max size: " + DEFAULT_IDEMPOTENT_CACHE_SIZE);
             idempotentRepository = 
MemoryIdempotentRepository.memoryIdempotentRepository(DEFAULT_IDEMPOTENT_CACHE_SIZE);
         }

Copied: 
camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpNoopIdempotentFalseTest.java
 (from r1443508, 
camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpNoopTest.java)
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpNoopIdempotentFalseTest.java?p2=camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpNoopIdempotentFalseTest.java&p1=camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpNoopTest.java&r1=1443508&r2=1443541&rev=1443541&view=diff
==============================================================================
--- 
camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpNoopTest.java
 (original)
+++ 
camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpNoopIdempotentFalseTest.java
 Thu Feb  7 15:15:14 2013
@@ -27,12 +27,12 @@ import org.junit.Before;
 import org.junit.Test;
 
 /**
- * Unit test to test noop option.
+ * Unit test to test noop and idempotent option.
  */
-public class FromFtpNoopTest extends FtpServerTestSupport {
+public class FromFtpNoopIdempotentFalseTest extends FtpServerTestSupport {
 
     private String getFtpUrl() {
-        return "ftp://admin@localhost:"; + getPort() + 
"/noop?password=admin&binary=false&noop=true";
+        return "ftp://admin@localhost:"; + getPort() + 
"/noop?password=admin&binary=false&noop=true&idempotent=false";
     }
 
     @Override
@@ -45,8 +45,8 @@ public class FromFtpNoopTest extends Ftp
     @Test
     public void testNoop() throws Exception {
         MockEndpoint mock = getMockEndpoint("mock:result");
-        // we should not be able to poll the file more than once since its 
noop and idempotent
-        mock.expectedMessageCount(1);
+        // we should be able to poll the same file multiple times
+        mock.expectedMinimumMessageCount(2);
 
         mock.assertIsSatisfied();
 
@@ -71,7 +71,7 @@ public class FromFtpNoopTest extends Ftp
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
-                from(getFtpUrl()).to("mock:result");
+                from(getFtpUrl()).to("log:result", "mock:result");
             }
         };
     }


Reply via email to