package config; import java.io.IOException; import java.net.ProxySelector; import org.apache.log4j.Logger; import com.btr.proxy.search.ProxySearch; import com.btr.proxy.search.wpad.WpadProxySearchStrategy; import com.btr.proxy.util.ProxyException; /** * Configures the proxy * * @author Jonathan Bauer */ public class ConfigProxy { /** * Logger for this class */ private final static Logger LOGGER = Logger.getLogger(ConfigProxy.class); /** * Initialization method. */ public static void init() throws IOException { // try to find local proxy settings ProxySearch proxySearch = ProxySearch.getDefaultProxySearch(); ProxySelector myProxySelector = proxySearch.getProxySelector(); if (myProxySelector == null) { // didn't work, try WPAD detection LOGGER.error("No suitable proxy settings found, trying WPAD..."); WpadProxySearchStrategy ss = new WpadProxySearchStrategy(); try { myProxySelector = ss.getProxySelector(); } catch (ProxyException e) { LOGGER.error("WPAD proxy error, see trace: ", e); } } // final check to see if WPAD actually worked if (myProxySelector != null) { LOGGER.debug("Proxy initialised."); ProxySelector.setDefault(myProxySelector); } else { LOGGER.error("Could not find a suitable proxy!"); } } }