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 2009/02/03 07:12:02 UTC
svn commit: r740223 - in /camel/trunk/components/camel-ftp: ./
src/main/java/org/apache/camel/component/file/remote/
src/test/java/org/apache/camel/component/file/remote/
Author: davsclaus
Date: Tue Feb 3 06:12:01 2009
New Revision: 740223
URL: http://svn.apache.org/viewvc?rev=740223&view=rev
Log:
CAMEL-1307: Upgraded to FTPServer 1.0.0-RC2. Fixed ftp operations and building directories bug.
Modified:
camel/trunk/components/camel-ftp/pom.xml
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/FtpServerTestSupport.java
Modified: camel/trunk/components/camel-ftp/pom.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/pom.xml?rev=740223&r1=740222&r2=740223&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/pom.xml (original)
+++ camel/trunk/components/camel-ftp/pom.xml Tue Feb 3 06:12:01 2009
@@ -91,22 +91,22 @@
<dependency>
<groupId>org.apache.ftpserver</groupId>
<artifactId>ftpserver-core</artifactId>
- <version>1.0.0-M3</version>
+ <version>1.0.0-RC2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.ftpserver</groupId>
<artifactId>ftplet-api</artifactId>
- <version>1.0.0-M3</version>
+ <version>1.0.0-RC2</version>
<scope>test</scope>
</dependency>
- <!-- ftpserver using mina 2.0.0-M2 -->
+ <!-- ftpserver using mina 2.0.0-M4 -->
<dependency>
<groupId>org.apache.mina</groupId>
<artifactId>mina-core</artifactId>
- <version>2.0.0-M2</version>
+ <version>2.0.0-M4</version>
<scope>test</scope>
</dependency>
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=740223&r1=740222&r2=740223&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 Tue Feb 3 06:12:01 2009
@@ -150,12 +150,14 @@
success = client.makeDirectory(directory);
if (!success) {
// we are here if the server side doesn't create intermediate folders so create the folder one by one
- buildDirectoryChunks(directory);
+ success = buildDirectoryChunks(directory);
}
}
} finally {
// change back to original directory
- client.changeWorkingDirectory(originalDirectory);
+ if (originalDirectory != null) {
+ client.changeWorkingDirectory(originalDirectory);
+ }
}
return success;
@@ -227,11 +229,15 @@
for (String dir : dirs) {
sb.append(dir).append('/');
String directory = sb.toString();
- if (LOG.isTraceEnabled()) {
- LOG.trace("Trying to build remote directory: " + directory);
- }
- success = client.makeDirectory(directory);
+ // do not try to build root / folder
+ if (!directory.equals("/")) {
+ if (LOG.isTraceEnabled()) {
+ LOG.trace("Trying to build remote directory by chunk: " + directory);
+ }
+
+ success = client.makeDirectory(directory);
+ }
}
return success;
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=740223&r1=740222&r2=740223&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 Tue Feb 3 06:12:01 2009
@@ -216,14 +216,17 @@
sb.append(dir).append('/');
String directory = sb.toString();
if (LOG.isTraceEnabled()) {
- LOG.trace("Trying to build remote directory: " + directory);
+ LOG.trace("Trying to build remote directory by chunk: " + directory);
}
- try {
- channel.mkdir(directory);
- success = true;
- } catch (SftpException e) {
- // ignore keep trying to create the rest of the path
+ // do not try to build root / folder
+ if (!directory.equals("/")) {
+ try {
+ channel.mkdir(directory);
+ success = true;
+ } catch (SftpException e) {
+ // ignore keep trying to create the rest of the path
+ }
}
}
Modified: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpServerTestSupport.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpServerTestSupport.java?rev=740223&r1=740222&r2=740223&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpServerTestSupport.java (original)
+++ camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpServerTestSupport.java Tue Feb 3 06:12:01 2009
@@ -23,8 +23,12 @@
import org.apache.camel.ContextTestSupport;
import org.apache.camel.converter.IOConverter;
import org.apache.ftpserver.FtpServer;
+import org.apache.ftpserver.FtpServerFactory;
+import org.apache.ftpserver.filesystem.nativefs.NativeFileSystemFactory;
+import org.apache.ftpserver.ftplet.UserManager;
+import org.apache.ftpserver.listener.ListenerFactory;
import org.apache.ftpserver.usermanager.ClearTextPasswordEncryptor;
-import org.apache.ftpserver.usermanager.PropertiesUserManager;
+import org.apache.ftpserver.usermanager.impl.PropertiesUserManager;
/**
* Base class for unit testing using a FTPServer
@@ -56,20 +60,26 @@
}
protected void initFtpServer() throws Exception {
- ftpServer = new FtpServer();
-
- // setup user management to read our users.properties and use clear text passwords
- PropertiesUserManager uman = new PropertiesUserManager();
- uman.setFile(new File("./src/test/resources/users.properties").getAbsoluteFile());
- uman.setPasswordEncryptor(new ClearTextPasswordEncryptor());
- uman.setAdminName("admin");
- uman.configure();
- ftpServer.setUserManager(uman);
-
if (port < 21000) {
throw new IllegalArgumentException("Port number is not initialized in an expected range: " + getPort());
}
- ftpServer.getListener("default").setPort(port);
+
+ FtpServerFactory serverFactory = new FtpServerFactory();
+
+ // setup user management to read our users.properties and use clear text passwords
+ File file = new File("./src/test/resources/users.properties").getAbsoluteFile();
+ UserManager uman = new PropertiesUserManager(new ClearTextPasswordEncryptor(), file, "admin");
+ serverFactory.setUserManager(uman);
+
+ NativeFileSystemFactory fsf = new NativeFileSystemFactory();
+ fsf.setCreateHome(true);
+ serverFactory.setFileSystem(fsf);
+
+ ListenerFactory factory = new ListenerFactory();
+ factory.setPort(port);
+ serverFactory.addListener("default", factory.createListener());
+
+ ftpServer = serverFactory.createServer();
}
protected void initPort() throws Exception {