package connectivity;
import java.io.FileNotFoundException;
import java.io.PrintStream;
import log.Logger;
import com.gargoylesoftware.htmlunit.BrowserVersion;
import com.gargoylesoftware.htmlunit.WebClient;
public class Client
{
private static volatile WebClient webClient;
public synchronized static WebClient get() throws FileNotFoundException
{
if (webClient == null)
{
Logger.traceINFO_NoNewLine("Initialization of the client...");
webClient = getLeboncoin();
System.setErr(new PrintStream("NUL"));
Logger.traceINFO_NoBaseLine(" [DONE]");
}
return webClient;
}
public synchronized static void reset()
{
webClient.closeAllWindows();
webClient = null;
}
private static WebClient getLeboncoin()
{
final WebClient client = new WebClient(BrowserVersion.FIREFOX_17);
try
{
client.getOptions().setJavaScriptEnabled(true);
client.getOptions().setAppletEnabled(false);
client.getOptions().setCssEnabled(false);
client.getOptions().setPrintContentOnFailingStatusCode(true);
client.getOptions().setPopupBlockerEnabled(true);
client.getOptions().setThrowExceptionOnScriptError(false);
client.getOptions().setUseInsecureSSL(true);
}
catch (Exception e)
{
Logger.traceERROR(e);
}
return client;
}
}