You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by og...@apache.org on 2008/11/25 20:21:48 UTC

svn commit: r720567 - in /maven/mercury/trunk/mercury-md/mercury-md-sat/src: main/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolver.java test/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolverTest.java

Author: ogusakov
Date: Tue Nov 25 11:21:47 2008
New Revision: 720567

URL: http://svn.apache.org/viewvc?rev=720567&view=rev
Log:
re-applied Ben's changes - MERCURY-40

Modified:
    maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolver.java
    maven/mercury/trunk/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolverTest.java

Modified: maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolver.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolver.java?rev=720567&r1=720566&r2=720567&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolver.java (original)
+++ maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolver.java Tue Nov 25 11:21:47 2008
@@ -23,7 +23,7 @@
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.Comparator;
-import java.util.HashMap;
+import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -32,7 +32,6 @@
 import org.apache.maven.mercury.event.EventManager;
 import org.apache.maven.mercury.event.EventTypeEnum;
 import org.apache.maven.mercury.event.GenericEvent;
-import org.apache.maven.mercury.event.MercuryEvent;
 import org.apache.maven.mercury.event.MercuryEventListener;
 import org.apache.maven.mercury.logging.IMercuryLogger;
 import org.apache.maven.mercury.logging.MercuryLoggerManager;
@@ -144,7 +143,7 @@
       throw new SatException( "cannot apply policies to a null tree" );
     
     // TODO og: assumption - around 128 GA's per tree. If more - map reallocates - slow down.
-    Map<String, List<MetadataTreeNode>> buckets = new HashMap<String, List<MetadataTreeNode>>(128);
+    Map<String, List<MetadataTreeNode>> buckets = new LinkedHashMap<String, List<MetadataTreeNode>>(128);
     fillBuckets( buckets, _root );
     sortBuckets( buckets, comparators );
     useBuckets( buckets );
@@ -420,7 +419,7 @@
     if( children == null || children.size() < 1 )
       throw new SatException("there are queries, but not results. Queries: "+queries);
     
-    HashMap<ArtifactBasicMetadata, List<MetadataTreeNode>> res = new HashMap<ArtifactBasicMetadata, List<MetadataTreeNode>>( queries.size() );
+    Map<ArtifactBasicMetadata, List<MetadataTreeNode>> res = new LinkedHashMap<ArtifactBasicMetadata, List<MetadataTreeNode>>( queries.size() );
     for( ArtifactBasicMetadata q : queries )
     {
       List<MetadataTreeNode> bucket = new ArrayList<MetadataTreeNode>(4);

Modified: maven/mercury/trunk/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolverTest.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolverTest.java?rev=720567&r1=720566&r2=720567&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolverTest.java (original)
+++ maven/mercury/trunk/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolverTest.java Tue Nov 25 11:21:47 2008
@@ -21,7 +21,7 @@
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Comparator;
-import java.util.HashMap;
+import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -175,7 +175,7 @@
     comparators.add( new ClassicDepthComparator() );
     comparators.add( new ClassicVersionComparator() );
     
-    Map<String, List<MetadataTreeNode>> buckets = new HashMap<String, List<MetadataTreeNode>>(128);
+    Map<String, List<MetadataTreeNode>> buckets = new LinkedHashMap<String, List<MetadataTreeNode>>(128);
     DefaultSatSolver.fillBuckets( buckets, aa1 );
     DefaultSatSolver.sortBuckets( buckets, comparators );
 
@@ -205,7 +205,7 @@
   //    and ((c1 and b1) or (c2 and (b2 or b3))
   //
   //----------------------------------------------------------------------
-  public void testClassictResolution()
+  public void testClassicResolution()
   throws SatException
   {
     title = "simplest 3-node tree";
@@ -342,8 +342,8 @@
     assertEquals( 3, res.size() );
     
     assertTrue( res.contains( a1 ) );
-    assertTrue( res.contains( b2 ) );
-    assertTrue( res.contains( c1 ) );
+    assertTrue( res.contains( b1 ) );
+    assertTrue( res.contains( c2 ) );
   }
   //----------------------------------------------------------------------
   //       b:b:1 - c:c:[2,4)
@@ -355,7 +355,7 @@
   public void testStrictRangeResolution()
   throws SatException
   {
-    title = "testSingleVersionResolution";
+    title = "testStrictRangeResolution";
     System.out.println("\n\n==========================\n"+title+"\n");
     
     MetadataTreeNode na1 = new MetadataTreeNode( a1, null, null )
@@ -419,8 +419,8 @@
     assertEquals( 3, res.size() );
     
     assertTrue( res.contains( a1 ) );
-    assertTrue( res.contains( b2 ) );
-    assertTrue( res.contains( c1 ) );
+    assertTrue( res.contains( b1 ) );
+    assertTrue( res.contains( c2 ) );
   }
   //----------------------------------------------------------------------
   //       d:d:1 - c:c:[2,4)
@@ -432,7 +432,7 @@
   public void testStrictRangeResolution2()
   throws SatException
   {
-    title = "testSingleVersionResolution";
+    title = "testStrictRangeResolution2";
     System.out.println("\n\n==========================\n"+title+"\n");
     
     MetadataTreeNode na1 = new MetadataTreeNode( a1, null, null )