Author: davsclaus Date: Mon Nov 8 09:20:56 2010 New Revision: 1032503 URL: http://svn.apache.org/viewvc?rev=1032503&view=rev Log: CAMEL-3309: Fixed sftp producer with change dir stepwise and not stepswise.
Added: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/sftp/SftpSimpleProduceNotStepwiseTest.java - copied, changed from r1032484, camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/sftp/SftpSimpleProduceTest.java Modified: camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpOperations.java camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpOperations.java camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/sftp/SftpSimpleProduceTest.java Modified: camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpOperations.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpOperations.java?rev=1032503&r1=1032502&r2=1032503&view=diff ============================================================================== --- camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpOperations.java (original) +++ camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpOperations.java Mon Nov 8 09:20:56 2010 @@ -520,6 +520,7 @@ public class FtpOperations implements Re // not stepwise should change directory in one operation if (!endpoint.getConfiguration().isStepwise()) { doChangeDirectory(path); + return; } // if it starts with the root path then a little special handling for that Modified: camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpOperations.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpOperations.java?rev=1032503&r1=1032502&r2=1032503&view=diff ============================================================================== --- camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpOperations.java (original) +++ camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpOperations.java Mon Nov 8 09:20:56 2010 @@ -359,6 +359,7 @@ public class SftpOperations implements R // not stepwise should change directory in one operation if (!endpoint.getConfiguration().isStepwise()) { doChangeDirectory(path); + return; } // if it starts with the root path then a little special handling for that Copied: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/sftp/SftpSimpleProduceNotStepwiseTest.java (from r1032484, camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/sftp/SftpSimpleProduceTest.java) URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/sftp/SftpSimpleProduceNotStepwiseTest.java?p2=camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/sftp/SftpSimpleProduceNotStepwiseTest.java&p1=camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/sftp/SftpSimpleProduceTest.java&r1=1032484&r2=1032503&rev=1032503&view=diff ============================================================================== --- camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/sftp/SftpSimpleProduceTest.java (original) +++ camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/sftp/SftpSimpleProduceNotStepwiseTest.java Mon Nov 8 09:20:56 2010 @@ -26,7 +26,7 @@ import org.junit.Test; * @version $Revision$ */ @Ignore("Disabled due CI servers fails on full build running with these tests") -public class SftpSimpleProduceTest extends SftpServerTestSupport { +public class SftpSimpleProduceNotStepwiseTest extends SftpServerTestSupport { @Override public boolean isUseRouteBuilder() { @@ -39,7 +39,7 @@ public class SftpSimpleProduceTest exten return; } - template.sendBodyAndHeader("sftp://localhost:" + getPort() + "/" + FTP_ROOT_DIR + "?username=admin&password=admin", "Hello World", Exchange.FILE_NAME, "hello.txt"); + template.sendBodyAndHeader("sftp://localhost:" + getPort() + "/" + FTP_ROOT_DIR + "?username=admin&password=admin&stepwise=false", "Hello World", Exchange.FILE_NAME, "hello.txt"); File file = new File(FTP_ROOT_DIR + "/hello.txt").getAbsoluteFile(); assertTrue("File should exist: " + file, file.exists()); @@ -52,11 +52,24 @@ public class SftpSimpleProduceTest exten return; } - template.sendBodyAndHeader("sftp://localhost:" + getPort() + "/" + FTP_ROOT_DIR + "/mysub?username=admin&password=admin", "Bye World", Exchange.FILE_NAME, "bye.txt"); + template.sendBodyAndHeader("sftp://localhost:" + getPort() + "/" + FTP_ROOT_DIR + "/mysub?username=admin&password=admin&stepwise=false", "Bye World", Exchange.FILE_NAME, "bye.txt"); File file = new File(FTP_ROOT_DIR + "/mysub/bye.txt").getAbsoluteFile(); assertTrue("File should exist: " + file, file.exists()); assertEquals("Bye World", context.getTypeConverter().convertTo(String.class, file)); } + @Test + public void testSftpSimpleTwoSubPathProduce() throws Exception { + if (!canTest()) { + return; + } + + template.sendBodyAndHeader("sftp://localhost:" + getPort() + "/" + FTP_ROOT_DIR + "/mysub/myother?username=admin&password=admin&stepwise=false", "Farewell World", Exchange.FILE_NAME, "farewell.txt"); + + File file = new File(FTP_ROOT_DIR + "/mysub/myother/farewell.txt").getAbsoluteFile(); + assertTrue("File should exist: " + file, file.exists()); + assertEquals("Farewell World", context.getTypeConverter().convertTo(String.class, file)); + } + } Modified: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/sftp/SftpSimpleProduceTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/sftp/SftpSimpleProduceTest.java?rev=1032503&r1=1032502&r2=1032503&view=diff ============================================================================== --- camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/sftp/SftpSimpleProduceTest.java (original) +++ camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/sftp/SftpSimpleProduceTest.java Mon Nov 8 09:20:56 2010 @@ -59,4 +59,17 @@ public class SftpSimpleProduceTest exten assertEquals("Bye World", context.getTypeConverter().convertTo(String.class, file)); } + @Test + public void testSftpSimpleTwoSubPathProduce() throws Exception { + if (!canTest()) { + return; + } + + template.sendBodyAndHeader("sftp://localhost:" + getPort() + "/" + FTP_ROOT_DIR + "/mysub/myother?username=admin&password=admin", "Farewell World", Exchange.FILE_NAME, "farewell.txt"); + + File file = new File(FTP_ROOT_DIR + "/mysub/myother/farewell.txt").getAbsoluteFile(); + assertTrue("File should exist: " + file, file.exists()); + assertEquals("Farewell World", context.getTypeConverter().convertTo(String.class, file)); + } + }