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/10/17 23:52:17 UTC

svn commit: r705767 - in /maven/mercury/trunk/mercury-repo: mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/ mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/ mercury-repo-remote-m2/src/main/java/o...

Author: ogusakov
Date: Fri Oct 17 14:52:16 2008
New Revision: 705767

URL: http://svn.apache.org/viewvc?rev=705767&view=rev
Log:
fixed DependencyProcessor bug where it was not able to call back into any repository; now any call goes back through virtual reader, if it was injected

Modified:
    maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/AbstracRepositoryReader.java
    maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryReader.java
    maven/mercury/trunk/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryReaderM2.java
    maven/mercury/trunk/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryReaderM2.java
    maven/mercury/trunk/mercury-repo/mercury-repo-virtual/src/main/java/org/apache/maven/mercury/repository/virtual/VirtualRepositoryReader.java

Modified: maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/AbstracRepositoryReader.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/AbstracRepositoryReader.java?rev=705767&r1=705766&r2=705767&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/AbstracRepositoryReader.java (original)
+++ maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/AbstracRepositoryReader.java Fri Oct 17 14:52:16 2008
@@ -16,7 +16,9 @@
 public abstract class AbstracRepositoryReader
 implements RepositoryReader, MetadataReader
 {
-  protected DependencyProcessor _mdProcessor;
+  protected DependencyProcessor    _mdProcessor;
+  
+  protected MetadataReader         _mdReader;
   
   protected RepositoryMetadataCache _mdCache;
   
@@ -30,6 +32,16 @@
     return _mdProcessor;
   }
   
+  public void setMetadataReader( MetadataReader mdReader )
+  {
+    _mdReader = mdReader;
+  }
+  
+  public MetadataReader getMetadataReader()
+  {
+    return _mdReader;
+  }
+  
   public void setMetadataCache( RepositoryMetadataCache mdCache )
   {
     this._mdCache = mdCache;

Modified: maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryReader.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryReader.java?rev=705767&r1=705766&r2=705767&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryReader.java (original)
+++ maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryReader.java Fri Oct 17 14:52:16 2008
@@ -1,6 +1,6 @@
 package org.apache.maven.mercury.repository.api;
 
-import java.util.List;
+import java.util.Collection;
 
 import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
 import org.apache.maven.mercury.builder.api.DependencyProcessor;
@@ -30,7 +30,7 @@
    * it with hasExceptions() 
    * @throws RepositoryException
    */
-  public ArtifactBasicResults readVersions( List<ArtifactBasicMetadata> query )
+  public ArtifactBasicResults readVersions( Collection<ArtifactBasicMetadata> query )
   throws RepositoryException;
   
   /**
@@ -42,7 +42,7 @@
    * @return result as a map GAV -> [GAV1, GAV2, ... GAVn]
    * @throws RepositoryException
    */
-  public ArtifactBasicResults readDependencies( List<ArtifactBasicMetadata> query )
+  public ArtifactBasicResults readDependencies( Collection<ArtifactBasicMetadata> query )
   throws RepositoryException;
 
   /**
@@ -53,7 +53,7 @@
    * @return array of results - lists of available matches. Order is the same as in query list. null means not found or worse
    * @throws RepositoryException
    */
-  public ArtifactResults readArtifacts( List<ArtifactBasicMetadata> query )
+  public ArtifactResults readArtifacts( Collection<ArtifactBasicMetadata> query )
   throws RepositoryException;
 
   /**
@@ -68,6 +68,13 @@
   public DependencyProcessor getDependencyProcessor();
 
   /**
+   * MetadataReader field. Single repository uses itself, virtual reader injects itself 
+   * to be able to find metadata across repositories
+   */
+  public void setMetadataReader( MetadataReader mdReader );
+  public MetadataReader getMetadataReader();
+
+  /**
    * Abstracted metadata cache is used to store/retrieve metadata faster. It usually implements 
    * repository update policy
    */
@@ -100,13 +107,13 @@
         return null;
       }
       public ArtifactResults readArtifacts(
-          List<ArtifactBasicMetadata> query )
+          Collection<ArtifactBasicMetadata> query )
           throws RepositoryException
       {
         return null;
       }
       public ArtifactBasicResults readDependencies(
-          List<ArtifactBasicMetadata> query )
+          Collection<ArtifactBasicMetadata> query )
           throws RepositoryException
       {
         return null;
@@ -117,7 +124,7 @@
         return null;
       }
 
-      public ArtifactBasicResults readVersions( List<ArtifactBasicMetadata> query )
+      public ArtifactBasicResults readVersions( Collection<ArtifactBasicMetadata> query )
           throws RepositoryException
       {
         return null;
@@ -159,6 +166,13 @@
       {
         return null;
       }
+      public MetadataReader getMetadataReader()
+      {
+        return null;
+      }
+      public void setMetadataReader( MetadataReader mdReader )
+      {
+      }
     
     };
 

Modified: maven/mercury/trunk/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryReaderM2.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryReaderM2.java?rev=705767&r1=705766&r2=705767&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryReaderM2.java (original)
+++ maven/mercury/trunk/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryReaderM2.java Fri Oct 17 14:52:16 2008
@@ -3,6 +3,7 @@
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
+import java.util.Collection;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
@@ -167,7 +168,7 @@
     return loc;
   }
   //---------------------------------------------------------------------------------------------------------------
-  public ArtifactResults readArtifacts( List<ArtifactBasicMetadata> query )
+  public ArtifactResults readArtifacts( Collection<ArtifactBasicMetadata> query )
       throws RepositoryException,
       IllegalArgumentException
   {
@@ -314,7 +315,7 @@
   /**
    * 
    */
-  public ArtifactBasicResults readDependencies( List<ArtifactBasicMetadata> query )
+  public ArtifactBasicResults readDependencies( Collection<ArtifactBasicMetadata> query )
       throws RepositoryException,
       IllegalArgumentException
   {
@@ -344,7 +345,7 @@
       // for testing purpose - I plug in my test processor
       try
       {
-        List<ArtifactBasicMetadata> deps = _mdProcessor.getDependencies( bmd, this, System.getProperties() );
+        List<ArtifactBasicMetadata> deps = _mdProcessor.getDependencies( bmd, _mdReader == null ? this : _mdReader, System.getProperties() );
         ror = ArtifactBasicResults.add( ror, bmd, deps );
       }
       catch( MetadataReaderException e )
@@ -414,7 +415,7 @@
   /**
    * direct disk search, no redirects - I cannot process pom files :(
    */
-  public ArtifactBasicResults readVersions( List<ArtifactBasicMetadata> query )
+  public ArtifactBasicResults readVersions( Collection<ArtifactBasicMetadata> query )
   throws RepositoryException, IllegalArgumentException
   {
     if( query == null || query.size() < 1 )

Modified: maven/mercury/trunk/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryReaderM2.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryReaderM2.java?rev=705767&r1=705766&r2=705767&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryReaderM2.java (original)
+++ maven/mercury/trunk/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryReaderM2.java Fri Oct 17 14:52:16 2008
@@ -302,7 +302,7 @@
   /**
    * TODO og: parallelize as soon as code stabilizes
    */
-  public ArtifactResults readArtifacts( List<ArtifactBasicMetadata> query )
+  public ArtifactResults readArtifacts( Collection<ArtifactBasicMetadata> query )
   throws RepositoryException
   {
     if( query == null || query.size() < 1 )
@@ -383,7 +383,7 @@
   /**
    * 
    */
-  public ArtifactBasicResults readDependencies( List<ArtifactBasicMetadata> query )
+  public ArtifactBasicResults readDependencies( Collection<ArtifactBasicMetadata> query )
       throws RepositoryException,
       IllegalArgumentException
   {
@@ -396,7 +396,7 @@
     {
       try
       {
-        List<ArtifactBasicMetadata> deps = _mdProcessor.getDependencies( bmd, this, System.getProperties() );
+        List<ArtifactBasicMetadata> deps = _mdProcessor.getDependencies( bmd, _mdReader == null ? this : _mdReader, System.getProperties() );
         ror.add( bmd, deps );
       }
       catch( MetadataReaderException e )
@@ -469,7 +469,7 @@
   /**
    * direct disk search, no redirects, first attempt
    */
-  public ArtifactBasicResults readVersions( List<ArtifactBasicMetadata> query )
+  public ArtifactBasicResults readVersions( Collection<ArtifactBasicMetadata> query )
       throws RepositoryException,
       IllegalArgumentException
   {

Modified: maven/mercury/trunk/mercury-repo/mercury-repo-virtual/src/main/java/org/apache/maven/mercury/repository/virtual/VirtualRepositoryReader.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-virtual/src/main/java/org/apache/maven/mercury/repository/virtual/VirtualRepositoryReader.java?rev=705767&r1=705766&r2=705767&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-repo/mercury-repo-virtual/src/main/java/org/apache/maven/mercury/repository/virtual/VirtualRepositoryReader.java (original)
+++ maven/mercury/trunk/mercury-repo/mercury-repo-virtual/src/main/java/org/apache/maven/mercury/repository/virtual/VirtualRepositoryReader.java Fri Oct 17 14:52:16 2008
@@ -149,7 +149,12 @@
       if( ! r.isLocal() )
         continue;
       
-      _repositoryReaders[ i++ ] = r.getReader(_processor);
+      RepositoryReader rr = r.getReader(_processor);
+      
+      rr.setMetadataReader( this );
+      
+      _repositoryReaders[ i++ ] = rr;
+      
       if( ! r.isReadOnly() )
       {
         _localRepository = (LocalRepository)r.getReader(_processor).getRepository();
@@ -179,13 +184,15 @@
       
       if( _mdCache != null )
         rr.setMetadataCache( _mdCache );
+      
+      rr.setMetadataReader( this );
 
       _repositoryReaders[ i++ ] = rr;
     }
     _initialized = true;
   }
   //----------------------------------------------------------------------------------------------------------------------------
-  public ArtifactBasicResults readVersions( List<ArtifactBasicMetadata> query )
+  public ArtifactBasicResults readVersions( Collection<ArtifactBasicMetadata> query )
   throws IllegalArgumentException, RepositoryException
   {
     if( query == null )
@@ -277,7 +284,7 @@
   /**
    * split query into repository buckets
    */
-  private Map< RepositoryReader, List<ArtifactBasicMetadata> > sortByRepo( List<ArtifactBasicMetadata> query )
+  private Map< RepositoryReader, List<ArtifactBasicMetadata> > sortByRepo( Collection<ArtifactBasicMetadata> query )
   {
     HashMap< RepositoryReader, List<ArtifactBasicMetadata> > res = null;
     
@@ -328,7 +335,7 @@
     return res;
   }
   //----------------------------------------------------------------------------------------------------------------------------
-  public ArtifactResults readArtifacts( List<ArtifactBasicMetadata> query )
+  public ArtifactResults readArtifacts( Collection<ArtifactBasicMetadata> query )
   throws RepositoryException
   {
     ArtifactResults res = null;