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;