Author: olamy
Date: Fri Sep 23 20:11:49 2011
New Revision: 1174993

URL: http://svn.apache.org/viewvc?rev=1174993&view=rev
Log:
[WAGON-351] fix time out configuration in wagon-http.

Modified:
    
maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java
    
maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http/HttpMethodConfiguration.java

Modified: 
maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java
URL: 
http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java?rev=1174993&r1=1174992&r2=1174993&view=diff
==============================================================================
--- 
maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java
 (original)
+++ 
maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java
 Fri Sep 23 20:11:49 2011
@@ -684,7 +684,7 @@ public abstract class AbstractHttpClient
             }
         }
 
-        if ( config == null || config.getConnectionTimeout() == 
HttpMethodConfiguration.DEFAULT_CONNECTION_TIMEOUT )
+        if ( config == null || config.getReadTimeout() == 
HttpMethodConfiguration.DEFAULT_CONNECTION_TIMEOUT )
         {
             method.getParams().setParameter( CoreConnectionPNames.SO_TIMEOUT, 
getTimeout() );
         }

Modified: 
maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http/HttpMethodConfiguration.java
URL: 
http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http/HttpMethodConfiguration.java?rev=1174993&r1=1174992&r2=1174993&view=diff
==============================================================================
--- 
maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http/HttpMethodConfiguration.java
 (original)
+++ 
maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http/HttpMethodConfiguration.java
 Fri Sep 23 20:11:49 2011
@@ -40,6 +40,8 @@ public class HttpMethodConfiguration
 
     public static final int DEFAULT_CONNECTION_TIMEOUT = 60000;
 
+    public static final int DEFAULT_READ_TIMEOUT = 60000;
+
     private static final String COERCE_PATTERN = "%(\\w+),(.+)";
 
     private Boolean useDefaultHeaders;
@@ -50,6 +52,8 @@ public class HttpMethodConfiguration
 
     private int connectionTimeout = DEFAULT_CONNECTION_TIMEOUT;
 
+    private int readTimeout = DEFAULT_READ_TIMEOUT;
+
     public boolean isUseDefaultHeaders()
     {
         return useDefaultHeaders == null || useDefaultHeaders.booleanValue();
@@ -111,6 +115,17 @@ public class HttpMethodConfiguration
         return this;
     }
 
+    public int getReadTimeout()
+    {
+        return readTimeout;
+    }
+
+    public HttpMethodConfiguration setReadTimeout( int readTimeout )
+    {
+        this.readTimeout = readTimeout;
+        return this;
+    }
+
     public HttpParams asMethodParams( HttpParams defaults )
     {
         if ( !hasParams() )
@@ -127,7 +142,7 @@ public class HttpMethodConfiguration
 
     private boolean hasParams()
     {
-        if ( connectionTimeout < 1 && params == null )
+        if ( connectionTimeout < 1 && params == null && readTimeout < 1 )
         {
             return false;
         }
@@ -144,7 +159,12 @@ public class HttpMethodConfiguration
 
         if ( connectionTimeout > 0 )
         {
-            p.setParameter( CoreConnectionPNames.SO_TIMEOUT, connectionTimeout 
);
+            p.setParameter( CoreConnectionPNames.CONNECTION_TIMEOUT, 
connectionTimeout );
+        }
+
+        if ( readTimeout > 0 )
+        {
+            p.setParameter( CoreConnectionPNames.SO_TIMEOUT, readTimeout );
         }
 
         if ( params != null )
@@ -243,8 +263,8 @@ public class HttpMethodConfiguration
         {
             Map.Entry<String, String> entry = (Map.Entry) it.next();
 
-            String key = (String) entry.getKey();
-            String value = (String) entry.getValue();
+            String key = entry.getKey();
+            String value = entry.getValue();
 
             Header header = new BasicHeader( key, value );
             result[index++] = header;
@@ -258,6 +278,7 @@ public class HttpMethodConfiguration
         HttpMethodConfiguration copy = new HttpMethodConfiguration();
 
         copy.setConnectionTimeout( getConnectionTimeout() );
+        copy.setReadTimeout( getReadTimeout() );
         if ( getHeaders() != null )
         {
             copy.setHeaders( getHeaders() );
@@ -303,6 +324,11 @@ public class HttpMethodConfiguration
                 result.setConnectionTimeout( local.getConnectionTimeout() );
             }
 
+            if ( local.getReadTimeout() != DEFAULT_READ_TIMEOUT )
+            {
+                result.setReadTimeout( local.getReadTimeout() );
+            }
+
             if ( local.getHeaders() != null )
             {
                 result.getHeaders().putAll( local.getHeaders() );


Reply via email to