You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by se...@apache.org on 2007/02/22 17:52:17 UTC
svn commit: r510585 -
/jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/HostConfiguration.java
Author: sebb
Date: Thu Feb 22 08:52:16 2007
New Revision: 510585
URL: http://svn.apache.org/viewvc?view=rev&rev=510585
Log:
Use super.clone() to ensure subclass clone() methods work
Modified:
jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/HostConfiguration.java
Modified: jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/HostConfiguration.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/HostConfiguration.java?view=diff&rev=510585&r1=510584&r2=510585
==============================================================================
--- jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/HostConfiguration.java (original)
+++ jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/HostConfiguration.java Thu Feb 22 08:52:16 2007
@@ -81,7 +81,11 @@
* @param hostConfiguration the hostConfiguration to copy
*/
public HostConfiguration (final HostConfiguration hostConfiguration) {
- // wrap all of the assignments in a synchronized block to avoid
+ init(hostConfiguration);
+ }
+
+ private void init(final HostConfiguration hostConfiguration) {
+ // wrap all of the assignments in a synchronized block to avoid
// having to negotiate the monitor for each method call
synchronized (hostConfiguration) {
try {
@@ -107,7 +111,14 @@
* @see java.lang.Object#clone()
*/
public Object clone() {
- return new HostConfiguration(this);
+ HostConfiguration copy;
+ try {
+ copy = (HostConfiguration) super.clone();
+ } catch (CloneNotSupportedException e) {
+ throw new IllegalArgumentException("Host configuration could not be cloned");
+ }
+ copy.init(this);
+ return copy;
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org