diff options
author | slewis | 2009-10-26 19:18:35 +0000 |
---|---|---|
committer | slewis | 2009-10-26 19:18:35 +0000 |
commit | 31b3e05e9db8de54af1d5c4343a1ae8a04e7007c (patch) | |
tree | 97c239f5629e5b860e47d6d3917411ed5a280933 | |
parent | e66a6d6a28789bdc43daa4e3d894875573faf277 (diff) | |
download | org.eclipse.ecf-I-HEAD-platform_feature-6-2009_10_26.tar.gz org.eclipse.ecf-I-HEAD-platform_feature-6-2009_10_26.tar.xz org.eclipse.ecf-I-HEAD-platform_feature-6-2009_10_26.zip |
Added system properties for setting default connection and read timeouts. See bug 292995I-HEAD-platform_feature-6-2009_10_26
3 files changed, 60 insertions, 9 deletions
diff --git a/providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient/src/org/eclipse/ecf/provider/filetransfer/httpclient/HttpClientFileSystemBrowser.java b/providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient/src/org/eclipse/ecf/provider/filetransfer/httpclient/HttpClientFileSystemBrowser.java index 8de27a741..36880c0d5 100644 --- a/providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient/src/org/eclipse/ecf/provider/filetransfer/httpclient/HttpClientFileSystemBrowser.java +++ b/providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient/src/org/eclipse/ecf/provider/filetransfer/httpclient/HttpClientFileSystemBrowser.java @@ -62,7 +62,7 @@ public class HttpClientFileSystemBrowser extends AbstractFileSystemBrowser { // changing to 2 minutes (120000) as per bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=266246 // 10/26/2009: Added being able to set with system property with name org.eclipse.ecf.provider.filetransfer.httpclient.browse.connectTimeout // for https://bugs.eclipse.org/bugs/show_bug.cgi?id=292995 - protected static final int DEFAULT_CONNECTION_TIMEOUT = new Integer(System.getProperty("org.eclipse.ecf.provider.filetransfer.httpclient.browse.connectTimeout", "120000")).intValue(); //$NON-NLS-1$ //$NON-NLS-2$; + protected static final int DEFAULT_CONNECTION_TIMEOUT = HttpClientOptions.BROWSE_DEFAULT_CONNECTION_TIMEOUT; private static final String USERNAME_PREFIX = "Username:"; //$NON-NLS-1$ diff --git a/providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient/src/org/eclipse/ecf/provider/filetransfer/httpclient/HttpClientOptions.java b/providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient/src/org/eclipse/ecf/provider/filetransfer/httpclient/HttpClientOptions.java index 6a030df13..59d78ef0c 100644 --- a/providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient/src/org/eclipse/ecf/provider/filetransfer/httpclient/HttpClientOptions.java +++ b/providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient/src/org/eclipse/ecf/provider/filetransfer/httpclient/HttpClientOptions.java @@ -17,4 +17,19 @@ public interface HttpClientOptions { // The property key is: org.eclipse.ecf.provider.filetransfer.httpclient.options.ForceNTLMProxy // The value of the property must be non-null, but is not otherwise used. public String FORCE_NTLM_PROP = "org.eclipse.ecf.provider.filetransfer.httpclient.options.ForceNTLMProxy"; //$NON-NLS-1$ + + // changing to 2 minutes (120000) as per bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=266246 + // 10/26/2009: Added being able to set with system property with name org.eclipse.ecf.provider.filetransfer.httpclient.retrieve.connectTimeout + // for https://bugs.eclipse.org/bugs/show_bug.cgi?id=292995 + public static final int RETRIEVE_DEFAULT_CONNECTION_TIMEOUT = new Integer(System.getProperty("org.eclipse.ecf.provider.filetransfer.httpclient.retrieve.connectTimeout", "120000")).intValue(); //$NON-NLS-1$ //$NON-NLS-2$ + // changing to 2 minutes (120000) as per bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=266246 + // 10/26/2009: Added being able to set with system property with name org.eclipse.ecf.provider.filetransfer.httpclient.retrieve.readTimeout + // for https://bugs.eclipse.org/bugs/show_bug.cgi?id=292995 + public static final int RETRIEVE_DEFAULT_READ_TIMEOUT = new Integer(System.getProperty("org.eclipse.ecf.provider.filetransfer.httpclient.retrieve.readTimeout", "120000")).intValue(); //$NON-NLS-1$ //$NON-NLS-2$ + + // changing to 2 minutes (120000) as per bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=266246 + // 10/26/2009: Added being able to set with system property with name org.eclipse.ecf.provider.filetransfer.httpclient.browse.connectTimeout + // for https://bugs.eclipse.org/bugs/show_bug.cgi?id=292995 + public static final int BROWSE_DEFAULT_CONNECTION_TIMEOUT = new Integer(System.getProperty("org.eclipse.ecf.provider.filetransfer.httpclient.browse.connectTimeout", "120000")).intValue(); //$NON-NLS-1$ //$NON-NLS-2$; + } diff --git a/providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient/src/org/eclipse/ecf/provider/filetransfer/httpclient/HttpClientRetrieveFileTransfer.java b/providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient/src/org/eclipse/ecf/provider/filetransfer/httpclient/HttpClientRetrieveFileTransfer.java index 8270e9c87..64e681fca 100644 --- a/providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient/src/org/eclipse/ecf/provider/filetransfer/httpclient/HttpClientRetrieveFileTransfer.java +++ b/providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient/src/org/eclipse/ecf/provider/filetransfer/httpclient/HttpClientRetrieveFileTransfer.java @@ -266,11 +266,11 @@ public class HttpClientRetrieveFileTransfer extends AbstractRetrieveFileTransfer // changing to 2 minutes (120000) as per bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=266246 // 10/26/2009: Added being able to set with system property with name org.eclipse.ecf.provider.filetransfer.httpclient.retrieve.connectTimeout // for https://bugs.eclipse.org/bugs/show_bug.cgi?id=292995 - protected static final int DEFAULT_CONNECTION_TIMEOUT = new Integer(System.getProperty("org.eclipse.ecf.provider.filetransfer.httpclient.retrieve.connectTimeout", "120000")).intValue(); //$NON-NLS-1$ //$NON-NLS-2$ + protected static final int DEFAULT_CONNECTION_TIMEOUT = HttpClientOptions.RETRIEVE_DEFAULT_CONNECTION_TIMEOUT; // changing to 2 minutes (120000) as per bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=266246 // 10/26/2009: Added being able to set with system property with name org.eclipse.ecf.provider.filetransfer.httpclient.retrieve.readTimeout // for https://bugs.eclipse.org/bugs/show_bug.cgi?id=292995 - protected static final int DEFAULT_READ_TIMEOUT = new Integer(System.getProperty("org.eclipse.ecf.provider.filetransfer.httpclient.retrieve.readTimeout", "120000")).intValue(); //$NON-NLS-1$ //$NON-NLS-2$ + protected static final int DEFAULT_READ_TIMEOUT = HttpClientOptions.RETRIEVE_DEFAULT_READ_TIMEOUT; protected static final int HTTP_PORT = 80; @@ -563,6 +563,40 @@ public class HttpClientRetrieveFileTransfer extends AbstractRetrieveFileTransfer return (System.getProperties().getProperty(HttpClientOptions.FORCE_NTLM_PROP) != null); } + protected int getSocketReadTimeout() { + int result = DEFAULT_READ_TIMEOUT; + Map localOptions = getOptions(); + if (localOptions != null) { + // See if the property is present, if so set + Object o = localOptions.get("org.eclipse.ecf.provider.filetransfer.httpclient.retrieve.readTimeout"); //$NON-NLS-1$ + if (o != null) { + if (o instanceof Integer) { + result = ((Integer) o).intValue(); + } else if (o instanceof String) { + result = new Integer(((String) o)).intValue(); + } + } + } + return result; + } + + protected int getConnectTimeout() { + int result = DEFAULT_CONNECTION_TIMEOUT; + Map localOptions = getOptions(); + if (localOptions != null) { + // See if the property is present, if so set + Object o = localOptions.get("org.eclipse.ecf.provider.filetransfer.httpclient.retrieve.connectTimeout"); //$NON-NLS-1$ + if (o != null) { + if (o instanceof Integer) { + result = ((Integer) o).intValue(); + } else if (o instanceof String) { + result = new Integer(((String) o)).intValue(); + } + } + } + return result; + } + /* (non-Javadoc) * @see org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetrieveFileTransfer#openStreams() */ @@ -575,9 +609,10 @@ public class HttpClientRetrieveFileTransfer extends AbstractRetrieveFileTransfer int code = -1; try { - httpClient.getHttpConnectionManager().getParams().setSoTimeout(DEFAULT_READ_TIMEOUT); - httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(DEFAULT_CONNECTION_TIMEOUT); - httpClient.getParams().setConnectionManagerTimeout(DEFAULT_CONNECTION_TIMEOUT); + httpClient.getHttpConnectionManager().getParams().setSoTimeout(getSocketReadTimeout()); + int connectTimeout = getConnectTimeout(); + httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(connectTimeout); + httpClient.getParams().setConnectionManagerTimeout(connectTimeout); setupAuthentication(urlString); @@ -800,9 +835,10 @@ public class HttpClientRetrieveFileTransfer extends AbstractRetrieveFileTransfer int code = -1; try { - httpClient.getHttpConnectionManager().getParams().setSoTimeout(DEFAULT_READ_TIMEOUT); - httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(DEFAULT_CONNECTION_TIMEOUT); - httpClient.getParams().setConnectionManagerTimeout(DEFAULT_CONNECTION_TIMEOUT); + httpClient.getHttpConnectionManager().getParams().setSoTimeout(getSocketReadTimeout()); + int connectTimeout = getConnectTimeout(); + httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(connectTimeout); + httpClient.getParams().setConnectionManagerTimeout(connectTimeout); CredentialsProvider credProvider = new ECFCredentialsProvider(); setupAuthentication(urlString); |