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