You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2005/10/15 19:07:32 UTC

svn commit: r321379 - in /jakarta/httpclient/trunk/http-common/src: contrib/org/apache/http/contrib/spring/ examples/org/apache/http/examples/ java/org/apache/http/ java/org/apache/http/impl/ java/org/apache/http/io/ test/org/apache/http/

Author: olegk
Date: Sat Oct 15 10:07:11 2005
New Revision: 321379

URL: http://svn.apache.org/viewcvs?rev=321379&view=rev
Log:
* Protocol class renamed to Scheme
* Added test cases

Added:
    jakarta/httpclient/trunk/http-common/src/java/org/apache/http/Scheme.java
      - copied, changed from r239377, jakarta/httpclient/trunk/http-common/src/java/org/apache/http/Protocol.java
    jakarta/httpclient/trunk/http-common/src/test/org/apache/http/TestScheme.java   (with props)
Removed:
    jakarta/httpclient/trunk/http-common/src/java/org/apache/http/Protocol.java
Modified:
    jakarta/httpclient/trunk/http-common/src/contrib/org/apache/http/contrib/spring/SpringHttpDemo.java
    jakarta/httpclient/trunk/http-common/src/examples/org/apache/http/examples/ElementalHttpGet.java
    jakarta/httpclient/trunk/http-common/src/examples/org/apache/http/examples/ElementalHttpPost.java
    jakarta/httpclient/trunk/http-common/src/examples/org/apache/http/examples/HttpRequestExecutorDemo.java
    jakarta/httpclient/trunk/http-common/src/java/org/apache/http/HttpHost.java
    jakarta/httpclient/trunk/http-common/src/java/org/apache/http/ProxyHost.java
    jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/DefaultHttpClientConnection.java
    jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/DefaultHttpProxyConnection.java
    jakarta/httpclient/trunk/http-common/src/java/org/apache/http/io/SocketFactory.java
    jakarta/httpclient/trunk/http-common/src/test/org/apache/http/TestAll.java
    jakarta/httpclient/trunk/http-common/src/test/org/apache/http/TestHttpHost.java

Modified: jakarta/httpclient/trunk/http-common/src/contrib/org/apache/http/contrib/spring/SpringHttpDemo.java
URL: http://svn.apache.org/viewcvs/jakarta/httpclient/trunk/http-common/src/contrib/org/apache/http/contrib/spring/SpringHttpDemo.java?rev=321379&r1=321378&r2=321379&view=diff
==============================================================================
--- jakarta/httpclient/trunk/http-common/src/contrib/org/apache/http/contrib/spring/SpringHttpDemo.java (original)
+++ jakarta/httpclient/trunk/http-common/src/contrib/org/apache/http/contrib/spring/SpringHttpDemo.java Sat Oct 15 10:07:11 2005
@@ -34,7 +34,7 @@
 import org.apache.http.HttpRequestFactory;
 import org.apache.http.HttpResponse;
 import org.apache.http.HttpVersion;
-import org.apache.http.Protocol;
+import org.apache.http.Scheme;
 import org.apache.http.entity.EntityConsumer;
 import org.apache.http.executor.HttpRequestExecutor;
 import org.apache.http.params.HttpParams;
@@ -63,7 +63,7 @@
         HttpRequestExecutor httpexec = (HttpRequestExecutor)beanfactory.getBean("http-executor");
         httpexec.setParams(params);
         
-        Protocol http = (Protocol) beanfactory.getBean("http-protocol");
+        Scheme http = (Scheme) beanfactory.getBean("http-protocol");
         HttpHost host = new HttpHost("www.yahoo.com", 80, http);
 
         HttpRequestFactory requestfactory = (HttpRequestFactory) beanfactory.getBean("http-request-factory");

Modified: jakarta/httpclient/trunk/http-common/src/examples/org/apache/http/examples/ElementalHttpGet.java
URL: http://svn.apache.org/viewcvs/jakarta/httpclient/trunk/http-common/src/examples/org/apache/http/examples/ElementalHttpGet.java?rev=321379&r1=321378&r2=321379&view=diff
==============================================================================
--- jakarta/httpclient/trunk/http-common/src/examples/org/apache/http/examples/ElementalHttpGet.java (original)
+++ jakarta/httpclient/trunk/http-common/src/examples/org/apache/http/examples/ElementalHttpGet.java Sat Oct 15 10:07:11 2005
@@ -33,7 +33,7 @@
 import org.apache.http.HttpClientConnection;
 import org.apache.http.HttpHost;
 import org.apache.http.HttpResponse;
-import org.apache.http.Protocol;
+import org.apache.http.Scheme;
 import org.apache.http.entity.EntityConsumer;
 import org.apache.http.impl.DefaultHttpClientConnection;
 import org.apache.http.impl.DefaultHttpParams;
@@ -54,7 +54,7 @@
     public static void main(String[] args) throws Exception {
         
         SocketFactory socketfactory = PlainSocketFactory.getSocketFactory();
-        Protocol.registerProtocol("http", new Protocol("http", socketfactory, 80));
+        Scheme.registerScheme("http", new Scheme("http", socketfactory, 80));
         
         HttpParams connparams = new DefaultHttpParams(null);
         HttpHost host = new HttpHost("www.yahoo.com");

Modified: jakarta/httpclient/trunk/http-common/src/examples/org/apache/http/examples/ElementalHttpPost.java
URL: http://svn.apache.org/viewcvs/jakarta/httpclient/trunk/http-common/src/examples/org/apache/http/examples/ElementalHttpPost.java?rev=321379&r1=321378&r2=321379&view=diff
==============================================================================
--- jakarta/httpclient/trunk/http-common/src/examples/org/apache/http/examples/ElementalHttpPost.java (original)
+++ jakarta/httpclient/trunk/http-common/src/examples/org/apache/http/examples/ElementalHttpPost.java Sat Oct 15 10:07:11 2005
@@ -36,7 +36,7 @@
 import org.apache.http.HttpEntity;
 import org.apache.http.HttpHost;
 import org.apache.http.HttpResponse;
-import org.apache.http.Protocol;
+import org.apache.http.Scheme;
 import org.apache.http.entity.ByteArrayEntity;
 import org.apache.http.entity.EntityConsumer;
 import org.apache.http.entity.InputStreamEntity;
@@ -60,7 +60,7 @@
     public static void main(String[] args) throws Exception {
         
         SocketFactory socketfactory = PlainSocketFactory.getSocketFactory();
-        Protocol.registerProtocol("http", new Protocol("http", socketfactory, 80));
+        Scheme.registerScheme("http", new Scheme("http", socketfactory, 80));
 
         HttpParams connparams = new DefaultHttpParams(null);
         HttpHost host = new HttpHost("localhost", 8080);

Modified: jakarta/httpclient/trunk/http-common/src/examples/org/apache/http/examples/HttpRequestExecutorDemo.java
URL: http://svn.apache.org/viewcvs/jakarta/httpclient/trunk/http-common/src/examples/org/apache/http/examples/HttpRequestExecutorDemo.java?rev=321379&r1=321378&r2=321379&view=diff
==============================================================================
--- jakarta/httpclient/trunk/http-common/src/examples/org/apache/http/examples/HttpRequestExecutorDemo.java (original)
+++ jakarta/httpclient/trunk/http-common/src/examples/org/apache/http/examples/HttpRequestExecutorDemo.java Sat Oct 15 10:07:11 2005
@@ -33,7 +33,7 @@
 import org.apache.http.HttpHost;
 import org.apache.http.HttpResponse;
 import org.apache.http.HttpVersion;
-import org.apache.http.Protocol;
+import org.apache.http.Scheme;
 import org.apache.http.entity.EntityConsumer;
 import org.apache.http.executor.HttpRequestExecutor;
 import org.apache.http.impl.DefaultHttpClientConnection;
@@ -61,7 +61,7 @@
     public static void main(String[] args) throws Exception {
         
         SocketFactory socketfactory = PlainSocketFactory.getSocketFactory();
-        Protocol.registerProtocol("http", new Protocol("http", socketfactory, 80));
+        Scheme.registerScheme("http", new Scheme("http", socketfactory, 80));
         
         HttpParams params = new DefaultHttpParams(null);
         HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);

Modified: jakarta/httpclient/trunk/http-common/src/java/org/apache/http/HttpHost.java
URL: http://svn.apache.org/viewcvs/jakarta/httpclient/trunk/http-common/src/java/org/apache/http/HttpHost.java?rev=321379&r1=321378&r2=321379&view=diff
==============================================================================
--- jakarta/httpclient/trunk/http-common/src/java/org/apache/http/HttpHost.java (original)
+++ jakarta/httpclient/trunk/http-common/src/java/org/apache/http/HttpHost.java Sat Oct 15 10:07:11 2005
@@ -34,7 +34,7 @@
 
 /**
  * Holds all of the variables needed to describe an HTTP connection to a host. This includes 
- * remote host, port and protocol.
+ * remote host, port and scheme.
  * 
  * @author <a href="mailto:becke@u.washington.edu">Michael Becke</a>
  * @author <a href="mailto:mbowler@GargoyleSoftware.com">Mike Bowler</a>
@@ -51,30 +51,30 @@
     /** The port to use. */
     private int port = -1;
 
-    /** The protocol */
-    private Protocol protocol = null;
+    /** The scheme */
+    private Scheme scheme = null;
 
     /**
      * Constructor for HttpHost.
      *   
      * @param hostname the hostname (IP or DNS name). Can be <code>null</code>.
-     * @param port the port. Value <code>-1</code> can be used to set default protocol port
-     * @param protocol the protocol. Value <code>null</code> can be used to set default protocol
+     * @param port the port. Value <code>-1</code> can be used to set default scheme port
+     * @param scheme the scheme. Value <code>null</code> can be used to set default scheme
      */
-    public HttpHost(final String hostname, int port, final Protocol protocol) {
+    public HttpHost(final String hostname, int port, final Scheme scheme) {
         super();
         if (hostname == null) {
             throw new IllegalArgumentException("Host name may not be null");
         }
-        if (protocol == null) {
+        if (scheme == null) {
             throw new IllegalArgumentException("Protocol may not be null");
         }
         this.hostname = hostname;
-        this.protocol = protocol;
+        this.scheme = scheme;
         if (port >= 0) {
             this.port = port;
         } else {
-            this.port = this.protocol.getDefaultPort();
+            this.port = this.scheme.getDefaultPort();
         }
     }
 
@@ -82,10 +82,10 @@
      * Constructor for HttpHost.
      *   
      * @param hostname the hostname (IP or DNS name). Can be <code>null</code>.
-     * @param port the port. Value <code>-1</code> can be used to set default protocol port
+     * @param port the port. Value <code>-1</code> can be used to set default scheme port
      */
     public HttpHost(final String hostname, int port) {
-        this(hostname, port, Protocol.getProtocol("http"));
+        this(hostname, port, Scheme.getScheme("http"));
     }
     
     /**
@@ -94,7 +94,7 @@
      * @param hostname the hostname (IP or DNS name). Can be <code>null</code>.
      */
     public HttpHost(final String hostname) {
-        this(hostname, -1, Protocol.getProtocol("http"));
+        this(hostname, -1, Scheme.getScheme("http"));
     }
     
     /**
@@ -106,7 +106,7 @@
         super();
         this.hostname = httphost.hostname;
         this.port = httphost.port;
-        this.protocol = httphost.protocol;
+        this.scheme = httphost.scheme;
     }
 
     /**
@@ -135,11 +135,11 @@
     }
 
     /**
-     * Returns the protocol.
-     * @return The protocol.
+     * Returns the scheme.
+     * @return The scheme.
      */
-    public Protocol getProtocol() {
-        return this.protocol;
+    public Scheme getScheme() {
+        return this.scheme;
     }
 
     /**
@@ -149,10 +149,10 @@
      */
     public String toURI() {
     	CharArrayBuffer buffer = new CharArrayBuffer(32);        
-        buffer.append(this.protocol.getScheme());
+        buffer.append(this.scheme.getName());
         buffer.append("://");
         buffer.append(this.hostname);
-        if (this.port != this.protocol.getDefaultPort()) {
+        if (this.port != this.scheme.getDefaultPort()) {
             buffer.append(':');
             buffer.append(Integer.toString(this.port));
         }
@@ -162,7 +162,7 @@
     public String toHostString() {
     	CharArrayBuffer buffer = new CharArrayBuffer(32);        
         buffer.append(this.hostname);
-        if (this.port != this.protocol.getDefaultPort()) {
+        if (this.port != this.scheme.getDefaultPort()) {
             buffer.append(':');
             buffer.append(Integer.toString(this.port));
         }
@@ -186,7 +186,7 @@
             HttpHost that = (HttpHost) obj;
             return this.hostname.equalsIgnoreCase(that.hostname) 
                 && this.port == that.port
-                && this.protocol.equals(that.protocol);
+                && this.scheme.equals(that.scheme);
         } else {
             return false;
         }
@@ -199,7 +199,7 @@
         int hash = LangUtils.HASH_SEED;
         hash = LangUtils.hashCode(hash, this.hostname.toUpperCase());
         hash = LangUtils.hashCode(hash, this.port);
-        hash = LangUtils.hashCode(hash, this.protocol);
+        hash = LangUtils.hashCode(hash, this.scheme);
         return hash;
     }
 

Modified: jakarta/httpclient/trunk/http-common/src/java/org/apache/http/ProxyHost.java
URL: http://svn.apache.org/viewcvs/jakarta/httpclient/trunk/http-common/src/java/org/apache/http/ProxyHost.java?rev=321379&r1=321378&r2=321379&view=diff
==============================================================================
--- jakarta/httpclient/trunk/http-common/src/java/org/apache/http/ProxyHost.java (original)
+++ jakarta/httpclient/trunk/http-common/src/java/org/apache/http/ProxyHost.java Sat Oct 15 10:07:11 2005
@@ -55,10 +55,10 @@
      * Constructor for ProxyHost.
      *   
      * @param hostname the hostname (IP or DNS name). Can be <code>null</code>.
-     * @param port the port. Value <code>-1</code> can be used to set default protocol port
+     * @param port the port. Value <code>-1</code> can be used to set default scheme port
      */
     public ProxyHost(final String hostname, int port) {
-        super(hostname, port, Protocol.getProtocol("http"));
+        super(hostname, port, Scheme.getScheme("http"));
     }
     
     /**

Copied: jakarta/httpclient/trunk/http-common/src/java/org/apache/http/Scheme.java (from r239377, jakarta/httpclient/trunk/http-common/src/java/org/apache/http/Protocol.java)
URL: http://svn.apache.org/viewcvs/jakarta/httpclient/trunk/http-common/src/java/org/apache/http/Scheme.java?p2=jakarta/httpclient/trunk/http-common/src/java/org/apache/http/Scheme.java&p1=jakarta/httpclient/trunk/http-common/src/java/org/apache/http/Protocol.java&r1=239377&r2=321379&rev=321379&view=diff
==============================================================================
--- jakarta/httpclient/trunk/http-common/src/java/org/apache/http/Protocol.java (original)
+++ jakarta/httpclient/trunk/http-common/src/java/org/apache/http/Scheme.java Sat Oct 15 10:07:11 2005
@@ -34,19 +34,20 @@
 
 import org.apache.http.io.SecureSocketFactory;
 import org.apache.http.io.SocketFactory;
+import org.apache.http.util.CharArrayBuffer;
 import org.apache.http.util.LangUtils;
 
 /**
- * A class to encapsulate the specifics of a protocol.  This class also
+ * A class to encapsulate the specifics of a protocol scheme. This class also
  * provides the ability to customize the set and characteristics of the
- * protocols used.
+ * schemes used.
  * 
  * <p>One use case for modifying the default set of protocols would be to set a
  * custom SSL socket factory.  This would look something like the following:
  * <pre> 
- * Protocol myHTTPS = new Protocol( "https", new MySSLSocketFactory(), 443 );
+ * Scheme myHTTPS = new Scheme( "https", new MySSLSocketFactory(), 443 );
  * 
- * Protocol.registerProtocol( "https", myHTTPS );
+ * Scheme.registerScheme( "https", myHTTPS );
  * </pre>
  *
  * @author Michael Becke 
@@ -55,103 +56,99 @@
  *  
  * @since 2.0 
  */
-public class Protocol {
+public class Scheme {
 
-    /** The available protocols */
-    private static final Map PROTOCOLS = Collections.synchronizedMap(new HashMap());
+    /** The available schemes */
+    private static final Map SCHEMES = Collections.synchronizedMap(new HashMap());
 
     /**
-     * Registers a new protocol with the given identifier.  If a protocol with
+     * Registers a new scheme with the given identifier. If a scheme with
      * the given ID already exists it will be overridden.  This ID is the same
-     * one used to retrieve the protocol from getProtocol(String).
+     * one used to retrieve the scheme from getScheme(String).
      * 
-     * @param id the identifier for this protocol
-     * @param protocol the protocol to register
+     * @param id the identifier for this scheme
+     * @param scheme the scheme to register
      * 
-     * @see #getProtocol(String)
+     * @see #getScheme(String)
      */
-    public static void registerProtocol(String id, Protocol protocol) {
-
+    public static void registerScheme(final String id, final Scheme scheme) {
         if (id == null) {
-            throw new IllegalArgumentException("id is null");
+            throw new IllegalArgumentException("Id may not be null");
         }
-        if (protocol == null) {
-            throw new IllegalArgumentException("protocol is null");
+        if (scheme == null) {
+            throw new IllegalArgumentException("Scheme may not be null");
         }
-
-        PROTOCOLS.put(id, protocol);
+        SCHEMES.put(id, scheme);
     }
 
     /**
-     * Unregisters the protocol with the given ID.
+     * Unregisters the scheme with the given ID.
      * 
-     * @param id the ID of the protocol to remove
+     * @param id the ID of the scheme to remove
      */
-    public static void unregisterProtocol(String id) {
-
+    public static void unregisterScheme(final String id) {
         if (id == null) {
-            throw new IllegalArgumentException("id is null");
+            throw new IllegalArgumentException("Id may not be null");
         }
-
-        PROTOCOLS.remove(id);
+        SCHEMES.remove(id);
     }
 
     /**
-     * Gets the protocol with the given ID.
+     * Gets the scheme with the given ID.
      * 
-     * @param id the protocol ID
+     * @param id the scheme ID
      * 
-     * @return Protocol a protocol
+     * @return Scheme a scheme
      * 
-     * @throws IllegalStateException if a protocol with the ID cannot be found
+     * @throws IllegalStateException if a scheme with the ID cannot be found
      */
-    public static Protocol getProtocol(String id) 
+    public static Scheme getScheme(String id) 
         throws IllegalStateException {
 
         if (id == null) {
             throw new IllegalArgumentException("id is null");
         }
-        Protocol protocol = (Protocol) PROTOCOLS.get(id);
-        if (protocol == null) {
-            throw new IllegalStateException("Unsupported protocol: '" + id + "'");
+        Scheme scheme = (Scheme) SCHEMES.get(id);
+        if (scheme == null) {
+            throw new IllegalStateException("Unsupported scheme: '" + id + "'");
         }
-        return protocol;
+        return scheme;
     } 
 
-    /** the scheme of this protocol (e.g. http, https) */
-    private String scheme;
+    /** the scheme of this scheme (e.g. http, https) */
+    private String name;
     
-    /** The socket factory for this protocol */
+    /** The socket factory for this scheme */
     private SocketFactory socketFactory;
     
-    /** The default port for this protocol */
+    /** The default port for this scheme */
     private int defaultPort;
     
-    /** True if this protocol is secure */
+    /** True if this scheme is secure */
     private boolean secure;
   
     /**
-     * Constructs a new Protocol. Whether the created protocol is secure depends on
+     * Constructs a new Protocol. Whether the created scheme is secure depends on
      * the class of <code>factory</code>.
      * 
-     * @param scheme the scheme (e.g. http, https)
+     * @param name the scheme name (e.g. http, https)
      * @param factory the factory for creating sockets for communication using
-     * this protocol
-     * @param defaultPort the port this protocol defaults to
+     * this scheme
+     * @param defaultPort the port this scheme defaults to
      */
-    public Protocol(final String scheme, final SocketFactory factory, int defaultPort) {
+    public Scheme(final String name, final SocketFactory factory, int defaultPort) {
         
-        if (scheme == null) {
-            throw new IllegalArgumentException("scheme is null");
+        if (name == null) {
+            throw new IllegalArgumentException("Scheme name may not be null");
         }
         if (factory == null) {
-            throw new IllegalArgumentException("socketFactory is null");
+            throw new IllegalArgumentException("Socket factory may not be null");
         }
         if (defaultPort <= 0) {
-            throw new IllegalArgumentException("port is invalid: " + defaultPort);
+            throw new IllegalArgumentException("Port is invalid: " + defaultPort);
         }
         
-        this.scheme = scheme;
+        this.name = name;
         this.socketFactory = factory;
         this.defaultPort = defaultPort;
         this.secure = (factory instanceof SecureSocketFactory);
@@ -177,20 +174,20 @@
      * Returns the scheme.
      * @return The scheme
      */
-    public String getScheme() {
-        return scheme;
+    public String getName() {
+        return name;
     }
 
     /**
-     * Returns true if this protocol is secure
-     * @return true if this protocol is secure
+     * Returns true if this scheme is secure
+     * @return true if this scheme is secure
      */
     public boolean isSecure() {
         return secure;
     }
     
     /**
-     * Resolves the correct port for this protocol.  Returns the given port if
+     * Resolves the correct port for this scheme.  Returns the given port if
      * valid or the default port otherwise.
      * 
      * @param port the port to be resolved
@@ -206,7 +203,11 @@
      * @return a string representation of this object.
      */
     public String toString() {
-        return scheme + ":" + defaultPort;
+    	CharArrayBuffer buffer = new CharArrayBuffer(32);
+    	buffer.append(this.name);
+    	buffer.append(':');
+    	buffer.append(Integer.toString(this.defaultPort));
+        return buffer.toString();
     }
     
     /**
@@ -215,11 +216,13 @@
      * @return true if the objects are equal.
      */
     public boolean equals(Object obj) {
-        if (obj instanceof Protocol) {
-            Protocol p = (Protocol) obj;
+        if (obj == null) return false;
+        if (this == obj) return true;
+        if (obj instanceof Scheme) {
+            Scheme p = (Scheme) obj;
             return (
                 defaultPort == p.getDefaultPort()
-                && scheme.equalsIgnoreCase(p.getScheme())
+                && name.equalsIgnoreCase(p.getName())
                 && secure == p.isSecure()
                 && socketFactory.equals(p.getSocketFactory()));
             
@@ -236,7 +239,7 @@
     public int hashCode() {
         int hash = LangUtils.HASH_SEED;
         hash = LangUtils.hashCode(hash, this.defaultPort);
-        hash = LangUtils.hashCode(hash, this.scheme.toLowerCase());
+        hash = LangUtils.hashCode(hash, this.name.toLowerCase());
         hash = LangUtils.hashCode(hash, this.secure);
         hash = LangUtils.hashCode(hash, this.socketFactory);
         return hash;

Modified: jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/DefaultHttpClientConnection.java
URL: http://svn.apache.org/viewcvs/jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/DefaultHttpClientConnection.java?rev=321379&r1=321378&r2=321379&view=diff
==============================================================================
--- jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/DefaultHttpClientConnection.java (original)
+++ jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/DefaultHttpClientConnection.java Sat Oct 15 10:07:11 2005
@@ -112,7 +112,7 @@
         if (this.targethost == null) {
         	throw new IllegalStateException("Target host not specified");
         }
-        SocketFactory socketfactory = this.targethost.getProtocol().getSocketFactory();
+        SocketFactory socketfactory = this.targethost.getScheme().getSocketFactory();
         Socket socket = socketfactory.createSocket(
                 this.targethost.getHostName(), this.targethost.getPort(), 
                 this.localAddress, 0, 

Modified: jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/DefaultHttpProxyConnection.java
URL: http://svn.apache.org/viewcvs/jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/DefaultHttpProxyConnection.java?rev=321379&r1=321378&r2=321379&view=diff
==============================================================================
--- jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/DefaultHttpProxyConnection.java (original)
+++ jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/DefaultHttpProxyConnection.java Sat Oct 15 10:07:11 2005
@@ -35,7 +35,7 @@
 
 import org.apache.http.HttpHost;
 import org.apache.http.HttpProxyConnection;
-import org.apache.http.Protocol;
+import org.apache.http.Scheme;
 import org.apache.http.ProxyHost;
 import org.apache.http.io.SecureSocketFactory;
 import org.apache.http.io.SocketFactory;
@@ -83,7 +83,7 @@
                     this.tunneltarget + " is already active");
         }
         assertOpen();
-        Protocol protocol = targetHost.getProtocol();
+        Scheme protocol = targetHost.getScheme();
         SocketFactory socketfactory = protocol.getSocketFactory();
         if (socketfactory instanceof SecureSocketFactory) {
             Socket socket = ((SecureSocketFactory)socketfactory)

Modified: jakarta/httpclient/trunk/http-common/src/java/org/apache/http/io/SocketFactory.java
URL: http://svn.apache.org/viewcvs/jakarta/httpclient/trunk/http-common/src/java/org/apache/http/io/SocketFactory.java?rev=321379&r1=321378&r2=321379&view=diff
==============================================================================
--- jakarta/httpclient/trunk/http-common/src/java/org/apache/http/io/SocketFactory.java (original)
+++ jakarta/httpclient/trunk/http-common/src/java/org/apache/http/io/SocketFactory.java Sat Oct 15 10:07:11 2005
@@ -35,7 +35,7 @@
 import java.net.UnknownHostException;
 
 import org.apache.http.ConnectTimeoutException;
-import org.apache.http.Protocol;
+import org.apache.http.Scheme;
 import org.apache.http.params.HttpParams;
 
 /**
@@ -47,7 +47,7 @@
  * <code>HostConfiguration</code>s, and <code>equals()</code> and <code>hashCode()</code> are 
  * required for the correct operation of some connection managers.</p>
  * 
- * @see Protocol
+ * @see Scheme
  * 
  * @author Michael Becke
  * @author <a href="mailto:mbowler@GargoyleSoftware.com">Mike Bowler</a>

Modified: jakarta/httpclient/trunk/http-common/src/test/org/apache/http/TestAll.java
URL: http://svn.apache.org/viewcvs/jakarta/httpclient/trunk/http-common/src/test/org/apache/http/TestAll.java?rev=321379&r1=321378&r2=321379&view=diff
==============================================================================
--- jakarta/httpclient/trunk/http-common/src/test/org/apache/http/TestAll.java (original)
+++ jakarta/httpclient/trunk/http-common/src/test/org/apache/http/TestAll.java Sat Oct 15 10:07:11 2005
@@ -53,6 +53,7 @@
         suite.addTest(TestHttpVersion.suite());
         suite.addTest(TestStatusLine.suite());
         suite.addTest(TestRequestLine.suite());
+        suite.addTest(TestScheme.suite());
         suite.addTest(TestHttpHost.suite());
 
         suite.addTest(TestAllIO.suite());

Modified: jakarta/httpclient/trunk/http-common/src/test/org/apache/http/TestHttpHost.java
URL: http://svn.apache.org/viewcvs/jakarta/httpclient/trunk/http-common/src/test/org/apache/http/TestHttpHost.java?rev=321379&r1=321378&r2=321379&view=diff
==============================================================================
--- jakarta/httpclient/trunk/http-common/src/test/org/apache/http/TestHttpHost.java (original)
+++ jakarta/httpclient/trunk/http-common/src/test/org/apache/http/TestHttpHost.java Sat Oct 15 10:07:11 2005
@@ -60,28 +60,28 @@
     protected void setUp() throws Exception {
         super.setUp();
         SocketFactory socketfactory = PlainSocketFactory.getSocketFactory();
-        final Protocol http = new Protocol("http", socketfactory, 80);
-        Protocol.registerProtocol("http", http);
+        final Scheme http = new Scheme("http", socketfactory, 80);
+        Scheme.registerScheme("http", http);
     }
     
     public void testConstructor() {
-        Protocol http = Protocol.getProtocol("http");
+        Scheme http = Scheme.getScheme("http");
         HttpHost host1 = new HttpHost("somehost");
         assertEquals("somehost", host1.getHostName()); 
         assertEquals(http.getDefaultPort(), host1.getPort()); 
-        assertEquals(http, host1.getProtocol()); 
+        assertEquals(http, host1.getScheme()); 
         HttpHost host2 = new HttpHost("somehost", 8080);
         assertEquals("somehost", host2.getHostName()); 
         assertEquals(8080, host2.getPort()); 
-        assertEquals(http, host2.getProtocol()); 
+        assertEquals(http, host2.getScheme()); 
         HttpHost host3 = new HttpHost("somehost", -1);
         assertEquals("somehost", host3.getHostName()); 
         assertEquals(http.getDefaultPort(), host3.getPort()); 
-        assertEquals(http, host3.getProtocol()); 
+        assertEquals(http, host3.getScheme()); 
         HttpHost host4 = new HttpHost("somehost", 8080, http);
         assertEquals("somehost", host4.getHostName()); 
         assertEquals(8080, host4.getPort()); 
-        assertEquals(http, host4.getProtocol()); 
+        assertEquals(http, host4.getScheme()); 
         try {
             new HttpHost(null, -1, null);
             fail("IllegalArgumentException should have been thrown");
@@ -97,22 +97,22 @@
         ProxyHost proxyhost1 = new ProxyHost("somehost");
         assertEquals("somehost", proxyhost1.getHostName()); 
         assertEquals(http.getDefaultPort(), proxyhost1.getPort()); 
-        assertEquals(http, proxyhost1.getProtocol()); 
+        assertEquals(http, proxyhost1.getScheme()); 
 
         ProxyHost proxyhost2 = new ProxyHost("somehost", 8080);
         assertEquals("somehost", proxyhost2.getHostName()); 
         assertEquals(8080, proxyhost2.getPort()); 
-        assertEquals(http, proxyhost2.getProtocol()); 
+        assertEquals(http, proxyhost2.getScheme()); 
 
         ProxyHost proxyhost3 = new ProxyHost(proxyhost2);
         assertEquals("somehost", proxyhost3.getHostName()); 
         assertEquals(8080, proxyhost3.getPort()); 
-        assertEquals(http, proxyhost3.getProtocol()); 
+        assertEquals(http, proxyhost3.getScheme()); 
     }
     
     public void testHashCode() {
-        Protocol http = Protocol.getProtocol("http");
-        Protocol myhttp = new Protocol("myhttp", 
+        Scheme http = Scheme.getScheme("http");
+        Scheme myhttp = new Scheme("myhttp", 
                 NIOSocketFactory.getSocketFactory(), 8080);
         HttpHost host1 = new HttpHost("somehost", 8080, http);
         HttpHost host2 = new HttpHost("somehost", 80, http);
@@ -130,8 +130,8 @@
     }
     
     public void testEquals() {
-        Protocol http = Protocol.getProtocol("http");
-        Protocol myhttp = new Protocol("myhttp", 
+        Scheme http = Scheme.getScheme("http");
+        Scheme myhttp = new Scheme("myhttp", 
                 NIOSocketFactory.getSocketFactory(), 8080);
         HttpHost host1 = new HttpHost("somehost", 8080, http);
         HttpHost host2 = new HttpHost("somehost", 80, http);
@@ -151,8 +151,8 @@
     }
     
     public void testToString() {
-        Protocol http = Protocol.getProtocol("http");
-        Protocol myhttp = new Protocol("myhttp", 
+        Scheme http = Scheme.getScheme("http");
+        Scheme myhttp = new Scheme("myhttp", 
                 NIOSocketFactory.getSocketFactory(), 8080);
         HttpHost host1 = new HttpHost("somehost");
         assertEquals("http://somehost", host1.toString());
@@ -169,7 +169,7 @@
     }
 
     public void testToHostString() {
-        Protocol http = Protocol.getProtocol("http");
+        Scheme http = Scheme.getScheme("http");
         HttpHost host1 = new HttpHost("somehost");
         assertEquals("somehost", host1.toHostString());
         HttpHost host2 = new HttpHost("somehost", http.getDefaultPort());
@@ -181,7 +181,7 @@
     }
 
     public void testClone() {
-        HttpHost host1 = new HttpHost("somehost", 8888, Protocol.getProtocol("http"));
+        HttpHost host1 = new HttpHost("somehost", 8888, Scheme.getScheme("http"));
         HttpHost host2 = (HttpHost) host1.clone(); 
         assertEquals(host1, host2);
         ProxyHost proxyhost1 = new ProxyHost("somehost", 8888);

Added: jakarta/httpclient/trunk/http-common/src/test/org/apache/http/TestScheme.java
URL: http://svn.apache.org/viewcvs/jakarta/httpclient/trunk/http-common/src/test/org/apache/http/TestScheme.java?rev=321379&view=auto
==============================================================================
--- jakarta/httpclient/trunk/http-common/src/test/org/apache/http/TestScheme.java (added)
+++ jakarta/httpclient/trunk/http-common/src/test/org/apache/http/TestScheme.java Sat Oct 15 10:07:11 2005
@@ -0,0 +1,168 @@
+/*
+ * $HeadURL$
+ * $Revision$
+ * $Date$
+ * 
+ * ====================================================================
+ *
+ *  Copyright 1999-2004 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation.  For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ *
+ */
+
+package org.apache.http;
+
+import org.apache.http.impl.io.PlainSocketFactory;
+import org.apache.http.impl.io.SSLSocketFactory;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+/**
+ * Unit tests for {@link Scheme}.
+ *
+ * @author <a href="mailto:oleg at ural.ru">Oleg Kalnichevski</a>
+ */
+public class TestScheme extends TestCase {
+
+    public TestScheme(String testName) {
+        super(testName);
+    }
+
+    public static void main(String args[]) {
+        String[] testCaseName = { TestScheme.class.getName() };
+        junit.textui.TestRunner.main(testCaseName);
+    }
+
+    public static Test suite() {
+        return new TestSuite(TestScheme.class);
+    }
+
+    public void testConstructor() {
+        Scheme http = new Scheme("http", PlainSocketFactory.getSocketFactory(), 80);
+        assertEquals("http", http.getName()); 
+        assertEquals(80, http.getDefaultPort()); 
+        assertEquals(PlainSocketFactory.getSocketFactory(), http.getSocketFactory()); 
+        assertFalse(http.isSecure()); 
+        Scheme https = new Scheme("http", SSLSocketFactory.getSocketFactory(), 443);
+        assertEquals("http", https.getName()); 
+        assertEquals(443, https.getDefaultPort()); 
+        assertEquals(SSLSocketFactory.getSocketFactory(), https.getSocketFactory()); 
+        assertTrue(https.isSecure());
+        
+        try {
+        	new Scheme(null, PlainSocketFactory.getSocketFactory(), 80);
+        	fail("IllegalArgumentException should have been thrown");
+        } catch (IllegalArgumentException ex) {
+        	// expected
+        }
+        try {
+        	new Scheme("http", null, 80);
+        	fail("IllegalArgumentException should have been thrown");
+        } catch (IllegalArgumentException ex) {
+        	// expected
+        }
+        try {
+        	new Scheme("http", PlainSocketFactory.getSocketFactory(), -1);
+        	fail("IllegalArgumentException should have been thrown");
+        } catch (IllegalArgumentException ex) {
+        	// expected
+        }
+    }
+
+    public void testRegisterUnregister() {
+        Scheme http = new Scheme("http", PlainSocketFactory.getSocketFactory(), 80);
+        Scheme https = new Scheme("http", SSLSocketFactory.getSocketFactory(), 443);
+    	Scheme.registerScheme("http", http);
+    	Scheme.registerScheme("https", https);
+    	assertEquals(http, Scheme.getScheme("http"));
+    	assertEquals(https, Scheme.getScheme("https"));
+    	Scheme.unregisterScheme("http");
+    	Scheme.unregisterScheme("https");
+    	
+    	try {
+        	Scheme.getScheme("http");
+        	fail("IllegalStateException should have been thrown");
+    	} catch (IllegalStateException ex) {
+        	// expected
+    	}
+    }
+
+    public void testIllegalRegisterUnregister() {
+        Scheme http = new Scheme("http", PlainSocketFactory.getSocketFactory(), 80);
+        try {
+        	Scheme.registerScheme(null, http);
+        	fail("IllegalArgumentException should have been thrown");
+        } catch (IllegalArgumentException ex) {
+        	// expected
+        }
+        try {
+        	Scheme.registerScheme("http", null);
+        	fail("IllegalArgumentException should have been thrown");
+        } catch (IllegalArgumentException ex) {
+        	// expected
+        }
+        try {
+        	Scheme.unregisterScheme(null);
+        	fail("IllegalArgumentException should have been thrown");
+        } catch (IllegalArgumentException ex) {
+        	// expected
+        }
+        try {
+        	Scheme.getScheme(null);
+        	fail("IllegalArgumentException should have been thrown");
+        } catch (IllegalArgumentException ex) {
+        	// expected
+        }
+    }
+    
+    public void testResolvePort() {
+        Scheme http = new Scheme("http", PlainSocketFactory.getSocketFactory(), 80);
+        assertEquals(8080, http.resolvePort(8080));
+        assertEquals(80, http.resolvePort(-1));
+    }
+    
+    public void testHashCode() {
+        Scheme http = new Scheme("http", PlainSocketFactory.getSocketFactory(), 80);
+        Scheme myhttp = new Scheme("http", PlainSocketFactory.getSocketFactory(), 80);
+        Scheme https = new Scheme("http", SSLSocketFactory.getSocketFactory(), 443);
+        assertTrue(http.hashCode() != https.hashCode());
+        assertTrue(http.hashCode() == myhttp.hashCode());
+    }
+    
+    public void testEquals() {
+        Scheme http = new Scheme("http", PlainSocketFactory.getSocketFactory(), 80);
+        Scheme myhttp = new Scheme("http", PlainSocketFactory.getSocketFactory(), 80);
+        Scheme https = new Scheme("http", SSLSocketFactory.getSocketFactory(), 443);
+        assertFalse(http.equals(https));
+        assertFalse(http.equals(null));
+        assertFalse(http.equals("http"));
+        assertTrue(http.equals(http));
+        assertTrue(http.equals(myhttp));
+        assertFalse(http.equals(https));
+    }
+    
+    public void testToString() {
+        Scheme http = new Scheme("http", PlainSocketFactory.getSocketFactory(), 80);
+        assertEquals("http:80", http.toString());
+    }
+    
+}

Propchange: jakarta/httpclient/trunk/http-common/src/test/org/apache/http/TestScheme.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jakarta/httpclient/trunk/http-common/src/test/org/apache/http/TestScheme.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: jakarta/httpclient/trunk/http-common/src/test/org/apache/http/TestScheme.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain