com.webbfontaine.valuewebb.startup.ProxyConfiguration.java Source code

Java tutorial

Introduction

Here is the source code for com.webbfontaine.valuewebb.startup.ProxyConfiguration.java

Source

package com.webbfontaine.valuewebb.startup;

import com.webbfontaine.valuewebb.props.ApplicationProperties;
import org.apache.http.HttpHost;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.conn.params.ConnRoutePNames;
import org.apache.http.impl.client.AbstractHttpClient;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.jboss.seam.Component;
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.Create;
import org.jboss.seam.log.Log;
import org.jboss.seam.log.Logging;

/**
 * Copyrights 2002-2013 Webb Fontaine
 * This software is the proprietary information of Webb Fontaine.
 * Its use is subject to License terms.
 * Developer: nigiyan
 * Date: 13/11/2013
 */

public class ProxyConfiguration {
    private static final Log LOGGER = Logging.getLog(ProxyConfiguration.class);

    private String host;
    private int port;
    private String userName;
    private String password;
    private String protocol;

    @Create
    public void init() {
        LOGGER.info("Proxy configuration has been {0}.",
                (ApplicationProperties.isAllowProxy() ? "enabled" : "disabled"));
    }

    public void addProxy(AbstractHttpClient httpClient) {
        if (ApplicationProperties.isAllowProxy()) {
            LOGGER.debug("Adding PROXY for HTTP Client");
            CredentialsProvider credsProvider = new BasicCredentialsProvider();
            credsProvider.setCredentials(new AuthScope(host, port),
                    new UsernamePasswordCredentials(userName, password));
            httpClient.setCredentialsProvider(credsProvider);

            HttpHost proxy = new HttpHost(host, port, protocol);

            httpClient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
        } else {
            LOGGER.warn("HTTP Client has requested for PROXY but it is disabled.");
        }
    }

    public static ProxyConfiguration getInstance() {
        return (ProxyConfiguration) Component.getInstance("proxyConfiguration", ScopeType.APPLICATION, false);
    }

    public String getHost() {
        return host;
    }

    public void setHost(String host) {
        this.host = host;
    }

    public int getPort() {
        return port;
    }

    public void setPort(int port) {
        this.port = port;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getProtocol() {
        return protocol;
    }

    public void setProtocol(String protocol) {
        this.protocol = protocol;
    }
}