Author: olamy
Date: Wed Oct 24 21:14:46 2012
New Revision: 1401889
URL: http://svn.apache.org/viewvc?rev=1401889&view=rev
Log:
[MRM-1705] Feature to add custom parameters and/or headers when requesting an
external repositories.
correctly use headers.
Modified:
archiva/trunk/archiva-modules/archiva-base/archiva-proxy/src/main/java/org/apache/archiva/proxy/DefaultRepositoryProxyConnectors.java
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/DownloadRemoteIndexTask.java
archiva/trunk/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/RepositoryModelResolver.java
Modified:
archiva/trunk/archiva-modules/archiva-base/archiva-proxy/src/main/java/org/apache/archiva/proxy/DefaultRepositoryProxyConnectors.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-proxy/src/main/java/org/apache/archiva/proxy/DefaultRepositoryProxyConnectors.java?rev=1401889&r1=1401888&r2=1401889&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-base/archiva-proxy/src/main/java/org/apache/archiva/proxy/DefaultRepositoryProxyConnectors.java
(original)
+++
archiva/trunk/archiva-modules/archiva-base/archiva-proxy/src/main/java/org/apache/archiva/proxy/DefaultRepositoryProxyConnectors.java
Wed Oct 24 21:14:46 2012
@@ -96,7 +96,7 @@ import java.util.concurrent.ConcurrentHa
* @todo exception handling needs work - "not modified" is not really an
exceptional case, and it has more layers than
* your average brown onion
*/
-@Service ("repositoryProxyConnectors#default")
+@Service ( "repositoryProxyConnectors#default" )
public class DefaultRepositoryProxyConnectors
implements RepositoryProxyConnectors, RegistryListener
{
@@ -106,21 +106,21 @@ public class DefaultRepositoryProxyConne
*
*/
@Inject
- @Named (value = "archivaConfiguration#default")
+ @Named ( value = "archivaConfiguration#default" )
private ArchivaConfiguration archivaConfiguration;
/**
*
*/
@Inject
- @Named (value = "repositoryContentFactory#default")
+ @Named ( value = "repositoryContentFactory#default" )
private RepositoryContentFactory repositoryFactory;
/**
*
*/
@Inject
- @Named (value = "metadataTools#default")
+ @Named ( value = "metadataTools#default" )
private MetadataTools metadataTools;
/**
@@ -161,7 +161,7 @@ public class DefaultRepositoryProxyConne
*
*/
@Inject
- @Named (value = "archivaTaskScheduler#repository")
+ @Named ( value = "archivaTaskScheduler#repository" )
private ArchivaTaskScheduler scheduler;
@Inject
@@ -175,7 +175,7 @@ public class DefaultRepositoryProxyConne
}
- @SuppressWarnings ("unchecked")
+ @SuppressWarnings ( "unchecked" )
private void initConnectorsAndNetworkProxies()
{
@@ -705,8 +705,10 @@ public class DefaultRepositoryProxyConne
}
wagon = ( networkProxy != null && networkProxy.isUseNtlm() )
- ? wagonFactory.getWagon( new
WagonFactoryRequest().protocol( "wagon#" + protocol + "-ntlm" ) )
- : wagonFactory.getWagon( new
WagonFactoryRequest().protocol( "wagon#" + protocol ) );
+ ? wagonFactory.getWagon( new WagonFactoryRequest( "wagon#"
+ protocol + "-ntlm",
+
remoteRepository.getRepository().getExtraHeaders() ) )
+ : wagonFactory.getWagon( new WagonFactoryRequest( "wagon#"
+ protocol,
+
remoteRepository.getRepository().getExtraHeaders() ) );
if ( wagon == null )
{
throw new ProxyException( "Unsupported target repository
protocol: " + protocol );
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=1401889&r1=1401888&r2=1401889&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
Wed Oct 24 21:14:46 2012
@@ -135,8 +135,8 @@ public class DownloadRemoteIndexTask
new URL( this.remoteRepository.getUrl() ).getProtocol() + ( (
this.networkProxy != null
&& this.networkProxy.isUseNtlm() ) ? "-ntlm" : "" );
- final StreamWagon wagon =
- (StreamWagon) wagonFactory.getWagon( new
WagonFactoryRequest().protocol( wagonProtocol ) );
+ final StreamWagon wagon = (StreamWagon) wagonFactory.getWagon(
+ new WagonFactoryRequest( wagonProtocol,
this.remoteRepository.getExtraHeaders() ) );
int timeoutInMilliseconds = remoteRepository.getTimeout() * 1000;
// FIXME olamy having 2 config values
wagon.setReadTimeout( timeoutInMilliseconds );
Modified:
archiva/trunk/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/RepositoryModelResolver.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/RepositoryModelResolver.java?rev=1401889&r1=1401888&r2=1401889&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/RepositoryModelResolver.java
(original)
+++
archiva/trunk/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/RepositoryModelResolver.java
Wed Oct 24 21:14:46 2012
@@ -238,9 +238,12 @@ public class RepositoryModelResolver
// if it's a ntlm proxy we have to lookup the wagon light
which support thats
// wagon http client doesn't support that
wagon = ( networkProxy != null && networkProxy.isUseNtlm() )
- ? wagonFactory.getWagon( new
WagonFactoryRequest().protocol( "wagon#" + protocol + "-ntlm" ) )
- : wagonFactory.getWagon( new
WagonFactoryRequest().protocol( "wagon#" + protocol ) );
- wagon = wagonFactory.getWagon( new
WagonFactoryRequest().protocol( "wagon#" + protocol ) );
+ ? wagonFactory.getWagon(
+ new WagonFactoryRequest( "wagon#" + protocol + "-ntlm",
remoteRepository.getExtraHeaders() ) )
+ : wagonFactory.getWagon(
+ new WagonFactoryRequest( "wagon#" + protocol,
remoteRepository.getExtraHeaders() ) );
+ wagon = wagonFactory.getWagon(
+ new WagonFactoryRequest( "wagon#" + protocol,
remoteRepository.getExtraHeaders() ) );
if ( wagon == null )
{
throw new RuntimeException( "Unsupported remote repository
protocol: " + protocol );