You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ec...@apache.org on 2014/05/01 23:53:45 UTC
svn commit: r1591789 - in /commons/proper/vfs/trunk:
core/src/main/java/org/apache/commons/vfs2/provider/ftp/FtpClientFactory.java
core/src/main/java/org/apache/commons/vfs2/provider/ftp/FtpFileSystemConfigBuilder.java
src/changes/changes.xml
Author: ecki
Date: Thu May 1 21:53:45 2014
New Revision: 1591789
URL: http://svn.apache.org/r1591789
Log:
[VFS-167][FTP] Add proxy support.
Modified:
commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs2/provider/ftp/FtpClientFactory.java
commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs2/provider/ftp/FtpFileSystemConfigBuilder.java
commons/proper/vfs/trunk/src/changes/changes.xml
Modified: commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs2/provider/ftp/FtpClientFactory.java
URL: http://svn.apache.org/viewvc/commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs2/provider/ftp/FtpClientFactory.java?rev=1591789&r1=1591788&r2=1591789&view=diff
==============================================================================
--- commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs2/provider/ftp/FtpClientFactory.java (original)
+++ commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs2/provider/ftp/FtpClientFactory.java Thu May 1 21:53:45 2014
@@ -20,6 +20,7 @@ import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.io.Writer;
+import java.net.Proxy;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -151,6 +152,12 @@ public final class FtpClientFactory
client.setControlEncoding(controlEncoding);
}
+ final Proxy proxy = builder.getProxy(fileSystemOptions);
+ if (proxy != null)
+ {
+ client.setProxy(proxy);
+ }
+
client.connect(hostname, port);
final int reply = client.getReplyCode();
Modified: commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs2/provider/ftp/FtpFileSystemConfigBuilder.java
URL: http://svn.apache.org/viewvc/commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs2/provider/ftp/FtpFileSystemConfigBuilder.java?rev=1591789&r1=1591788&r2=1591789&view=diff
==============================================================================
--- commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs2/provider/ftp/FtpFileSystemConfigBuilder.java (original)
+++ commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs2/provider/ftp/FtpFileSystemConfigBuilder.java Thu May 1 21:53:45 2014
@@ -16,6 +16,8 @@
*/
package org.apache.commons.vfs2.provider.ftp;
+import java.net.Proxy;
+
import org.apache.commons.net.ftp.parser.FTPFileEntryParserFactory;
import org.apache.commons.vfs2.FileSystem;
import org.apache.commons.vfs2.FileSystemConfigBuilder;
@@ -37,7 +39,7 @@ public class FtpFileSystemConfigBuilder
private static final String FACTORY_KEY = FTPFileEntryParserFactory.class.getName() + ".KEY";
private static final String FILE_TYPE = _PREFIX + ".FILE_TYPE";
private static final String PASSIVE_MODE = _PREFIX + ".PASSIVE";
-
+ private static final String PROXY = _PREFIX + ".PROXY";
private static final String RECENT_DATE_FORMAT = _PREFIX + ".RECENT_DATE_FORMAT";
private static final String SERVER_LANGUAGE_CODE = _PREFIX + ".SERVER_LANGUAGE_CODE";
private static final String SERVER_TIME_ZONE_ID = _PREFIX + ".SERVER_TIME_ZONE_ID";
@@ -158,6 +160,18 @@ public class FtpFileSystemConfigBuilder
}
/**
+ * Gets the Proxy.
+ *
+ * @param opts The FileSystemOptions.
+ * @return the Proxy
+ * @since 2.1
+ */
+ public Proxy getProxy(final FileSystemOptions opts)
+ {
+ return (Proxy) this.getParam(opts, PROXY);
+ }
+
+ /**
* See {@link org.apache.commons.net.ftp.FTPClientConfig} for details and examples.
*
* @param opts The FileSystemOptions.
@@ -330,6 +344,18 @@ public class FtpFileSystemConfigBuilder
}
/**
+ * Sets the Proxy.
+ *
+ * @param opts the FileSystem options.
+ * @param proxy the Proxy
+ * @since 2.1
+ */
+ public void setProxy(final FileSystemOptions opts, Proxy proxy)
+ {
+ setParam(opts, PROXY, proxy);
+ }
+
+ /**
* See {@link org.apache.commons.net.ftp.FTPClientConfig} for details and examples.
*
* @param opts The FileSystemOptions.
Modified: commons/proper/vfs/trunk/src/changes/changes.xml
URL: http://svn.apache.org/viewvc/commons/proper/vfs/trunk/src/changes/changes.xml?rev=1591789&r1=1591788&r2=1591789&view=diff
==============================================================================
--- commons/proper/vfs/trunk/src/changes/changes.xml (original)
+++ commons/proper/vfs/trunk/src/changes/changes.xml Thu May 1 21:53:45 2014
@@ -26,6 +26,9 @@
<!-- <action issue="VFS-443" dev="ggregory" type="update" due-to="nickallen"> -->
<!-- [Local] Need an easy way to convert from a FileObject to a File. -->
<!-- </action> -->
+ <action issue="VFS-167" dev="ecki" type="update" due-to="Jimmy Praet">
+ [FTP] Allow Proxy support to file system options.
+ </action>
<action issue="VFS-520" dev="ecki" type="update">
Make JavaDoc compatible with Java 8 tool.
</action>