You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2007/11/05 15:24:54 UTC

svn commit: r592009 - in /maven/components/branches/maven-2.0.x/maven-artifact/src: main/java/org/apache/maven/artifact/resolver/ test/java/org/apache/maven/artifact/resolver/

Author: hboutemy
Date: Mon Nov  5 06:24:53 2007
New Revision: 592009

URL: http://svn.apache.org/viewvc?rev=592009&view=rev
Log:
[MANTTASKS-22] ensure proper order of artifacts in ArtifactResolutionResult

Modified:
    maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java
    maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java
    maven/components/branches/maven-2.0.x/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java

Modified: maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java?rev=592009&r1=592008&r2=592009&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java (original)
+++ maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java Mon Nov  5 06:24:53 2007
@@ -19,8 +19,8 @@
  * under the License.
  */
 
-import java.util.HashSet;
 import java.util.Iterator;
+import java.util.LinkedHashSet;
 import java.util.Set;
 
 /**
@@ -42,7 +42,7 @@
     {
         if ( artifacts == null )
         {
-            artifacts = new HashSet();
+            artifacts = new LinkedHashSet();
             
             for ( Iterator it = resolutionNodes.iterator(); it.hasNext(); )
             {

Modified: maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java?rev=592009&r1=592008&r2=592009&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java (original)
+++ maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java Mon Nov  5 06:24:53 2007
@@ -36,6 +36,8 @@
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -63,7 +65,7 @@
                                              ArtifactMetadataSource source, ArtifactFilter filter, List listeners )
         throws ArtifactResolutionException
     {
-        Map resolvedArtifacts = new HashMap();
+        Map resolvedArtifacts = new LinkedHashMap();
 
         ResolutionNode root = new ResolutionNode( originatingArtifact, remoteRepositories );
 
@@ -74,7 +76,7 @@
         recurse( root, resolvedArtifacts, versionMap, localRepository, remoteRepositories, source, filter,
                  listeners );
 
-        Set set = new HashSet();
+        Set set = new LinkedHashSet();
 
         for ( Iterator i = resolvedArtifacts.values().iterator(); i.hasNext(); )
         {

Modified: maven/components/branches/maven-2.0.x/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java?rev=592009&r1=592008&r2=592009&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java (original)
+++ maven/components/branches/maven-2.0.x/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java Mon Nov  5 06:24:53 2007
@@ -667,6 +667,23 @@
         assertEquals( "Check artifact list", createSet( new Object[]{a.artifact, b.artifact} ), res.getArtifacts() );
     }
 
+    public void testResolveOrder()
+        throws ArtifactResolutionException, InvalidVersionSpecificationException
+    {
+        ArtifactSpec m = createArtifactSpec( "m", "1.0" );
+        ArtifactSpec n = createArtifactSpec( "n", "1.0" );
+    
+        ArtifactResolutionResult res = collect( createSet( new Object[]{m.artifact, n.artifact} ) );
+        Iterator i = res.getArtifacts().iterator();
+        assertEquals( "m should be first", m.artifact, i.next() );
+        assertEquals( "n should be second", n.artifact, i.next() );
+
+        res = collect( createSet( new Object[]{n.artifact, m.artifact} ) );
+        i = res.getArtifacts().iterator();
+        assertEquals( "n should be first", n.artifact, i.next() );
+        assertEquals( "m should be second", m.artifact, i.next() );
+    }
+
     private Artifact getArtifact( String id, Set artifacts )
     {
         for ( Iterator i = artifacts.iterator(); i.hasNext(); )