ProtocolSocketFactory equals and hashCode don't support subclassing
-------------------------------------------------------------------
Key: HTTPCLIENT-593
URL: http://issues.apache.org/jira/browse/HTTPCLIENT-593
Project: HttpComponents HttpClient
Issue Type: Bug
Components: HttpClient
Affects Versions: 3.1 Alpha 1, Nightly Builds
Reporter: Chris Audley
Priority: Minor
In the implemenation of equals and hashCode for the classes
org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory
org.apache.commons.httpclient.protocol.SSLProtocolSocketFactory
The implementation of equals and hashCode attempts to make all instances of the
classes equal. However, the manner in which the methods are coded makes it
necessary for any subclass to implement equals and hashCode themselves. A
minor change to the methods in these classes will make possible to subclass
these factories without re-implementing the equals and hashCode. The method
equals should be written as
return ((obj != null) && obj.getClass().equals(getClass()));
rather than
return ((obj != null) &&
obj.getClass().equals(DefaultProtocolSocketFactory.class));
And similarly, the hashCode method should be
return getClass().hashCode();
rather than
return DefaultProtocolSocketFactory.class.hashCode();
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]