Author: olamy
Date: Wed Oct 31 21:40:38 2012
New Revision: 1404367

URL: http://svn.apache.org/viewvc?rev=1404367&view=rev
Log:
move ntlm wagon trick in wagonFactory to avoid duplicate code

Modified:
    archiva/trunk/archiva-modules/archiva-base/archiva-proxy-common/pom.xml
    
archiva/trunk/archiva-modules/archiva-base/archiva-proxy-common/src/main/java/org/apache/archiva/proxy/common/DefaultWagonFactory.java
    
archiva/trunk/archiva-modules/archiva-base/archiva-proxy-common/src/main/java/org/apache/archiva/proxy/common/WagonFactoryRequest.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-common/pom.xml
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-proxy-common/pom.xml?rev=1404367&r1=1404366&r2=1404367&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-proxy-common/pom.xml 
(original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-proxy-common/pom.xml Wed 
Oct 31 21:40:38 2012
@@ -33,6 +33,10 @@
       <artifactId>archiva-plexus-bridge</artifactId>
     </dependency>
     <dependency>
+      <groupId>org.apache.archiva</groupId>
+      <artifactId>archiva-repository-admin-api</artifactId>
+    </dependency>
+    <dependency>
       <groupId>org.apache.maven.wagon</groupId>
       <artifactId>wagon-provider-api</artifactId>
     </dependency>
@@ -87,6 +91,7 @@
               org.springframework.stereotype;version="[3,4)",
               org.springframework.context;version="[3,4)",
               org.springframework.beans;version="[3,4)",
+              org.apache.archiva.admin.model.beans;version=${project.version},
               org.apache.maven.wagon*,
               org.slf4j;resolution:=optional
             </Import-Package>

Modified: 
archiva/trunk/archiva-modules/archiva-base/archiva-proxy-common/src/main/java/org/apache/archiva/proxy/common/DefaultWagonFactory.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-proxy-common/src/main/java/org/apache/archiva/proxy/common/DefaultWagonFactory.java?rev=1404367&r1=1404366&r2=1404367&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-base/archiva-proxy-common/src/main/java/org/apache/archiva/proxy/common/DefaultWagonFactory.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-base/archiva-proxy-common/src/main/java/org/apache/archiva/proxy/common/DefaultWagonFactory.java
 Wed Oct 31 21:40:38 2012
@@ -62,6 +62,13 @@ public class DefaultWagonFactory
                 ? wagonFactoryRequest.getProtocol()
                 : "wagon#" + wagonFactoryRequest.getProtocol();
 
+            // if it's a ntlm proxy we have to lookup the wagon light which 
support thats
+            // wagon http client doesn't support that
+            if ( wagonFactoryRequest.getNetworkProxy() != null && 
wagonFactoryRequest.getNetworkProxy().isUseNtlm() )
+            {
+                protocol = protocol + "-ntlm";
+            }
+
             Wagon wagon = applicationContext.getBean( protocol, Wagon.class );
             wagon.addTransferListener( debugTransferListener );
             configureUserAgent( wagon, wagonFactoryRequest );

Modified: 
archiva/trunk/archiva-modules/archiva-base/archiva-proxy-common/src/main/java/org/apache/archiva/proxy/common/WagonFactoryRequest.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-proxy-common/src/main/java/org/apache/archiva/proxy/common/WagonFactoryRequest.java?rev=1404367&r1=1404366&r2=1404367&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-base/archiva-proxy-common/src/main/java/org/apache/archiva/proxy/common/WagonFactoryRequest.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-base/archiva-proxy-common/src/main/java/org/apache/archiva/proxy/common/WagonFactoryRequest.java
 Wed Oct 31 21:40:38 2012
@@ -18,6 +18,8 @@ package org.apache.archiva.proxy.common;
  * under the License.
  */
 
+import org.apache.archiva.admin.model.beans.NetworkProxy;
+
 import java.util.HashMap;
 import java.util.Map;
 
@@ -37,6 +39,8 @@ public class WagonFactoryRequest
 
     private String userAgent = "Java-Archiva";
 
+    private NetworkProxy networkProxy;
+
     public WagonFactoryRequest()
     {
         // no op
@@ -100,6 +104,22 @@ public class WagonFactoryRequest
         return this;
     }
 
+    public NetworkProxy getNetworkProxy()
+    {
+        return networkProxy;
+    }
+
+    public void setNetworkProxy( NetworkProxy networkProxy )
+    {
+        this.networkProxy = networkProxy;
+    }
+
+    public WagonFactoryRequest networkProxy( NetworkProxy networkProxy )
+    {
+        this.networkProxy = networkProxy;
+        return this;
+    }
+
     @Override
     public boolean equals( Object o )
     {

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=1404367&r1=1404366&r2=1404367&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 31 21:40:38 2012
@@ -132,12 +132,11 @@ public class DownloadRemoteIndexTask
             tempIndexDirectory.deleteOnExit();
             String baseIndexUrl = indexingContext.getIndexUpdateUrl();
 
-            String wagonProtocol =
-                new URL( this.remoteRepository.getUrl() ).getProtocol() + ( ( 
this.networkProxy != null
-                    && this.networkProxy.isUseNtlm() ) ? "-ntlm" : "" );
+            String wagonProtocol = new URL( this.remoteRepository.getUrl() 
).getProtocol();
 
             final StreamWagon wagon = (StreamWagon) wagonFactory.getWagon(
-                new WagonFactoryRequest( wagonProtocol, 
this.remoteRepository.getExtraHeaders() ) );
+                new WagonFactoryRequest( wagonProtocol, 
this.remoteRepository.getExtraHeaders() ).networkProxy(
+                    this.networkProxy ) );
             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=1404367&r1=1404366&r2=1404367&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 31 21:40:38 2012
@@ -235,18 +235,10 @@ public class RepositoryModelResolver
                 String protocol = getProtocol( remoteRepository.getUrl() );
                 final NetworkProxy networkProxy = this.networkProxyMap.get( 
remoteRepository.getId() );
 
-                // 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( "wagon#" + protocol + "-ntlm", 
remoteRepository.getExtraHeaders() ) )
-                    : wagonFactory.getWagon(
-                        new WagonFactoryRequest( "wagon#" + protocol, 
remoteRepository.getExtraHeaders() ) );
-                if ( wagon == null )
-                {
-                    wagon = wagonFactory.getWagon(
-                        new WagonFactoryRequest( "wagon#" + protocol, 
remoteRepository.getExtraHeaders() ) );
-                }
+                wagon = wagonFactory.getWagon(
+                    new WagonFactoryRequest( "wagon#" + protocol, 
remoteRepository.getExtraHeaders() ).networkProxy(
+                        networkProxy ) );
+
                 if ( wagon == null )
                 {
                     throw new RuntimeException( "Unsupported remote repository 
protocol: " + protocol );


Reply via email to