Author: brianf Date: Fri Jan 9 07:39:27 2009 New Revision: 733066 URL: http://svn.apache.org/viewvc?rev=733066&view=rev Log: MNG-3974 - stop on first mirror pattern match
Modified: maven/components/branches/maven-2.1.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java maven/components/branches/maven-2.1.x/maven-artifact-manager/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java Modified: maven/components/branches/maven-2.1.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.1.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java?rev=733066&r1=733065&r2=733066&view=diff ============================================================================== --- maven/components/branches/maven-2.1.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java (original) +++ maven/components/branches/maven-2.1.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java Fri Jan 9 07:39:27 2009 @@ -802,6 +802,7 @@ if ( matchPattern( originalRepository, pattern ) ) { selectedMirror = (ArtifactRepository) mirrors.get( pattern ); + break; } } } Modified: maven/components/branches/maven-2.1.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.1.x/maven-artifact-manager/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java?rev=733066&r1=733065&r2=733066&view=diff ============================================================================== --- maven/components/branches/maven-2.1.x/maven-artifact-manager/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java (original) +++ maven/components/branches/maven-2.1.x/maven-artifact-manager/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java Fri Jan 9 07:39:27 2009 @@ -253,6 +253,43 @@ } /** + * Check that first match wins + */ + public void testMirrorStopOnFirstMatch() + { + //exact matches win first + wagonManager.addMirror( "a2", "a,b", "http://a2" ); + wagonManager.addMirror( "a", "a", "http://a" ); + + wagonManager.addMirror( "b", "b", "http://b" ); + wagonManager.addMirror( "c", "d,e", "http://de" ); + wagonManager.addMirror( "c", "*", "http://wildcard" ); + wagonManager.addMirror( "c", "e,f", "http://ef" ); + + + + ArtifactRepository repo = null; + repo = wagonManager.getMirrorRepository( getRepo( "a", "http://a.a" ) ); + assertEquals( "http://a", repo.getUrl() ); + + repo = wagonManager.getMirrorRepository( getRepo( "b", "http://a.a" ) ); + assertEquals( "http://b", repo.getUrl() ); + + repo = wagonManager.getMirrorRepository( getRepo( "c", "http://c.c" ) ); + assertEquals( "http://wildcard", repo.getUrl() ); + + repo = wagonManager.getMirrorRepository( getRepo( "d", "http://d" ) ); + assertEquals( "http://de", repo.getUrl() ); + + repo = wagonManager.getMirrorRepository( getRepo( "e", "http://e" ) ); + assertEquals( "http://de", repo.getUrl() ); + + repo = wagonManager.getMirrorRepository( getRepo( "f", "http://f" ) ); + assertEquals( "http://wildcard", repo.getUrl() ); + + } + + /** * Build an ArtifactRepository object. * * @param id