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/07/18 07:13:10 UTC
svn commit: r677822 - in /maven/sandbox/trunk/mercury/src:
main/java/org/apache/maven/mercury/metadata/
main/java/org/apache/maven/mercury/repository/
main/java/org/apache/maven/mercury/repository/layout/
main/java/org/apache/maven/mercury/retrieve/ ma...
Author: ogusakov
Date: Thu Jul 17 22:13:10 2008
New Revision: 677822
URL: http://svn.apache.org/viewvc?rev=677822&view=rev
Log:
started revamping the ArtifactRetriever, it now accepts ArtifactMetadata, not Artifact as a request
Added:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/transport/
Modified:
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/repository/AbstractRepository.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/Repository.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/layout/DefaultRepositoryLayout.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/layout/RepositoryLayout.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/retrieve/DefaultArtifactRetriever.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/retrieve/ResolutionRequest.java
maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/MetadataResolverTest.java
Modified: 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/metadata/ArtifactMetadata.java?rev=677822&r1=677821&r2=677822&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/metadata/ArtifactMetadata.java Thu Jul 17 22:13:10 2008
@@ -364,5 +364,10 @@
this.optional = "true".equals(optional) ? true : false;
}
+ public boolean hasClassifier()
+ {
+ return classifier == null;
+ }
+
}
Modified: maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/DefaultMetadataResolver.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/DefaultMetadataResolver.java?rev=677822&r1=677821&r2=677822&view=diff
==============================================================================
--- maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/DefaultMetadataResolver.java (original)
+++ maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/DefaultMetadataResolver.java Thu Jul 17 22:13:10 2008
@@ -54,14 +54,18 @@
}
//------------------------------------------------------------------------
- private MetadataTreeNode resolveMetadataTree( ArtifactMetadata query, MetadataTreeNode parent, LocalRepository localRepository, Set<RemoteRepository> remoteRepositories )
+ private MetadataTreeNode resolveMetadataTree( ArtifactMetadata query
+ , MetadataTreeNode parent
+ , LocalRepository localRepository
+ , Set<RemoteRepository> remoteRepositories
+ )
throws MetadataResolutionException
{
try
{
Artifact pomArtifact = new DefaultArtifact( query.getGroupId(), query.getArtifactId(), query.getVersion(), query.getType(), null, false, query.getScope(), null );
- ResolutionRequest request = new ResolutionRequest().setArtifact( pomArtifact ).setLocalRepository( localRepository ).setRemoteRepostories( remoteRepositories );
+ ResolutionRequest request = new ResolutionRequest().setMd( query ).setLocalRepository( localRepository ).setRemoteRepostories( remoteRepositories );
ResolutionResult result = retriever.retrieve( request );
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=677822&r1=677821&r2=677822&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 Thu Jul 17 22:13:10 2008
@@ -1,6 +1,7 @@
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;
/*
@@ -19,7 +20,7 @@
*/
public abstract class AbstractRepository
- implements Repository
+implements Repository
{
private String id;
@@ -41,8 +42,8 @@
return layout;
}
- public String pathOf( Artifact artifact )
+ public String pathOf( ArtifactMetadata md )
{
- return layout.pathOf( artifact );
+ return layout.pathOf( md );
}
}
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=677822&r1=677821&r2=677822&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 Thu Jul 17 22:13:10 2008
@@ -3,8 +3,8 @@
import org.apache.maven.mercury.repository.layout.RepositoryLayout;
public class DefaultRemoteRepository
- extends AbstractRepository
- implements RemoteRepository
+extends AbstractRepository
+implements RemoteRepository
{
private String url;
Modified: 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?rev=677822&r1=677821&r2=677822&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 Thu Jul 17 22:13:10 2008
@@ -1,6 +1,7 @@
package org.apache.maven.mercury.repository;
import org.apache.maven.mercury.Artifact;
+import org.apache.maven.mercury.metadata.ArtifactMetadata;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -25,7 +26,7 @@
*/
public interface Repository
{
- String pathOf( Artifact artifact );
+ String pathOf( ArtifactMetadata md );
String getId();
}
Modified: maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/layout/DefaultRepositoryLayout.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/layout/DefaultRepositoryLayout.java?rev=677822&r1=677821&r2=677822&view=diff
==============================================================================
--- maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/layout/DefaultRepositoryLayout.java (original)
+++ maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/layout/DefaultRepositoryLayout.java Thu Jul 17 22:13:10 2008
@@ -1,6 +1,7 @@
package org.apache.maven.mercury.repository.layout;
import org.apache.maven.mercury.Artifact;
+import org.apache.maven.mercury.metadata.ArtifactMetadata;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -23,10 +24,12 @@
/**
* @author jdcasey
+ * @author Oleg Gusakov
+ *
* @plexus.component role="org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout" role-hint="default"
*/
public class DefaultRepositoryLayout
- implements RepositoryLayout
+implements RepositoryLayout
{
private static final char PATH_SEPARATOR = '/';
@@ -34,18 +37,18 @@
private static final char ARTIFACT_SEPARATOR = '-';
- public String pathOf( Artifact artifact )
+ public String pathOf( ArtifactMetadata md )
{
StringBuffer path = new StringBuffer();
- path.append( formatAsDirectory( artifact.getGroupId() ) ).append( PATH_SEPARATOR );
- path.append( artifact.getArtifactId() ).append( PATH_SEPARATOR );
- path.append( artifact.getVersion() ).append( PATH_SEPARATOR );
- path.append( artifact.getArtifactId() ).append( ARTIFACT_SEPARATOR ).append( artifact.getVersion() );
+ path.append( formatAsDirectory( md.getGroupId() ) ).append( PATH_SEPARATOR );
+ path.append( md.getArtifactId() ).append( PATH_SEPARATOR );
+ path.append( md.getVersion() ).append( PATH_SEPARATOR );
+ path.append( md.getArtifactId() ).append( ARTIFACT_SEPARATOR ).append( md.getVersion() );
- if ( artifact.hasClassifier() )
+ if ( md.hasClassifier() )
{
- path.append( ARTIFACT_SEPARATOR ).append( artifact.getClassifier() );
+ path.append( ARTIFACT_SEPARATOR ).append( md.getClassifier() );
}
path.append( GROUP_SEPARATOR ).append( "pom" );
Modified: maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/layout/RepositoryLayout.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/layout/RepositoryLayout.java?rev=677822&r1=677821&r2=677822&view=diff
==============================================================================
--- maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/layout/RepositoryLayout.java (original)
+++ maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/layout/RepositoryLayout.java Thu Jul 17 22:13:10 2008
@@ -1,6 +1,7 @@
package org.apache.maven.mercury.repository.layout;
import org.apache.maven.mercury.Artifact;
+import org.apache.maven.mercury.metadata.ArtifactMetadata;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -21,10 +22,15 @@
* under the License.
*/
-/** @author jdcasey */
+/**
+ *
+ * @author jdcasey
+ * @author Oleg Gusakov
+ * @version $Id$
+ **/
public interface RepositoryLayout
{
String ROLE = RepositoryLayout.class.getName();
- String pathOf( Artifact artifact );
+ String pathOf( ArtifactMetadata md );
}
Modified: maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/retrieve/DefaultArtifactRetriever.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/retrieve/DefaultArtifactRetriever.java?rev=677822&r1=677821&r2=677822&view=diff
==============================================================================
--- maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/retrieve/DefaultArtifactRetriever.java (original)
+++ maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/retrieve/DefaultArtifactRetriever.java Thu Jul 17 22:13:10 2008
@@ -31,7 +31,7 @@
* @plexus.component
*/
public class DefaultArtifactRetriever
- implements ArtifactRetriever
+implements ArtifactRetriever
{
public ResolutionResult retrieve( ResolutionRequest request )
{
@@ -53,8 +53,8 @@
for ( RemoteRepository remoteRepository : request.getRemoteRepostories() )
{
DefaultRetrievalRequest rr = new DefaultRetrievalRequest();
- String remoteUrl = remoteRepository.getUrl() + "/" + remoteRepository.pathOf( request.getArtifact() );
- File localFile = new File( request.getLocalRepository().getDirectory(), request.getLocalRepository().pathOf( request.getArtifact() ) );
+ String remoteUrl = remoteRepository.getUrl() + "/" + remoteRepository.pathOf( request.getMd() );
+ File localFile = new File( request.getLocalRepository().getDirectory(), request.getLocalRepository().pathOf( request.getMd() ) );
Binding binding = new Binding( remoteUrl, localFile, true );
rr.addBinding( binding );
RetrievalResponse response = retriever.retrieve( rr );
Modified: maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/retrieve/ResolutionRequest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/retrieve/ResolutionRequest.java?rev=677822&r1=677821&r2=677822&view=diff
==============================================================================
--- maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/retrieve/ResolutionRequest.java (original)
+++ maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/retrieve/ResolutionRequest.java Thu Jul 17 22:13:10 2008
@@ -3,6 +3,7 @@
import java.util.Set;
import org.apache.maven.mercury.Artifact;
+import org.apache.maven.mercury.metadata.ArtifactMetadata;
import org.apache.maven.mercury.repository.LocalRepository;
import org.apache.maven.mercury.repository.RemoteRepository;
import org.apache.maven.mercury.repository.Repository;
@@ -15,84 +16,71 @@
*/
public class ResolutionRequest
{
- private Artifact artifact;
-
- private String groupId;
-
- private String artifactId;
-
- private String version;
-
+ private ArtifactMetadata _md;
private LocalRepository localRepository;
-
private Set<RemoteRepository> remoteRepostories;
- public Artifact getArtifact()
+ public ArtifactMetadata getMd()
{
- return artifact;
+ return _md;
}
- public ResolutionRequest setArtifact( Artifact artifact )
+ public ResolutionRequest setMd( ArtifactMetadata md )
{
- this.artifact = artifact;
-
+ this._md = md;
return this;
}
- public boolean hasArtifact()
+ public boolean hasMd()
+ {
+ return _md != null;
+ }
+
+ private void checkMd()
{
- return artifact != null;
+ if( _md == null )
+ _md = new ArtifactMetadata();
}
public String getGroupId()
{
- if ( artifact != null )
- {
- return artifact.getGroupId();
- }
-
- return groupId;
+ checkMd();
+ return _md.getGroupId();
}
public ResolutionRequest setGroupId( String groupId )
{
- this.groupId = groupId;
+ checkMd();
+ this._md.setGroupId( groupId );
- return this;
+ return this;
}
public String getArtifactId()
{
- if ( artifact != null )
- {
- return artifact.getArtifactId();
- }
-
- return artifactId;
+ checkMd();
+ return _md.getArtifactId();
}
public ResolutionRequest setArtifactId( String artifactId )
{
- this.artifactId = artifactId;
+ checkMd();
+ this._md.setArtifactId( artifactId );
- return this;
+ return this;
}
public String getVersion()
{
- if ( artifact != null )
- {
- return artifact.getVersion();
- }
-
- return version;
+ checkMd();
+ return _md.getVersion();
}
public ResolutionRequest setVersion( String version )
{
- this.version = version;
-
- return this;
+ checkMd();
+ this._md.setVersion(version);
+ return this;
}
public LocalRepository getLocalRepository()
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=677822&r1=677821&r2=677822&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 Thu Jul 17 22:13:10 2008
@@ -106,11 +106,11 @@
}
class SimpleLayout
- implements RepositoryLayout
+ implements RepositoryLayout
{
- public String pathOf( Artifact artifact )
+ public String pathOf( ArtifactMetadata md )
{
- return artifact.getArtifactId() + "-" + artifact.getVersion() + ".txt";
+ return md.getArtifactId() + "-" + md.getVersion() + ".txt";
}
}
}