From f9414e539ed6d16dedfa6e7f55206f4d6aed6246 Mon Sep 17 00:00:00 2001 From: Björn Hagemeister Date: Wed, 12 Nov 2014 16:14:16 +0100 Subject: Added class ProxyHandler for for configuring proxy settings system wide once before starting downloading. --- pom.xml | 6 ++++++ .../org/openslx/satserver/util/ProxyHandler.java | 21 +++++++++++++++++++++ .../org/openslx/taskmanager/tasks/DownloadFile.java | 4 ++++ .../org/openslx/taskmanager/tasks/DownloadText.java | 4 ++++ 4 files changed, 35 insertions(+) create mode 100644 src/main/java/org/openslx/satserver/util/ProxyHandler.java diff --git a/pom.xml b/pom.xml index 66d52be..5ced499 100644 --- a/pom.xml +++ b/pom.xml @@ -79,5 +79,11 @@ svg-salamander 1.0 + + org.openslx.bwlp + master-sync-shared + 1.0-SNAPSHOT + compile + diff --git a/src/main/java/org/openslx/satserver/util/ProxyHandler.java b/src/main/java/org/openslx/satserver/util/ProxyHandler.java new file mode 100644 index 0000000..9a702fe --- /dev/null +++ b/src/main/java/org/openslx/satserver/util/ProxyHandler.java @@ -0,0 +1,21 @@ +package org.openslx.satserver.util; + +import org.openslx.network.ProxyConfiguration; + +/** + * Class for handling proxy configuration in task manager. Just configure proxy + * setting system wide, if it was not done already. + * @author bjoern + * + */ +public class ProxyHandler { + private static boolean hasDoneConfigProxy = false; + + public static void configProxy() { + // Just configuring proxy settings system wide, if not done already. + if (!hasDoneConfigProxy) { + ProxyConfiguration.configProxy(); + hasDoneConfigProxy = true; + } + } +} diff --git a/src/main/java/org/openslx/taskmanager/tasks/DownloadFile.java b/src/main/java/org/openslx/taskmanager/tasks/DownloadFile.java index d901c9f..ac9ea0e 100644 --- a/src/main/java/org/openslx/taskmanager/tasks/DownloadFile.java +++ b/src/main/java/org/openslx/taskmanager/tasks/DownloadFile.java @@ -9,6 +9,7 @@ import java.net.URLConnection; import org.apache.commons.io.FileUtils; import org.apache.commons.io.FilenameUtils; +import org.openslx.satserver.util.ProxyHandler; import org.openslx.satserver.util.Util; import org.openslx.taskmanager.api.AbstractTask; @@ -49,6 +50,9 @@ public class DownloadFile extends AbstractTask URLConnection connection = null; BufferedInputStream in = null; FileOutputStream fout = null; + + // Handle proxy settings before opening connection for downloading. + ProxyHandler.configProxy(); try { File dest = new File( this.destination ); FileUtils.forceMkdir( new File( dest.getParent() ) ); diff --git a/src/main/java/org/openslx/taskmanager/tasks/DownloadText.java b/src/main/java/org/openslx/taskmanager/tasks/DownloadText.java index 11b30cf..76881d0 100644 --- a/src/main/java/org/openslx/taskmanager/tasks/DownloadText.java +++ b/src/main/java/org/openslx/taskmanager/tasks/DownloadText.java @@ -6,6 +6,7 @@ import java.net.URL; import java.net.URLConnection; import java.nio.charset.StandardCharsets; +import org.openslx.satserver.util.ProxyHandler; import org.openslx.satserver.util.Util; import org.openslx.taskmanager.api.AbstractTask; @@ -37,6 +38,9 @@ public class DownloadText extends AbstractTask { URLConnection connection = null; BufferedInputStream in = null; + + // Before open connection, handle proxy settings. + ProxyHandler.configProxy(); try { connection = new URL( this.url ).openConnection(); in = new BufferedInputStream( connection.getInputStream() ); -- cgit v1.2.3-55-g7522