Author: ogusakov
Date: Wed Jul 23 22:39:20 2008
New Revision: 679277
URL:
http://svn.apache.org/viewvc?rev=679277&view=revLog:
revamped the project to introduced all the new concepts: active Repository, Transport and all other good things.
Added:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/ArtifactMetadata.java
- copied, changed from r678107, maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/ArtifactMetadata.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/ArtifactScopeEnum.java (contents, props changed)
- copied, changed from r678107, maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/ArtifactScopeEnum.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/Repository.java
- copied, changed from r678107, maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/Repository.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/api/
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/transport/
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/transport/api/
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/transport/api/Binding.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/transport/api/Server.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/transport/api/StreamObserver.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/transport/api/Transport.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/transport/api/TransportException.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/transport/api/TransportTransaction.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/transport/api/Verifier.java
Removed:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/ArtifactMetadata.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/DefaultMetadataResolver.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/HttpMetadataSource.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataGraph.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataGraphEdge.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataGraphVertex.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataResolution.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataResolutionException.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataResolutionRequest.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataResolutionRequestTypeEnum.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataResolutionResult.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataResolver.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataSource.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/conflict/
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/transform/ClasspathTransformation.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/transform/DefaultClasspathTransformation.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/transform/MetadataGraphTransformationException.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/layout/
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/retrieve/
Modified:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/Artifact.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/DefaultArtifact.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/ClassicVersionComparator.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataRetrievalException.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataTree.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeArtifactFilter.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeNode.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolver.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/sat/SatContext.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/sat/SatHelper.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/sat/SatSolver.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/sat/SatVar.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/transform/ClasspathContainer.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/AbstractRepository.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/DefaultLocalRepository.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/DefaultRemoteRepository.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/LocalRepository.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/RemoteRepository.java
maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/AbstractSimpleTreeTest.java
maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/MetadataResolverTest.java
maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/MetadataTreeTest.java
maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/MockMetadataSource.java
maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/builder/MetadataBuilder.java
maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/builder/XmlMetadataBuilder.java
maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolverTest.java
maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/repository/metadata/MetadataReaderTest.java
Modified: maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/Artifact.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/Artifact.java?rev=679277&r1=679276&r2=679277&view=diff==============================================================================
--- maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/Artifact.java (original)
+++ maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/Artifact.java Wed Jul 23 22:39:20 2008
@@ -30,7 +30,7 @@
* snapshot, etc) - construct subclasses and use accordingly?
*/
public interface Artifact
- extends Comparable
+extends Comparable
{
String LATEST_VERSION = "LATEST";
Copied: maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/ArtifactMetadata.java (from r678107, maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/ArtifactMetadata.java)
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/ArtifactMetadata.java?p2=maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/ArtifactMetadata.java&p1=maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/ArtifactMetadata.java&r1=678107&r2=679277&rev=679277&view=diff==============================================================================
--- maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/ArtifactMetadata.java (original)
+++ maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/ArtifactMetadata.java Wed Jul 23 22:39:20 2008
@@ -1,35 +1,29 @@
-package org.apache.maven.mercury.metadata;
+package org.apache.maven.mercury;
import java.util.Collection;
+import java.util.List;
-import org.apache.maven.mercury.Artifact;
-import org.apache.maven.mercury.ArtifactScopeEnum;
/**
- * Artifact Metadata that is resolved independent of Artifact itself.
+ * Artifact Metadata that is resolved independent of Artifact itself. It's
+ * built on top of ArtifactBasicMetadata
*
* @author Oleg Gusakov
* @version $Id$
*/
public class ArtifactMetadata
+extends ArtifactBasicMetadata
{
- /**
- * standard glorified artifact coordinates
- */
- protected String groupId;
-
- protected String artifactId;
-
- protected String version;
-
- protected String type = "jar";
-
+ // in addition to basic coordinates
+
protected ArtifactScopeEnum artifactScope;
- protected String classifier;
-
+ protected String scope;
+
protected boolean optional;
+ private boolean release;
+
/**
* explanation: why this MD was chosen over it's siblings
* in the resulting structure (classpath for now)
@@ -37,7 +31,7 @@
protected String why;
/** dependencies of the artifact behind this metadata */
- protected Collection<ArtifactMetadata> dependencies;
+ protected List<ArtifactMetadata> dependencies;
/** metadata URI */
protected String uri;
@@ -145,98 +139,6 @@
{
}
- //---------------------------------------------------------------------
- public boolean sameGAV( ArtifactMetadata md )
- {
- if( md == null )
- return false;
-
- return
- sameGA( md )
- && version != null
- && version.equals( md.getVersion() )
- ;
- }
- //---------------------------------------------------------------------
- public boolean sameGA( ArtifactMetadata md )
- {
- if( md == null )
- return false;
-
- return
- groupId != null
- && artifactId != null
- && groupId.equals( md.getGroupId() )
- && artifactId.equals( md.getArtifactId() )
- ;
- }
-
- public String getGA()
- {
- return toDomainString();
- }
-
- public String getGAV()
- {
- return toString();
- }
-
- @Override
- public String toString()
- {
- return groupId + ":" + artifactId + ":" + version;
- }
-
- public String toDomainString()
- {
- return groupId + ":" + artifactId;
- }
-
- public String getGroupId()
- {
- return groupId;
- }
-
- public void setGroupId( String groupId )
- {
- this.groupId = groupId;
- }
-
- public String getArtifactId()
- {
- return artifactId;
- }
-
- public void setArtifactId( String name )
- {
- this.artifactId = name;
- }
-
- public String getVersion()
- {
- return version;
- }
-
- public void setVersion( String version )
- {
- this.version = version;
- }
-
- public String getType()
- {
- return type;
- }
-
- public String getCheckedType()
- {
- return type == null ? "jar" : type;
- }
-
- public void setType( String type )
- {
- this.type = type;
- }
-
public ArtifactScopeEnum getArtifactScope()
{
return artifactScope == null ? ArtifactScopeEnum.DEFAULT_SCOPE : artifactScope;
@@ -252,16 +154,6 @@
this.artifactScope = scope == null ? ArtifactScopeEnum.DEFAULT_SCOPE : ArtifactScopeEnum.valueOf( scope );
}
- public String getClassifier()
- {
- return classifier;
- }
-
- public void setClassifier( String classifier )
- {
- this.classifier = classifier;
- }
-
public boolean isResolved()
{
return resolved;
@@ -302,12 +194,12 @@
this.artifactExists = artifactExists;
}
- public Collection<ArtifactMetadata> getDependencies()
+ public List<ArtifactMetadata> getDependencies()
{
return dependencies;
}
- public void setDependencies( Collection<ArtifactMetadata> dependencies )
+ public void setDependencies( List<ArtifactMetadata> dependencies )
{
this.dependencies = dependencies;
}
@@ -368,6 +260,16 @@
{
return classifier == null;
}
+
+ public void setRelease( boolean release )
+ {
+ this.release = release;
+ }
+
+ public boolean isRelease()
+ {
+ return release;
+ }
}
Copied: maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/ArtifactScopeEnum.java (from r678107, maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/ArtifactScopeEnum.java)
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/ArtifactScopeEnum.java?p2=maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/ArtifactScopeEnum.java&p1=maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/ArtifactScopeEnum.java&r1=678107&r2=679277&rev=679277&view=diff==============================================================================
--- maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/ArtifactScopeEnum.java (original)
+++ maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/ArtifactScopeEnum.java Wed Jul 23 22:39:20 2008
@@ -1,5 +1,6 @@
package org.apache.maven.mercury;
+
/**
* Type safe reincarnation of Artifact scope. Also supplies the <code>DEFAULT_SCOPE<code> as well
* as convenience method to deal with scope relationships.
Propchange: maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/ArtifactScopeEnum.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/ArtifactScopeEnum.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Propchange: maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/ArtifactScopeEnum.java
------------------------------------------------------------------------------
svn:mergeinfo =
Modified: maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/DefaultArtifact.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/DefaultArtifact.java?rev=679277&r1=679276&r2=679277&view=diff==============================================================================
--- maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/DefaultArtifact.java (original)
+++ maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/DefaultArtifact.java Wed Jul 23 22:39:20 2008
@@ -28,29 +28,13 @@
* @version $Id$
*/
public class DefaultArtifact
- implements Artifact
+extends ArtifactMetadata
+implements Artifact
{
- private String groupId;
-
- private String artifactId;
-
- private String type;
-
private File file;
- private String version;
-
- // This is Maven specific. jvz/
private String classifier;
- private String scope;
-
- private boolean optional;
-
- private boolean release;
-
- private boolean resolved;
-
// Why is this here? What repository is determined at runtime and is therefore a
// runtime charactistic. This needs to go. jvz.
private Repository repository;
@@ -156,46 +140,6 @@
return ( value == null ) || ( value.trim().length() < 1 );
}
- public String getClassifier()
- {
- return classifier;
- }
-
- public boolean hasClassifier()
- {
- return StringUtils.isNotEmpty( classifier );
- }
-
- public String getScope()
- {
- return scope;
- }
-
- public String getGroupId()
- {
- return groupId;
- }
-
- public String getArtifactId()
- {
- return artifactId;
- }
-
- public String getVersion()
- {
- return version;
- }
-
- public void setVersion( String version )
- {
- this.version = version;
- }
-
- public String getType()
- {
- return type;
- }
-
public void setFile( File file )
{
this.file = file;
@@ -227,14 +171,14 @@
public String getDependencyConflictId()
{
- StringBuffer sb = new StringBuffer();
+ StringBuilder sb = new StringBuilder();
sb.append( getGroupId() );
sb.append( ":" );
appendArtifactTypeClassifierString( sb );
return sb.toString();
}
- private void appendArtifactTypeClassifierString( StringBuffer sb )
+ private void appendArtifactTypeClassifierString( StringBuilder sb )
{
sb.append( getArtifactId() );
sb.append( ":" );
@@ -249,10 +193,10 @@
// ----------------------------------------------------------------------
// Object overrides
// ----------------------------------------------------------------------
-
+ @Override
public String toString()
{
- StringBuffer sb = new StringBuffer();
+ StringBuilder sb = new StringBuilder();
if ( getGroupId() != null )
{
sb.append( getGroupId() );
@@ -274,6 +218,7 @@
return sb.toString();
}
+ @Override
public int hashCode()
{
int result = 17;
@@ -288,6 +233,7 @@
return result;
}
+ @Override
public boolean equals( Object o )
{
if ( o == this )
@@ -380,54 +326,9 @@
this.downloadUrl = downloadUrl;
}
- public void setScope( String scope )
- {
- this.scope = scope;
- }
-
- public void setGroupId( String groupId )
- {
- this.groupId = groupId;
- }
-
- public void setArtifactId( String artifactId )
- {
- this.artifactId = artifactId;
- }
-
- public void setResolved( boolean resolved )
- {
- this.resolved = resolved;
- }
-
- public boolean isResolved()
- {
- return resolved;
- }
-
public void setResolvedVersion( String version )
{
this.version = version;
// retain baseVersion
}
-
- public void setRelease( boolean release )
- {
- this.release = release;
- }
-
- public boolean isRelease()
- {
- return release;
- }
-
- public boolean isOptional()
- {
- return optional;
- }
-
- public void setOptional( boolean optional )
- {
- this.optional = optional;
- }
}
Modified: maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/ClassicVersionComparator.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/ClassicVersionComparator.java?rev=679277&r1=679276&r2=679277&view=diff==============================================================================
--- maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/ClassicVersionComparator.java (original)
+++ maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/ClassicVersionComparator.java Wed Jul 23 22:39:20 2008
@@ -2,6 +2,7 @@
import java.util.Comparator;
+import org.apache.maven.mercury.ArtifactMetadata;
import org.apache.maven.mercury.metadata.version.DefaultArtifactVersion;
/**
Modified: maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataRetrievalException.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataRetrievalException.java?rev=679277&r1=679276&r2=679277&view=diff==============================================================================
--- maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataRetrievalException.java (original)
+++ maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataRetrievalException.java Wed Jul 23 22:39:20 2008
@@ -1,5 +1,7 @@
package org.apache.maven.mercury.metadata;
+import org.apache.maven.mercury.ArtifactMetadata;
+
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
Modified: maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataTree.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataTree.java?rev=679277&r1=679276&r2=679277&view=diff==============================================================================
--- maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataTree.java (original)
+++ maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataTree.java Wed Jul 23 22:39:20 2008
@@ -4,13 +4,19 @@
import java.util.Collection;
import java.util.Comparator;
import java.util.List;
+import java.util.Map;
import java.util.Set;
+import org.apache.maven.mercury.ArtifactBasicMetadata;
+import org.apache.maven.mercury.ArtifactMetadata;
import org.apache.maven.mercury.ArtifactScopeEnum;
import org.apache.maven.mercury.metadata.sat.DefaultSatSolver;
import org.apache.maven.mercury.metadata.sat.SatException;
import org.apache.maven.mercury.repository.LocalRepository;
import org.apache.maven.mercury.repository.RemoteRepository;
+import org.apache.maven.mercury.repository.api.RepositoryException;
+import org.apache.maven.mercury.repository.api.RepositoryReader;
+import org.apache.maven.mercury.repository.api.VirtualRepositoryReader;
/**
* This is the new entry point into Artifact resolution process.
@@ -21,27 +27,26 @@
*/
public class MetadataTree
{
- private MetadataSource _mdSource;
+// private MetadataSource _mdSource;
+
private Set<MetadataTreeArtifactFilter> _filters;
private List<Comparator<MetadataTreeNode>> _comparators;
- private LocalRepository _localRepository;
- private List<RemoteRepository> _remoteRepositories;
+
+ private VirtualRepositoryReader _reader;
MetadataTreeNode _root;
public MetadataTree(
- MetadataSource mdSource
- , Set<MetadataTreeArtifactFilter> filters
+ Set<MetadataTreeArtifactFilter> filters
, List<Comparator<MetadataTreeNode>> comparators
, LocalRepository localRepository
, List<RemoteRepository> remoteRepositories
- )
+ )
+ throws RepositoryException
{
- this._mdSource = mdSource;
this._filters = filters;
this._comparators = comparators;
- this._localRepository = localRepository;
- this._remoteRepositories = remoteRepositories;
+ this._reader = new VirtualRepositoryReader( localRepository, remoteRepositories );
}
//-----------------------------------------------------
public MetadataTreeNode buildTree( ArtifactMetadata startMD )
@@ -50,40 +55,38 @@
if( startMD == null )
throw new MetadataTreeException( "null start point" );
- if( _mdSource == null )
- throw new MetadataTreeException( "null metadata source" );
-
- if( _localRepository == null )
- throw new MetadataTreeException( "null local repo" );
+ _reader.init();
_root = createNode( startMD, null, startMD );
return _root;
}
//-----------------------------------------------------
- private MetadataTreeNode createNode( ArtifactMetadata nodeMD, MetadataTreeNode parent, ArtifactMetadata nodeQuery )
+ private MetadataTreeNode createNode( ArtifactBasicMetadata nodeMD, MetadataTreeNode parent, ArtifactMetadata nodeQuery )
throws MetadataTreeException
{
checkForCircularDependency( nodeMD, parent );
- MetadataResolution mr;
+ ArtifactMetadata mr;
try
{
- mr = _mdSource.retrieve( nodeMD, _localRepository, _remoteRepositories );
+ mr = _reader.readMetadata( nodeMD );
- if( mr == null || mr.getArtifactMetadata() == null )
+ if( mr == null )
throw new MetadataTreeException( "no result found for " + nodeMD );
- MetadataTreeNode node = new MetadataTreeNode( mr.getArtifactMetadata(), parent, nodeQuery );
+ MetadataTreeNode node = new MetadataTreeNode( mr, parent, nodeQuery );
- Collection<ArtifactMetadata> dependencies = mr.getArtifactMetadata().getDependencies();
+ List<ArtifactMetadata> dependencies = mr.getDependencies();
if( dependencies == null || dependencies.size() < 1 )
return node;
+ Map<ArtifactBasicMetadata, List<ArtifactBasicMetadata>> expandedDeps = _reader.findMetadata( dependencies );
+
for( ArtifactMetadata md : dependencies )
{
- Collection<ArtifactMetadata> versions = _mdSource.expand( md, _localRepository, _remoteRepositories );
+ List<ArtifactBasicMetadata> versions = expandedDeps.get( md );
if( versions == null || versions.size() < 1 )
{
if( md.isOptional() )
@@ -92,7 +95,7 @@
}
boolean noGoodVersions = true;
- for( ArtifactMetadata ver : versions )
+ for( ArtifactBasicMetadata ver : versions )
{
if( veto( ver, _filters) )
continue;
@@ -115,13 +118,13 @@
return node;
}
- catch (MetadataRetrievalException e)
+ catch (RepositoryException e)
{
throw new MetadataTreeException( e );
}
}
//-----------------------------------------------------
- private void checkForCircularDependency( ArtifactMetadata md, MetadataTreeNode parent )
+ private void checkForCircularDependency( ArtifactBasicMetadata md, MetadataTreeNode parent )
throws MetadataTreeCircularDependencyException
{
MetadataTreeNode p = parent;
@@ -151,7 +154,7 @@
}
}
//-----------------------------------------------------
- private boolean veto(ArtifactMetadata md, Set<MetadataTreeArtifactFilter> filters )
+ private boolean veto(ArtifactBasicMetadata md, Set<MetadataTreeArtifactFilter> filters )
{
if( filters != null && filters.size() > 1)
for( MetadataTreeArtifactFilter filter : filters )
Modified: maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeArtifactFilter.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeArtifactFilter.java?rev=679277&r1=679276&r2=679277&view=diff==============================================================================
--- maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeArtifactFilter.java (original)
+++ maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeArtifactFilter.java Wed Jul 23 22:39:20 2008
@@ -1,5 +1,7 @@
package org.apache.maven.mercury.metadata;
+import org.apache.maven.mercury.ArtifactBasicMetadata;
+
/**
* This is a member of a chain of filters that can stop an ArtifactMetadata
* from reaching the resolution tree
@@ -8,6 +10,6 @@
*/
public interface MetadataTreeArtifactFilter
{
- public boolean veto( ArtifactMetadata md )
+ public boolean veto( ArtifactBasicMetadata md )
;
}
Modified: maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeNode.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeNode.java?rev=679277&r1=679276&r2=679277&view=diff==============================================================================
--- maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeNode.java (original)
+++ maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeNode.java Wed Jul 23 22:39:20 2008
@@ -4,6 +4,7 @@
import java.util.List;
import org.apache.maven.mercury.Artifact;
+import org.apache.maven.mercury.ArtifactMetadata;
import org.apache.maven.mercury.ArtifactScopeEnum;
/**
* metadata [dirty] Tree
Modified: maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolver.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolver.java?rev=679277&r1=679276&r2=679277&view=diff==============================================================================
--- maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolver.java (original)
+++ maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolver.java Wed Jul 23 22:39:20 2008
@@ -9,8 +9,8 @@
import java.util.List;
import java.util.Map;
+import org.apache.maven.mercury.ArtifactMetadata;
import org.apache.maven.mercury.ArtifactScopeEnum;
-import org.apache.maven.mercury.metadata.ArtifactMetadata;
import org.apache.maven.mercury.metadata.MetadataTreeNode;
import org.apache.maven.mercury.metadata.MetadataTreeNodeGAComparator;
import org.apache.maven.mercury.metadata.MetadataTreeNodeGAVComparator;
Modified: maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/sat/SatContext.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/sat/SatContext.java?rev=679277&r1=679276&r2=679277&view=diff==============================================================================
--- maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/sat/SatContext.java (original)
+++ maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/sat/SatContext.java Wed Jul 23 22:39:20 2008
@@ -3,7 +3,7 @@
import java.util.ArrayList;
import java.util.List;
-import org.apache.maven.mercury.metadata.ArtifactMetadata;
+import org.apache.maven.mercury.ArtifactMetadata;
/**
* This class hold all variables fed to the SAT solver. Because of the
Modified: maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/sat/SatHelper.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/sat/SatHelper.java?rev=679277&r1=679276&r2=679277&view=diff==============================================================================
--- maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/sat/SatHelper.java (original)
+++ maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/sat/SatHelper.java Wed Jul 23 22:39:20 2008
@@ -4,7 +4,7 @@
import java.util.ArrayList;
import java.util.List;
-import org.apache.maven.mercury.metadata.ArtifactMetadata;
+import org.apache.maven.mercury.ArtifactMetadata;
import org.sat4j.core.ReadOnlyVec;
import org.sat4j.core.ReadOnlyVecInt;
import org.sat4j.core.Vec;
Modified: maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/sat/SatSolver.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/sat/SatSolver.java?rev=679277&r1=679276&r2=679277&view=diff==============================================================================
--- maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/sat/SatSolver.java (original)
+++ maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/sat/SatSolver.java Wed Jul 23 22:39:20 2008
@@ -3,7 +3,7 @@
import java.util.Comparator;
import java.util.List;
-import org.apache.maven.mercury.metadata.ArtifactMetadata;
+import org.apache.maven.mercury.ArtifactMetadata;
import org.apache.maven.mercury.metadata.MetadataTreeNode;
/**
Modified: maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/sat/SatVar.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/sat/SatVar.java?rev=679277&r1=679276&r2=679277&view=diff==============================================================================
--- maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/sat/SatVar.java (original)
+++ maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/sat/SatVar.java Wed Jul 23 22:39:20 2008
@@ -1,6 +1,6 @@
package org.apache.maven.mercury.metadata.sat;
-import org.apache.maven.mercury.metadata.ArtifactMetadata;
+import org.apache.maven.mercury.ArtifactMetadata;
/**
* @author <a href="
oleg@...">Oleg Gusakov</a>
Modified: maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/transform/ClasspathContainer.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/transform/ClasspathContainer.java?rev=679277&r1=679276&r2=679277&view=diff==============================================================================
--- maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/transform/ClasspathContainer.java (original)
+++ maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/transform/ClasspathContainer.java Wed Jul 23 22:39:20 2008
@@ -4,9 +4,8 @@
import java.util.Iterator;
import java.util.List;
+import org.apache.maven.mercury.ArtifactMetadata;
import org.apache.maven.mercury.ArtifactScopeEnum;
-import org.apache.maven.mercury.metadata.ArtifactMetadata;
-import org.apache.maven.mercury.metadata.MetadataResolutionException;
import org.apache.maven.mercury.metadata.MetadataTreeNode;
/*
@@ -61,7 +60,6 @@
//-------------------------------------------------------------------------------------------
public MetadataTreeNode getClasspathAsTree()
- throws MetadataResolutionException
{
if ( classpath == null || classpath.size() < 1 )
return null;
Modified: maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/AbstractRepository.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/AbstractRepository.java?rev=679277&r1=679276&r2=679277&view=diff==============================================================================
--- maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/AbstractRepository.java (original)
+++ maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/AbstractRepository.java Wed Jul 23 22:39:20 2008
@@ -1,8 +1,5 @@
package org.apache.maven.mercury.repository;
-import org.apache.maven.mercury.Artifact;
-import org.apache.maven.mercury.metadata.ArtifactMetadata;
-import org.apache.maven.mercury.repository.layout.RepositoryLayout;
/*
* Licensed to the Apache Software Foundation (ASF) under one or more contributor license
@@ -19,31 +16,54 @@
* the License.
*/
+/**
+ * parent of all repositories
+ */
public abstract class AbstractRepository
implements Repository
{
- private String id;
-
- private RepositoryLayout layout;
-
- public AbstractRepository( String id, RepositoryLayout layout )
- {
- this.id = id;
- this.layout = layout;
- }
-
- public String getId()
- {
- return id;
- }
-
- public RepositoryLayout getLayout()
- {
- return layout;
- }
-
- public String pathOf( ArtifactMetadata md )
- {
- return layout.pathOf( md );
- }
+ public static final String DEFAULT_READ_PROTOCOL = "http";
+ public static final String DEFAULT_WRITE_PROTOCOL = "http";
+
+ public static final String DEFAULT_LOCAL_READ_PROTOCOL = "file";
+ public static final String DEFAULT_LOCAL_WRITE_PROTOCOL = "file";
+
+ private String id;
+
+ private String defaultReadProtocol = DEFAULT_READ_PROTOCOL;
+
+ private String defaultWriteProtocol = DEFAULT_WRITE_PROTOCOL;
+
+ public AbstractRepository( String id )
+ {
+ this.id = id;
+ }
+
+ public String getId()
+ {
+ return id;
+ }
+
+ public String getDefaultReadProtocol()
+ {
+ return defaultReadProtocol;
+ }
+
+ public void setDefaultReadProtocol(
+ String defaultReadProtocol )
+ {
+ this.defaultReadProtocol = defaultReadProtocol;
+ }
+
+ public String getDefaultWriteProtocol()
+ {
+ return defaultWriteProtocol;
+ }
+
+ public void setDefaultWriteProtocol(
+ String defaultWriteProtocol )
+ {
+ this.defaultWriteProtocol = defaultWriteProtocol;
+ }
+
}
Modified: maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/DefaultLocalRepository.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/DefaultLocalRepository.java?rev=679277&r1=679276&r2=679277&view=diff==============================================================================
--- maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/DefaultLocalRepository.java (original)
+++ maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/DefaultLocalRepository.java Wed Jul 23 22:39:20 2008
@@ -2,17 +2,19 @@
import java.io.File;
-import org.apache.maven.mercury.repository.layout.RepositoryLayout;
+import org.apache.maven.mercury.repository.api.NonExistentProtocolException;
+import org.apache.maven.mercury.repository.api.RepositoryReader;
+import org.apache.maven.mercury.repository.api.RepositoryWriter;
public class DefaultLocalRepository
- extends AbstractRepository
- implements LocalRepository
+extends AbstractRepository
+implements LocalRepository
{
private File directory;
- public DefaultLocalRepository( String id, RepositoryLayout layout, File directory )
+ public DefaultLocalRepository( String id, File directory )
{
- super( id, layout );
+ super( id );
this.directory = directory;
}
@@ -20,4 +22,29 @@
{
return directory;
}
+
+ public RepositoryReader getReader()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public RepositoryReader getReader( String protocol )
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public RepositoryWriter getWriter()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public RepositoryWriter getWriter( String protocol )
+ throws NonExistentProtocolException
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
}
Modified: maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/DefaultRemoteRepository.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/DefaultRemoteRepository.java?rev=679277&r1=679276&r2=679277&view=diff==============================================================================
--- maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/DefaultRemoteRepository.java (original)
+++ maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/DefaultRemoteRepository.java Wed Jul 23 22:39:20 2008
@@ -1,6 +1,8 @@
package org.apache.maven.mercury.repository;
-import org.apache.maven.mercury.repository.layout.RepositoryLayout;
+import org.apache.maven.mercury.repository.api.NonExistentProtocolException;
+import org.apache.maven.mercury.repository.api.RepositoryReader;
+import org.apache.maven.mercury.repository.api.RepositoryWriter;
public class DefaultRemoteRepository
extends AbstractRepository
@@ -8,9 +10,9 @@
{
private String url;
- public DefaultRemoteRepository( String id, RepositoryLayout layout, String url )
+ public DefaultRemoteRepository( String id, String url )
{
- super( id, layout );
+ super( id );
this.url = url;
}
@@ -18,4 +20,29 @@
{
return url;
}
+
+ public RepositoryReader getReader()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public RepositoryReader getReader( String protocol )
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public RepositoryWriter getWriter()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public RepositoryWriter getWriter( String protocol )
+ throws NonExistentProtocolException
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
}
Modified: maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/LocalRepository.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/LocalRepository.java?rev=679277&r1=679276&r2=679277&view=diff==============================================================================
--- maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/LocalRepository.java (original)
+++ maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/LocalRepository.java Wed Jul 23 22:39:20 2008
@@ -2,6 +2,7 @@
import java.io.File;
+
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -24,7 +25,7 @@
/**
*/
public interface LocalRepository
- extends Repository
+extends Repository
{
File getDirectory();
}
Modified: maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/RemoteRepository.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/RemoteRepository.java?rev=679277&r1=679276&r2=679277&view=diff==============================================================================
--- maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/RemoteRepository.java (original)
+++ maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/RemoteRepository.java Wed Jul 23 22:39:20 2008
@@ -1,5 +1,6 @@
package org.apache.maven.mercury.repository;
+
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
Copied: maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/Repository.java (from r678107, maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/Repository.java)
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/Repository.java?p2=maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/Repository.java&p1=maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/Repository.java&r1=678107&r2=679277&rev=679277&view=diff==============================================================================
--- maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/Repository.java (original)
+++ maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/Repository.java Wed Jul 23 22:39:20 2008
@@ -1,7 +1,8 @@
package org.apache.maven.mercury.repository;
-import org.apache.maven.mercury.Artifact;
-import org.apache.maven.mercury.metadata.ArtifactMetadata;
+import org.apache.maven.mercury.repository.api.NonExistentProtocolException;
+import org.apache.maven.mercury.repository.api.RepositoryReader;
+import org.apache.maven.mercury.repository.api.RepositoryWriter;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -26,7 +27,37 @@
*/
public interface Repository
{
- String pathOf( ArtifactMetadata md );
-
String getId();
+
+ /**
+ * get default reader, if any
+ *
+ * @return default reader or null, if none exists
+ */
+ RepositoryReader getReader();
+
+ /**
+ *
+ * @param protocol
+ * @return reader instance for the specified protocol
+ * @throws NonExistentProtocolException if protocol not supported
+ */
+ RepositoryReader getReader( String protocol );
+
+
+ /**
+ * get default writer, if any
+ *
+ * @return default writer or null, if none exists
+ */
+ RepositoryWriter getWriter();
+
+ /**
+ *
+ * @param protocol
+ * @return writer instance for the specified protocol
+ * @throws NonExistentProtocolException if protocol not supported
+ */
+ RepositoryWriter getWriter( String protocol )
+ throws NonExistentProtocolException;
}
Added: maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/transport/api/Binding.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/transport/api/Binding.java?rev=679277&view=auto==============================================================================
--- maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/transport/api/Binding.java (added)
+++ maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/transport/api/Binding.java Wed Jul 23 22:39:20 2008
@@ -0,0 +1,101 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ *
http://www.apache.org/licenses/LICENSE-2.0+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.maven.mercury.transport.api;
+
+import java.net.URI;
+
+import org.apache.maven.mercury.repository.api.RepositoryException;
+
+/**
+ * Binding
+ * <p/>
+ * A Binding represents a remote uri whose contents are to be downloaded
+ * and stored in a locally, or a local resource whose contents are to be
+ * uploaded to the remote uri.
+ */
+public class Binding
+{
+ protected URI remoteResource;
+ protected URI localResource;
+ protected boolean lenientChecksum = true;
+
+ protected RepositoryException error;
+
+ public Binding()
+ {
+ }
+
+ public Binding( URI remoteUrl, URI localFile, boolean lenientChecksum )
+ {
+ this.remoteResource = remoteUrl;
+ this.localResource = localFile;
+ this.lenientChecksum = lenientChecksum;
+ }
+
+ public boolean isLenientChecksum()
+ {
+ return lenientChecksum;
+ }
+
+ public void setLenientChecksum( boolean leniantChecksum )
+ {
+ this.lenientChecksum = leniantChecksum;
+ }
+
+ public URI getRemoteResource()
+ {
+ return remoteResource;
+ }
+
+ public void setRemoteResource(
+ URI remoteResource )
+ {
+ this.remoteResource = remoteResource;
+ }
+
+ public URI getLocalResource()
+ {
+ return localResource;
+ }
+
+ public void setLocalResource(
+ URI localResource )
+ {
+ this.localResource = localResource;
+ }
+
+ public RepositoryException getError()
+ {
+ return error;
+ }
+
+ public void setError(
+ RepositoryException error )
+ {
+ this.error = error;
+ }
+
+ public String toString()
+ {
+ return "[" + remoteResource + "," + localResource + "," + lenientChecksum + "]";
+ }
+
+
+}
Added: maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/transport/api/Server.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/transport/api/Server.java?rev=679277&view=auto==============================================================================
--- maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/transport/api/Server.java (added)
+++ maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/transport/api/Server.java Wed Jul 23 22:39:20 2008
@@ -0,0 +1,6 @@
+package org.apache.maven.mercury.transport.api;
+
+public class Server
+{
+
+}
Added: maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/transport/api/StreamObserver.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/transport/api/StreamObserver.java?rev=679277&view=auto==============================================================================
--- maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/transport/api/StreamObserver.java (added)
+++ maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/transport/api/StreamObserver.java Wed Jul 23 22:39:20 2008
@@ -0,0 +1,6 @@
+package org.apache.maven.mercury.transport.api;
+
+public interface StreamObserver
+{
+
+}
Added: maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/transport/api/Transport.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/transport/api/Transport.java?rev=679277&view=auto==============================================================================
--- maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/transport/api/Transport.java (added)
+++ maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/transport/api/Transport.java Wed Jul 23 22:39:20 2008
@@ -0,0 +1,6 @@
+package org.apache.maven.mercury.transport.api;
+
+public interface Transport
+{
+
+}
Added: maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/transport/api/TransportException.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/transport/api/TransportException.java?rev=679277&view=auto==============================================================================
--- maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/transport/api/TransportException.java (added)
+++ maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/transport/api/TransportException.java Wed Jul 23 22:39:20 2008
@@ -0,0 +1,54 @@
+package org.apache.maven.mercury.transport.api;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class TransportException
+ extends Exception
+{
+
+ /**
+ *
+ */
+ public TransportException()
+ {
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param message
+ */
+ public TransportException(
+ String message )
+ {
+ super( message );
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param cause
+ */
+ public TransportException(
+ Throwable cause )
+ {
+ super( cause );
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @param message
+ * @param cause
+ */
+ public TransportException(
+ String message,
+ Throwable cause )
+ {
+ super( message, cause );
+ // TODO Auto-generated constructor stub
+ }
+
+}
Added: maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/transport/api/TransportTransaction.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/transport/api/TransportTransaction.java?rev=679277&view=auto==============================================================================
--- maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/transport/api/TransportTransaction.java (added)
+++ maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/transport/api/TransportTransaction.java Wed Jul 23 22:39:20 2008
@@ -0,0 +1,98 @@
+package org.apache.maven.mercury.transport.api;
+
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * Repository access transaction. Consists of a collection of bindings
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class TransportTransaction
+{
+ public static final int DEFAULT_SIZE = 32;
+
+ protected List<Binding> _bindings;
+
+ //------------------------------------------------------------------------------------------------
+ private void init()
+ {
+ init( DEFAULT_SIZE );
+ }
+ //------------------------------------------------------------------------------------------------
+ private void init( int n )
+ {
+ if( _bindings == null )
+ _bindings = new ArrayList<Binding>( n );
+ }
+ //------------------------------------------------------------------------------------------------
+ /**
+ *
+ */
+ public TransportTransaction()
+ {
+ init();
+ }
+ //------------------------------------------------------------------------------------------------
+ /**
+ *
+ */
+ public TransportTransaction add( Binding binding )
+ {
+ init();
+
+ _bindings.add( binding );
+
+ return this;
+ }
+ //------------------------------------------------------------------------------------------------
+ /**
+ *
+ */
+ public TransportTransaction add( URI remoteResource, URI localResource, boolean lenientChecksum )
+ {
+ init();
+
+ _bindings.add( new Binding( remoteResource, localResource, lenientChecksum ) );
+
+ return this;
+ }
+ //------------------------------------------------------------------------------------------------
+ /**
+ *
+ */
+ public TransportTransaction add( URI remoteResource, URI localResource )
+ {
+ init();
+
+ _bindings.add( new Binding( remoteResource, localResource, true ) );
+
+ return this;
+ }
+ //------------------------------------------------------------------------------------------------
+ @SuppressWarnings("unchecked")
+ public List<Binding> getBindings()
+ {
+ return _bindings == null ? (List<Binding>)Collections.EMPTY_LIST : _bindings;
+ }
+
+ public void setBindings( List<Binding> bindings )
+ {
+ this._bindings = bindings;
+ }
+ //------------------------------------------------------------------------------------------------
+ public void clearErrors()
+ {
+ if( _bindings == null )
+ return;
+
+ for( Binding b : _bindings )
+ b.setError( null );
+ }
+ //------------------------------------------------------------------------------------------------
+ //------------------------------------------------------------------------------------------------
+}
Added: maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/transport/api/Verifier.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/transport/api/Verifier.java?rev=679277&view=auto==============================================================================
--- maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/transport/api/Verifier.java (added)
+++ maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/transport/api/Verifier.java Wed Jul 23 22:39:20 2008
@@ -0,0 +1,6 @@
+package org.apache.maven.mercury.transport.api;
+
+public interface Verifier
+{
+
+}
Modified: maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/AbstractSimpleTreeTest.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/AbstractSimpleTreeTest.java?rev=679277&r1=679276&r2=679277&view=diff==============================================================================
--- maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/AbstractSimpleTreeTest.java (original)
+++ maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/AbstractSimpleTreeTest.java Wed Jul 23 22:39:20 2008
@@ -1,5 +1,7 @@
package org.apache.maven.mercury.metadata;
+import org.apache.maven.mercury.ArtifactMetadata;
+
import junit.framework.TestCase;
public abstract class AbstractSimpleTreeTest
Modified: maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/MetadataResolverTest.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/MetadataResolverTest.java?rev=679277&r1=679276&r2=679277&view=diff==============================================================================
--- maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/MetadataResolverTest.java (original)
+++ maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/MetadataResolverTest.java Wed Jul 23 22:39:20 2008
@@ -8,6 +8,7 @@
import junit.framework.TestCase;
import org.apache.maven.mercury.Artifact;
+import org.apache.maven.mercury.ArtifactMetadata;
import org.apache.maven.mercury.repository.DefaultLocalRepository;
import org.apache.maven.mercury.repository.DefaultRemoteRepository;
import org.apache.maven.mercury.repository.LocalRepository;
Modified: maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/MetadataTreeTest.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/MetadataTreeTest.java?rev=679277&r1=679276&r2=679277&view=diff==============================================================================
--- maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/MetadataTreeTest.java (original)
+++ maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/MetadataTreeTest.java Wed Jul 23 22:39:20 2008
@@ -7,6 +7,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.impl.LogFactoryImpl;
+import org.apache.maven.mercury.ArtifactMetadata;
import org.apache.maven.mercury.ArtifactScopeEnum;
import org.apache.maven.mercury.repository.DefaultLocalRepository;
Modified: maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/MockMetadataSource.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/MockMetadataSource.java?rev=679277&r1=679276&r2=679277&view=diff==============================================================================
--- maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/MockMetadataSource.java (original)
+++ maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/MockMetadataSource.java Wed Jul 23 22:39:20 2008
@@ -8,6 +8,7 @@
import java.util.Set;
import org.apache.commons.digester.Digester;
+import org.apache.maven.mercury.ArtifactMetadata;
import org.apache.maven.mercury.metadata.version.VersionException;
import org.apache.maven.mercury.metadata.version.VersionRange;
import org.apache.maven.mercury.repository.DefaultLocalRepository;
Modified: maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/builder/MetadataBuilder.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/builder/MetadataBuilder.java?rev=679277&r1=679276&r2=679277&view=diff==============================================================================
--- maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/builder/MetadataBuilder.java (original)
+++ maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/builder/MetadataBuilder.java Wed Jul 23 22:39:20 2008
@@ -2,7 +2,7 @@
import java.util.List;
-import org.apache.maven.mercury.metadata.ArtifactMetadata;
+import org.apache.maven.mercury.ArtifactMetadata;
public interface MetadataBuilder
{
Modified: maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/builder/XmlMetadataBuilder.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/builder/XmlMetadataBuilder.java?rev=679277&r1=679276&r2=679277&view=diff==============================================================================
--- maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/builder/XmlMetadataBuilder.java (original)
+++ maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/builder/XmlMetadataBuilder.java Wed Jul 23 22:39:20 2008
@@ -3,7 +3,7 @@
import java.util.List;
import java.util.Properties;
-import org.apache.maven.mercury.metadata.ArtifactMetadata;
+import org.apache.maven.mercury.ArtifactMetadata;
public class XmlMetadataBuilder
implements MetadataBuilder
Modified: maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolverTest.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolverTest.java?rev=679277&r1=679276&r2=679277&view=diff==============================================================================
--- maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolverTest.java (original)
+++ maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolverTest.java Wed Jul 23 22:39:20 2008
@@ -6,8 +6,8 @@
import java.util.List;
import java.util.Map;
+import org.apache.maven.mercury.ArtifactMetadata;
import org.apache.maven.mercury.ArtifactScopeEnum;
-import org.apache.maven.mercury.metadata.ArtifactMetadata;
import org.apache.maven.mercury.metadata.ClassicDepthComparator;
import org.apache.maven.mercury.metadata.ClassicVersionComparator;
import org.apache.maven.mercury.metadata.MetadataTreeNode;
Modified: maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/repository/metadata/MetadataReaderTest.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/repository/metadata/MetadataReaderTest.java?rev=679277&r1=679276&r2=679277&view=diff==============================================================================
--- maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/repository/metadata/MetadataReaderTest.java (original)
+++ maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/repository/metadata/MetadataReaderTest.java Wed Jul 23 22:39:20 2008
@@ -7,17 +7,16 @@
import java.util.HashSet;
import java.util.List;
+import junit.framework.TestCase;
+
import org.apache.maven.mercury.repository.metadata.io.xpp3.MetadataXpp3Reader;
import org.apache.maven.mercury.spi.http.client.Binding;
import org.apache.maven.mercury.spi.http.client.retrieve.DefaultRetrievalRequest;
import org.apache.maven.mercury.spi.http.client.retrieve.DefaultRetriever;
import org.apache.maven.mercury.spi.http.client.retrieve.RetrievalResponse;
import org.apache.maven.mercury.spi.http.server.HttpTestServer;
-import org.apache.maven.mercury.spi.http.server.SimpleTestServer;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
-import junit.framework.TestCase;
-
public class MetadataReaderTest
extends TestCase
{
@@ -28,20 +27,11 @@
HttpTestServer _server;
DefaultRetrievalRequest _request;
-
+ //-------------------------------------------------------------------------
@Override
protected void setUp()
throws Exception
{
-// File [] list = _testBase.listFiles();
-// if( list != null )
-// {
-// for( File f : list )
-// System.out.println( f.getCanonicalPath() );
-// }
-// else
-// System.out.println("no files in "+_testBase.getCanonicalPath() );
-
_retriever = new DefaultRetriever();
_server = new HttpTestServer( _testBase, "/repo" );
_server.start();
@@ -58,15 +48,14 @@
_server.stop();
_server.destroy();
}
-
+ //-------------------------------------------------------------------------
public void testReadMd()
throws FileNotFoundException, IOException, XmlPullParserException
{
Metadata mmd = _reader.read( new FileInputStream( new File( _testBase, "a/a/maven-metadata.xml") ) );
validateMmd( mmd );
}
-
-
+ //-------------------------------------------------------------------------
public void testReadRemoteMd()
throws FileNotFoundException, IOException, XmlPullParserException
{
@@ -89,7 +78,7 @@
validateMmd( mmd );
}
-
+ //-------------------------------------------------------------------------
private void validateMmd( Metadata mmd )
{
assertNotNull( mmd );
@@ -103,5 +92,6 @@
assertNotNull( versions );
assertTrue( versions.size() > 3 );
}
-
+ //-------------------------------------------------------------------------
+ //-------------------------------------------------------------------------
}