Author: kwright
Date: Wed Mar 19 15:19:34 2014
New Revision: 1579256

URL: http://svn.apache.org/r1579256
Log:
Part of CONNECTORS-911.  Remove HttpClient deprecation warnings for wiki 
connector.

Modified:
    
manifoldcf/trunk/connectors/wiki/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/wiki/WikiConnector.java

Modified: 
manifoldcf/trunk/connectors/wiki/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/wiki/WikiConnector.java
URL: 
http://svn.apache.org/viewvc/manifoldcf/trunk/connectors/wiki/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/wiki/WikiConnector.java?rev=1579256&r1=1579255&r2=1579256&view=diff
==============================================================================
--- 
manifoldcf/trunk/connectors/wiki/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/wiki/WikiConnector.java
 (original)
+++ 
manifoldcf/trunk/connectors/wiki/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/wiki/WikiConnector.java
 Wed Mar 19 15:19:34 2014
@@ -36,10 +36,16 @@ import org.apache.http.auth.AuthScope;
 import org.apache.http.auth.Credentials;
 import org.apache.http.auth.UsernamePasswordCredentials;
 import org.apache.http.auth.NTCredentials;
-import org.apache.http.conn.ClientConnectionManager;
+import org.apache.http.conn.HttpClientConnectionManager;
 import org.apache.http.client.HttpClient;
-import org.apache.http.impl.conn.PoolingClientConnectionManager;
-import org.apache.http.impl.client.DefaultHttpClient;
+import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.protocol.HttpRequestExecutor;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.client.config.RequestConfig;
+import org.apache.http.client.CredentialsProvider;
+import org.apache.http.impl.client.BasicCredentialsProvider;
+import org.apache.http.config.SocketConfig;
 import org.apache.http.client.methods.HttpRequestBase;
 import org.apache.http.client.methods.HttpGet;
 import org.apache.http.client.methods.HttpPost;
@@ -47,22 +53,14 @@ import org.apache.http.HttpResponse;
 import org.apache.http.HttpHost;
 import org.apache.http.HttpEntity;
 import org.apache.http.NameValuePair;
-import org.apache.http.params.BasicHttpParams;
-import org.apache.http.params.HttpParams;
-import org.apache.http.params.CoreConnectionPNames;
-import org.apache.http.params.CoreProtocolPNames;
 import org.apache.http.client.entity.UrlEncodedFormEntity;
 import org.apache.http.message.BasicNameValuePair;
 import org.apache.http.protocol.HTTP;
 import org.apache.http.util.EntityUtils;
 import org.apache.http.message.BasicHeader;
-import org.apache.http.client.params.ClientPNames;
 import org.apache.http.client.HttpRequestRetryHandler;
 import org.apache.http.protocol.HttpContext;
-import org.apache.http.conn.params.ConnRoutePNames;
-import org.apache.http.conn.scheme.Scheme;
-import org.apache.http.conn.ssl.SSLSocketFactory;
-import org.apache.http.conn.ssl.AllowAllHostnameVerifier;
+import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
 import org.apache.http.entity.ContentType;
 
 import org.apache.http.conn.ConnectTimeoutException;
@@ -130,7 +128,7 @@ public class WikiConnector extends org.a
   protected String proxyPassword = null;
   
   /** Connection management */
-  protected ClientConnectionManager connectionManager = null;
+  protected HttpClientConnectionManager connectionManager = null;
 
   protected HttpClient httpClient = null;
   
@@ -227,48 +225,31 @@ public class WikiConnector extends org.a
       int connectionTimeout = 300000;
 
       javax.net.ssl.SSLSocketFactory httpsSocketFactory = 
KeystoreManagerFactory.getTrustingSecureSocketFactory();
-      SSLSocketFactory myFactory = new SSLSocketFactory(new 
InterruptibleSocketFactory(httpsSocketFactory,connectionTimeout),
-        new AllowAllHostnameVerifier());
-      Scheme myHttpsProtocol = new Scheme("https", 443, myFactory);
+      SSLConnectionSocketFactory myFactory = new 
SSLConnectionSocketFactory(new 
InterruptibleSocketFactory(httpsSocketFactory,connectionTimeout),
+        SSLConnectionSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
 
       // Set up connection manager
-      PoolingClientConnectionManager localConnectionManager = new 
PoolingClientConnectionManager();
-      localConnectionManager.setMaxTotal(1);
-      connectionManager = localConnectionManager;
-      // Set up protocol registry
-      connectionManager.getSchemeRegistry().register(myHttpsProtocol);
+      connectionManager = new PoolingHttpClientConnectionManager();
 
-      BasicHttpParams params = new BasicHttpParams();
-      params.setBooleanParameter(CoreProtocolPNames.USE_EXPECT_CONTINUE,true);
-      
params.setIntParameter(CoreProtocolPNames.WAIT_FOR_CONTINUE,socketTimeout);
-      params.setBooleanParameter(CoreConnectionPNames.TCP_NODELAY,true);
-      
params.setBooleanParameter(CoreConnectionPNames.STALE_CONNECTION_CHECK,true);
-      params.setIntParameter(CoreConnectionPNames.SO_TIMEOUT,socketTimeout);
-      
params.setIntParameter(CoreConnectionPNames.CONNECTION_TIMEOUT,connectionTimeout);
-      params.setBooleanParameter(ClientPNames.ALLOW_CIRCULAR_REDIRECTS,true);
-      DefaultHttpClient localHttpClient = new 
DefaultHttpClient(connectionManager,params);
-      // No retries
-      localHttpClient.setHttpRequestRetryHandler(new HttpRequestRetryHandler()
-        {
-          public boolean retryRequest(
-            IOException exception,
-            int executionCount,
-            HttpContext context)
-          {
-            return false;
-          }
-       
-        });
+      CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
 
       if (accessUser != null && accessUser.length() > 0 && accessPassword != 
null)
       {
         Credentials credentials = new UsernamePasswordCredentials(accessUser, 
accessPassword);
         if (accessRealm != null && accessRealm.length() > 0)
-          localHttpClient.getCredentialsProvider().setCredentials(new 
AuthScope(AuthScope.ANY_HOST, AuthScope.ANY_PORT, accessRealm), credentials);
+          credentialsProvider.setCredentials(new AuthScope(AuthScope.ANY_HOST, 
AuthScope.ANY_PORT, accessRealm), credentials);
         else
-          
localHttpClient.getCredentialsProvider().setCredentials(AuthScope.ANY, 
credentials);
+          credentialsProvider.setCredentials(AuthScope.ANY, credentials);
       }
 
+      RequestConfig.Builder requestBuilder = RequestConfig.custom()
+          .setCircularRedirectsAllowed(true)
+          .setSocketTimeout(socketTimeout)
+          .setStaleConnectionCheckEnabled(true)
+          .setExpectContinueEnabled(true)
+          .setConnectTimeout(connectionTimeout)
+          .setConnectionRequestTimeout(socketTimeout);
+          
       // If there's a proxy, set that too.
       if (proxyHost != null && proxyHost.length() > 0)
       {
@@ -296,17 +277,52 @@ public class WikiConnector extends org.a
           if (proxyDomain == null)
             proxyDomain = "";
 
-          localHttpClient.getCredentialsProvider().setCredentials(
+          credentialsProvider.setCredentials(
             new AuthScope(proxyHost, proxyPortInt),
             new NTCredentials(proxyUsername, proxyPassword, currentHost, 
proxyDomain));
         }
 
         HttpHost proxy = new HttpHost(proxyHost, proxyPortInt);
-
-        
localHttpClient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
+        requestBuilder.setProxy(proxy);
       }
 
-      httpClient = localHttpClient;
+      httpClient = HttpClients.custom()
+        .setConnectionManager(connectionManager)
+        .setMaxConnTotal(1)
+        .disableAutomaticRetries()
+        .setDefaultRequestConfig(requestBuilder.build())
+        .setDefaultSocketConfig(SocketConfig.custom()
+          .setTcpNoDelay(true)
+          .setSoTimeout(socketTimeout)
+          .build())
+        .setDefaultCredentialsProvider(credentialsProvider)
+        .setSSLSocketFactory(myFactory)
+        .setRequestExecutor(new HttpRequestExecutor(socketTimeout))
+        .build();
+
+      /*
+      BasicHttpParams params = new BasicHttpParams();
+      params.setBooleanParameter(CoreProtocolPNames.USE_EXPECT_CONTINUE,true);
+      
params.setIntParameter(CoreProtocolPNames.WAIT_FOR_CONTINUE,socketTimeout);
+      params.setBooleanParameter(CoreConnectionPNames.TCP_NODELAY,true);
+      
params.setBooleanParameter(CoreConnectionPNames.STALE_CONNECTION_CHECK,true);
+      params.setIntParameter(CoreConnectionPNames.SO_TIMEOUT,socketTimeout);
+      
params.setIntParameter(CoreConnectionPNames.CONNECTION_TIMEOUT,connectionTimeout);
+      params.setBooleanParameter(ClientPNames.ALLOW_CIRCULAR_REDIRECTS,true);
+      DefaultHttpClient localHttpClient = new 
DefaultHttpClient(connectionManager,params);
+      // No retries
+      localHttpClient.setHttpRequestRetryHandler(new HttpRequestRetryHandler()
+        {
+          public boolean retryRequest(
+            IOException exception,
+            int executionCount,
+            HttpContext context)
+          {
+            return false;
+          }
+       
+        });
+      */
       
       loginToAPI();
       


Reply via email to