Author: olamy
Date: Mon Sep 26 20:34:42 2011
New Revision: 1176039

URL: http://svn.apache.org/viewvc?rev=1176039&view=rev
Log:
[MRM-1524] downloading (optionnaly) remote index to display remote artifacts in 
search results : add a download remote time out field as file are more import

Modified:
    
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/pom.xml
    
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/DownloadRemoteIndexTask.java

Modified: 
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/pom.xml
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/pom.xml?rev=1176039&r1=1176038&r2=1176039&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/pom.xml
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/pom.xml
 Mon Sep 26 20:34:42 2011
@@ -124,7 +124,7 @@
     <dependency>
       <groupId>org.apache.maven.wagon</groupId>
       <artifactId>wagon-http</artifactId>
-      <scope>test</scope>
+      <scope>provided</scope>
     </dependency>
 
   </dependencies>

Modified: 
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/DownloadRemoteIndexTask.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/DownloadRemoteIndexTask.java?rev=1176039&r1=1176038&r2=1176039&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/DownloadRemoteIndexTask.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/DownloadRemoteIndexTask.java
 Mon Sep 26 20:34:42 2011
@@ -39,6 +39,8 @@ import org.apache.maven.wagon.events.Tra
 import org.apache.maven.wagon.events.TransferListener;
 import org.apache.maven.wagon.proxy.ProxyInfo;
 import org.apache.maven.wagon.repository.Repository;
+import org.apache.maven.wagon.shared.http.HttpConfiguration;
+import org.apache.maven.wagon.shared.http.HttpMethodConfiguration;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -47,6 +49,7 @@ import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
+import java.lang.reflect.Method;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.Arrays;
@@ -120,6 +123,8 @@ public class DownloadRemoteIndexTask
             String baseIndexUrl = indexingContext.getIndexUpdateUrl();
 
             final Wagon wagon = wagonFactory.getWagon( new URL( 
this.remoteRepository.getUrl() ).getProtocol() );
+            setupWagonReadTimeout( wagon );
+
             // TODO transferListener
             wagon.addTransferListener( new DownloadListener() );
             ProxyInfo proxyInfo = null;
@@ -244,6 +249,22 @@ public class DownloadRemoteIndexTask
         }
     }
 
+    private void setupWagonReadTimeout( Wagon wagon )
+    {
+        try
+        {
+            HttpConfiguration httpConfiguration = new 
HttpConfiguration().setAll(
+                new HttpMethodConfiguration().setReadTimeout( 
remoteRepository.getRemoteDownloadTimeout() ) );
+            Method setHttpConfigurationMethod =
+                wagon.getClass().getMethod( "setHttpConfiguration", 
HttpConfiguration.class );
+            setHttpConfigurationMethod.invoke( wagon, httpConfiguration );
+        }
+        catch ( Exception e )
+        {
+            log.debug( "unable to set download remote time out for index {}", 
e.getMessage(), e );
+        }
+    }
+
 
     public static class DownloadListener
         implements TransferListener


Reply via email to