Author: nicolas
Date: Mon Feb 18 06:55:12 2008
New Revision: 628767

URL: http://svn.apache.org/viewvc?rev=628767&view=rev
Log:
MNG-3407 : improve mirrorOf to support pattern based repository URL

Modified:
    
maven/components/branches/maven-2.0.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
    
maven/components/branches/maven-2.0.x/maven-artifact-manager/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java

Modified: 
maven/components/branches/maven-2.0.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
URL: 
http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java?rev=628767&r1=628766&r2=628767&view=diff
==============================================================================
--- 
maven/components/branches/maven-2.0.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
 (original)
+++ 
maven/components/branches/maven-2.0.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
 Mon Feb 18 06:55:12 2008
@@ -61,6 +61,7 @@
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.text.MessageFormat;
 
 public class DefaultWagonManager
     extends AbstractLogEnabled
@@ -710,6 +711,16 @@
         if ( repository == null )
         {
             repository = (ArtifactRepository) mirrors.get( WILDCARD );
+               if ( repository != null )
+               {
+                               String url = repository.getUrl();
+                               if ( url.indexOf( "{0}" ) >= 0 )
+                               {
+                                   url = MessageFormat.format( 
repository.getUrl(), new Object[] { mirrorOf } );
+                                   repository = new DefaultArtifactRepository( 
mirrorOf, url, null );
+                                       mirrors.put( mirrorOf, repository );
+                               }
+                       }
         }
         return repository;
     }

Modified: 
maven/components/branches/maven-2.0.x/maven-artifact-manager/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java
URL: 
http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-artifact-manager/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java?rev=628767&r1=628766&r2=628767&view=diff
==============================================================================
--- 
maven/components/branches/maven-2.0.x/maven-artifact-manager/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java
 (original)
+++ 
maven/components/branches/maven-2.0.x/maven-artifact-manager/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java
 Mon Feb 18 06:55:12 2008
@@ -43,6 +43,15 @@
         wagonManager = (WagonManager) lookup( WagonManager.ROLE );
     }
 
+       public void testMappedMirror()
+               throws Exception
+       {
+               DefaultWagonManager manager = (DefaultWagonManager) 
wagonManager;
+               manager.addMirror( "wildcar", "*", 
"http://archiva/repository/{0}"; );
+               assertEquals( "http://archiva/repository/central";, 
manager.getMirror( "central" ).getUrl() );
+               assertEquals( "http://archiva/repository/apache.snapshots";, 
manager.getMirror( "apache.snapshots" ).getUrl() );
+       }
+       
     public void testDefaultWagonManager()
         throws Exception
     {


Reply via email to