You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ro...@apache.org on 2008/02/01 20:27:41 UTC

svn commit: r617616 - in /httpcomponents/httpclient/trunk: ./ module-client/src/main/java/org/apache/http/impl/client/ module-client/src/main/java/org/apache/http/impl/conn/

Author: rolandw
Date: Fri Feb  1 11:27:30 2008
New Revision: 617616

URL: http://svn.apache.org/viewvc?rev=617616&view=rev
Log:
HTTPCLIENT-736: SchemeRegistry instead of ConnectionManager

Modified:
    httpcomponents/httpclient/trunk/RELEASE_NOTES.txt
    httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/client/DefaultHttpClient.java
    httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/conn/DefaultHttpRoutePlanner.java
    httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/conn/ProxySelectorRoutePlanner.java

Modified: httpcomponents/httpclient/trunk/RELEASE_NOTES.txt
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/RELEASE_NOTES.txt?rev=617616&r1=617615&r2=617616&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/RELEASE_NOTES.txt (original)
+++ httpcomponents/httpclient/trunk/RELEASE_NOTES.txt Fri Feb  1 11:27:30 2008
@@ -1,6 +1,9 @@
 Changes since 4.0 Alpha 2
 -------------------
 
+* [HTTPCLIENT-736] route planners use SchemeRegistry instead of ConnManager
+  Contributed by Roland Weber <rolandw at apache.org>
+
 * [HTTPCLIENT-730] Fixed rewriting of URIs containing escaped characters
   Contributed by Sam Berlin <sberlin at gmail.com> and 
   Oleg Kalnichevski <olegk at apache.org>

Modified: httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/client/DefaultHttpClient.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/client/DefaultHttpClient.java?rev=617616&r1=617615&r2=617616&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/client/DefaultHttpClient.java (original)
+++ httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/client/DefaultHttpClient.java Fri Feb  1 11:27:30 2008
@@ -301,7 +301,8 @@
     // non-javadoc, see base class AbstractHttpClient
     @Override
 	protected HttpRoutePlanner createHttpRoutePlanner() {
-        return new DefaultHttpRoutePlanner(getConnectionManager());
+        return new DefaultHttpRoutePlanner
+            (getConnectionManager().getSchemeRegistry());
     }
     
 } // class DefaultHttpClient

Modified: httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/conn/DefaultHttpRoutePlanner.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/conn/DefaultHttpRoutePlanner.java?rev=617616&r1=617615&r2=617616&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/conn/DefaultHttpRoutePlanner.java (original)
+++ httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/conn/DefaultHttpRoutePlanner.java Fri Feb  1 11:27:30 2008
@@ -40,9 +40,9 @@
 import org.apache.http.protocol.HttpContext;
 
 import org.apache.http.conn.Scheme;
+import org.apache.http.conn.SchemeRegistry;
 import org.apache.http.conn.routing.HttpRoute;
 import org.apache.http.conn.routing.HttpRoutePlanner;
-import org.apache.http.conn.ClientConnectionManager;
 
 import org.apache.http.conn.params.ConnRoutePNames;
 
@@ -55,18 +55,21 @@
  */
 public class DefaultHttpRoutePlanner implements HttpRoutePlanner {
 
-    /** The connection manager, to get at the scheme registry. */
-    protected ClientConnectionManager connectionManager;
-
-    
-    public DefaultHttpRoutePlanner(ClientConnectionManager aConnManager) {
-        setConnectionManager(aConnManager);
-    }
+    /** The scheme registry. */
+    protected SchemeRegistry schemeRegistry;
 
 
-    
-    public void setConnectionManager(ClientConnectionManager aConnManager) {
-        this.connectionManager = aConnManager;
+    /**
+     * Creates a new default route planner.
+     *
+     * @param schreg    the scheme registry
+     */
+    public DefaultHttpRoutePlanner(SchemeRegistry schreg) {
+        if (schreg == null) {
+            throw new IllegalArgumentException
+                ("SchemeRegistry must not be null.");
+        }
+        schemeRegistry = schreg;
     }
 
 
@@ -100,8 +103,7 @@
         final HttpHost proxy = (HttpHost)
             request.getParams().getParameter(ConnRoutePNames.DEFAULT_PROXY);
 
-        final Scheme schm = this.connectionManager.getSchemeRegistry().
-            getScheme(target.getSchemeName());
+        final Scheme schm = schemeRegistry.getScheme(target.getSchemeName());
         // as it is typically used for TLS/SSL, we assume that
         // a layered scheme implies a secure connection
         final boolean secure = schm.isLayered();

Modified: httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/conn/ProxySelectorRoutePlanner.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/conn/ProxySelectorRoutePlanner.java?rev=617616&r1=617615&r2=617616&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/conn/ProxySelectorRoutePlanner.java (original)
+++ httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/conn/ProxySelectorRoutePlanner.java Fri Feb  1 11:27:30 2008
@@ -48,7 +48,7 @@
 import org.apache.http.conn.routing.HttpRoute;
 import org.apache.http.conn.routing.HttpRoutePlanner;
 import org.apache.http.conn.Scheme;
-import org.apache.http.conn.ClientConnectionManager;
+import org.apache.http.conn.SchemeRegistry;
 
 import org.apache.http.conn.params.ConnRoutePNames;
 
@@ -63,20 +63,29 @@
  */
 public class ProxySelectorRoutePlanner implements HttpRoutePlanner {
     
-    /** The connection manager, to get at the scheme registry. */
-    protected ClientConnectionManager connectionManager;
+    /** The scheme registry. */
+    protected SchemeRegistry schemeRegistry;
 
     /** The proxy selector to use, or <code>null</code> for system default. */
     protected ProxySelector proxySelector;
 
-    
-    public ProxySelectorRoutePlanner(ClientConnectionManager aConnManager) {
-        setConnectionManager(aConnManager);
-    }
 
+    /**
+     * Creates a new proxy selector route planner.
+     *
+     * @param schreg    the scheme registry
+     * @param prosel    the proxy selector, or
+     *                  <code>null</code> for the system default
+     */
+    public ProxySelectorRoutePlanner(SchemeRegistry schreg,
+                                     ProxySelector prosel) {
 
-    public void setConnectionManager(ClientConnectionManager aConnManager) {
-        this.connectionManager = aConnManager;
+        if (schreg == null) {
+            throw new IllegalArgumentException
+                ("SchemeRegistry must not be null.");
+        }
+        schemeRegistry = schreg;
+        proxySelector  = prosel;
     }
 
 
@@ -93,11 +102,11 @@
     /**
      * Sets the proxy selector to use.
      *
-     * @param psel      the proxy selector, or
+     * @param prosel    the proxy selector, or
      *                  <code>null</code> to use the system default
      */
-    public void setProxySelector(ProxySelector psel) {
-        this.proxySelector = psel;
+    public void setProxySelector(ProxySelector prosel) {
+        this.proxySelector = prosel;
     }
 
 
@@ -131,8 +140,8 @@
             request.getParams().getParameter(ConnRoutePNames.LOCAL_ADDRESS);
         final HttpHost proxy = determineProxy(target, request, context);
 
-        final Scheme schm = this.connectionManager.getSchemeRegistry().
-            getScheme(target.getSchemeName());
+        final Scheme schm =
+            this.schemeRegistry.getScheme(target.getSchemeName());
         // as it is typically used for TLS/SSL, we assume that
         // a layered scheme implies a secure connection
         final boolean secure = schm.isLayered();