You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2013/02/07 16:15:14 UTC
svn commit: r1443541 - in /camel/trunk:
camel-core/src/main/java/org/apache/camel/component/file/
components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/
components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/
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");
}
};
}