Index: java/SVNAccess/src/net/oni2/svnaccess/SVN.java
===================================================================
--- java/SVNAccess/src/net/oni2/svnaccess/SVN.java	(revision 764)
+++ java/SVNAccess/src/net/oni2/svnaccess/SVN.java	(revision 852)
@@ -5,4 +5,6 @@
 import java.io.File;
 import java.util.Vector;
+
+import net.oni2.ProxySettings;
 
 import org.tmatesoft.svn.core.SVNDepth;
@@ -10,4 +12,6 @@
 import org.tmatesoft.svn.core.SVNException;
 import org.tmatesoft.svn.core.SVNURL;
+import org.tmatesoft.svn.core.auth.BasicAuthenticationManager;
+import org.tmatesoft.svn.core.auth.SVNAuthentication;
 import org.tmatesoft.svn.core.internal.io.dav.DAVRepositoryFactory;
 import org.tmatesoft.svn.core.internal.io.fs.FSRepositoryFactory;
@@ -30,8 +34,5 @@
 	SVNClientManager svnCManager = null;
 
-	/**
-	 * Constructor
-	 */
-	public SVN() {
+	private void setup() {
 		// For using over http:// and https://
 		DAVRepositoryFactory.setup();
@@ -40,7 +41,36 @@
 		// For using over file:///
 		FSRepositoryFactory.setup();
-
-		svnCManager = SVNClientManager.newInstance(SVNWCUtil
-				.createDefaultOptions(true));
+	}
+
+	private void setProxy(BasicAuthenticationManager authMan) {
+		ProxySettings prox = ProxySettings.getInstance();
+		if (prox.validate()) {
+			authMan.setProxy(prox.getHostOrIp(), prox.getPort(), null, null);
+		}
+	}
+
+	private BasicAuthenticationManager getAuthManager() {
+		BasicAuthenticationManager auth = new BasicAuthenticationManager(
+				new SVNAuthentication[0]);
+		setProxy(auth);
+		return auth;
+	}
+
+	private BasicAuthenticationManager getAuthManager(String username,
+			String password) {
+		BasicAuthenticationManager auth = new BasicAuthenticationManager(
+				username, password);
+		setProxy(auth);
+		return auth;
+	}
+
+	/**
+	 * Constructor
+	 */
+	public SVN() {
+		setup();
+
+		svnCManager = SVNClientManager.newInstance(
+				SVNWCUtil.createDefaultOptions(true), getAuthManager());
 	}
 
@@ -54,13 +84,9 @@
 	 */
 	public SVN(String username, String password) {
-		// For using over http:// and https://
-		DAVRepositoryFactory.setup();
-		// For using over svn:// and svn+xxx://
-		SVNRepositoryFactoryImpl.setup();
-		// For using over file:///
-		FSRepositoryFactory.setup();
+		setup();
 
 		svnCManager = SVNClientManager.newInstance(
-				SVNWCUtil.createDefaultOptions(true), username, password);
+				SVNWCUtil.createDefaultOptions(true),
+				getAuthManager(username, password));
 	}
 
