Changed prefs and organized imports to eliminate * imports
diff --git a/providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient/.settings/org.eclipse.jdt.ui.prefs b/providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..5584a82
--- /dev/null
+++ b/providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,57 @@
+#Fri Mar 27 09:22:14 PDT 2009
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_core
+formatter_settings_version=11
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=;
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.make_local_variable_final=false
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=false
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_trailing_whitespaces=false
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=false
+sp_cleanup.remove_unused_imports=false
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_blocks=false
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
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 8a400b8..c079a80 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
@@ -8,21 +8,46 @@
  ******************************************************************************/
 package org.eclipse.ecf.provider.filetransfer.httpclient;
 
-import java.io.*;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
 import java.net.HttpURLConnection;
 import java.net.URL;
 import javax.security.auth.login.LoginException;
-import org.apache.commons.httpclient.*;
-import org.apache.commons.httpclient.auth.*;
+import org.apache.commons.httpclient.Credentials;
+import org.apache.commons.httpclient.Header;
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.HttpConnection;
+import org.apache.commons.httpclient.HttpException;
+import org.apache.commons.httpclient.HttpState;
+import org.apache.commons.httpclient.HttpVersion;
+import org.apache.commons.httpclient.NTCredentials;
+import org.apache.commons.httpclient.UsernamePasswordCredentials;
+import org.apache.commons.httpclient.auth.AuthScheme;
+import org.apache.commons.httpclient.auth.AuthScope;
+import org.apache.commons.httpclient.auth.CredentialsNotAvailableException;
+import org.apache.commons.httpclient.auth.CredentialsProvider;
 import org.apache.commons.httpclient.methods.GetMethod;
 import org.apache.commons.httpclient.protocol.Protocol;
 import org.apache.commons.httpclient.util.DateUtil;
-import org.eclipse.core.runtime.*;
+import org.eclipse.core.runtime.Assert;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.ecf.core.identity.ID;
-import org.eclipse.ecf.core.security.*;
+import org.eclipse.ecf.core.security.Callback;
+import org.eclipse.ecf.core.security.CallbackHandler;
+import org.eclipse.ecf.core.security.IConnectContext;
+import org.eclipse.ecf.core.security.NameCallback;
+import org.eclipse.ecf.core.security.ObjectCallback;
+import org.eclipse.ecf.core.security.UnsupportedCallbackException;
 import org.eclipse.ecf.core.util.Proxy;
 import org.eclipse.ecf.core.util.ProxyAddress;
-import org.eclipse.ecf.filetransfer.*;
+import org.eclipse.ecf.filetransfer.IFileRangeSpecification;
+import org.eclipse.ecf.filetransfer.IFileTransferPausable;
+import org.eclipse.ecf.filetransfer.IncomingFileTransferException;
+import org.eclipse.ecf.filetransfer.InvalidFileRangeSpecificationException;
 import org.eclipse.ecf.filetransfer.identity.IFileID;
 import org.eclipse.ecf.internal.provider.filetransfer.httpclient.Activator;
 import org.eclipse.ecf.internal.provider.filetransfer.httpclient.Messages;
diff --git a/providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient/src/org/eclipse/ecf/provider/filetransfer/httpclient/SslProtocolSocketFactory.java b/providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient/src/org/eclipse/ecf/provider/filetransfer/httpclient/SslProtocolSocketFactory.java
new file mode 100644
index 0000000..9d46764
--- /dev/null
+++ b/providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient/src/org/eclipse/ecf/provider/filetransfer/httpclient/SslProtocolSocketFactory.java
@@ -0,0 +1,122 @@
+/****************************************************************************
+ * Copyright (c) 2004 Composent, Inc. and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Composent, Inc. - initial API and implementation
+ *****************************************************************************/
+
+package org.eclipse.ecf.provider.filetransfer.httpclient;
+
+import java.io.IOException;
+import java.net.InetAddress;
+import java.net.InetSocketAddress;
+import java.net.Socket;
+import java.net.UnknownHostException;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.TrustManager;
+import org.apache.commons.httpclient.ConnectTimeoutException;
+import org.apache.commons.httpclient.Credentials;
+import org.apache.commons.httpclient.ProxyClient;
+import org.apache.commons.httpclient.UsernamePasswordCredentials;
+import org.apache.commons.httpclient.auth.AuthScope;
+import org.apache.commons.httpclient.params.HttpConnectionParams;
+import org.apache.commons.httpclient.protocol.ProtocolSocketFactory;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.ecf.core.util.Proxy;
+import org.eclipse.ecf.core.util.ProxyAddress;
+import org.eclipse.ecf.internal.provider.filetransfer.httpclient.Activator;
+import org.eclipse.ecf.internal.provider.filetransfer.httpclient.Messages;
+
+public class SslProtocolSocketFactory implements ProtocolSocketFactory {
+
+	private SSLContext sslContext;
+
+	private Proxy proxy;
+
+	public SslProtocolSocketFactory(Proxy proxy) {
+		this.proxy = proxy;
+	}
+
+	private SSLContext getSslContext() {
+		if (sslContext == null) {
+			try {
+				sslContext = SSLContext
+						.getInstance(Messages.SslProtocolSocketFactory_SSLContext_Instance);
+				sslContext.init(null,
+						new TrustManager[] { new HttpClientSslTrustManager() },
+						null);
+			} catch (Exception e) {
+				Activator
+						.getDefault().log(
+								new Status(
+										IStatus.ERROR,
+										Activator.PLUGIN_ID,
+										1111,
+										Messages.SslProtocolSocketFactory_Status_Create_Error,
+										e));
+			}
+		}
+		return sslContext;
+	}
+
+	public Socket createSocket(String remoteHost, int remotePort)
+			throws IOException, UnknownHostException {
+		return getSslContext().getSocketFactory().createSocket(remoteHost,
+				remotePort);
+	}
+
+	public Socket createSocket(String remoteHost, int remotePort,
+			InetAddress clientHost, int clientPort) throws IOException,
+			UnknownHostException {
+		return getSslContext().getSocketFactory().createSocket(remoteHost,
+				remotePort, clientHost, clientPort);
+	}
+
+	public Socket createSocket(String remoteHost, int remotePort,
+			InetAddress clientHost, int clientPort, HttpConnectionParams params)
+			throws IOException, UnknownHostException, ConnectTimeoutException {
+		if (params == null || params.getConnectionTimeout() == 0)
+			return getSslContext().getSocketFactory().createSocket(remoteHost,
+					remotePort, clientHost, clientPort);
+
+		if (proxy != null && !Proxy.NO_PROXY.equals(proxy)) {
+			ProxyClient proxyClient = new ProxyClient();
+
+			ProxyAddress address = proxy.getAddress();
+			proxyClient.getHostConfiguration().setProxy(address.getHostName(),
+					address.getPort());
+			proxyClient.getHostConfiguration().setHost(remoteHost, remotePort);
+			String proxyUsername = proxy.getUsername();
+			String proxyPassword = proxy.getPassword();
+			if (proxyUsername != null && !proxyUsername.equals("")) { //$NON-NLS-1$
+				Credentials credentials = new UsernamePasswordCredentials(
+						proxyUsername, proxyPassword);
+				AuthScope proxyAuthScope = new AuthScope(address.getHostName(),
+						address.getPort(), AuthScope.ANY_REALM);
+				proxyClient.getState().setProxyCredentials(proxyAuthScope,
+						credentials);
+			}
+
+			ProxyClient.ConnectResponse response = proxyClient.connect();
+			if (response.getSocket() != null) {
+				// tunnel SSL via the resultant socket
+				Socket sslsocket = getSslContext().getSocketFactory()
+						.createSocket(response.getSocket(), remoteHost,
+								remotePort, true);
+				return sslsocket;
+			}
+		}
+		// Direct connection
+		Socket socket = getSslContext().getSocketFactory().createSocket();
+		socket.bind(new InetSocketAddress(clientHost, clientPort));
+		socket.connect(new InetSocketAddress(remoteHost, remotePort), params
+				.getConnectionTimeout());
+		return socket;
+	}
+
+}