You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by br...@apache.org on 2009/12/10 05:16:12 UTC

svn commit: r889083 - in /archiva/branches/MRM-1025/archiva-modules: archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/tags/ archiva-web/archiva-webapp/src/test/java/org/apache/archiva/metadata/repository/memory/ metadata/metadata-r...

Author: brett
Date: Thu Dec 10 04:16:11 2009
New Revision: 889083

URL: http://svn.apache.org/viewvc?rev=889083&view=rev
Log:
[MRM-1282] make artifacts load metadata on the fly from a maven2 repo

Added:
    archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/maven-metadata.xml
    archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/maven-metadata.xml.md5
    archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/maven-metadata.xml.sha1
    archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2-sources.jar
    archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2-sources.jar.asc
    archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2-sources.jar.md5
    archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2-sources.jar.sha1
    archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2.jar
    archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2.jar.asc
    archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2.jar.md5
    archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2.jar.sha1
    archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2.pom.asc
    archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2.pom.md5
    archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2.pom.sha1
Modified:
    archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/tags/DownloadArtifact.java
    archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/metadata/repository/memory/TestMetadataResolver.java
    archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/DefaultMetadataResolver.java
    archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataRepository.java
    archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataResolver.java
    archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/storage/RepositoryPathTranslator.java
    archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/storage/StorageMetadataResolver.java
    archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolver.java
    archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryPathTranslator.java
    archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/TestMetadataResolver.java
    archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolverTest.java

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/tags/DownloadArtifact.java
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/tags/DownloadArtifact.java?rev=889083&r1=889082&r2=889083&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/tags/DownloadArtifact.java (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/tags/DownloadArtifact.java Thu Dec 10 04:16:11 2009
@@ -34,7 +34,7 @@
 import com.opensymphony.xwork2.ActionContext;
 import com.opensymphony.xwork2.util.ValueStack;
 import org.apache.archiva.metadata.model.ArtifactMetadata;
-import org.apache.archiva.metadata.repository.MetadataRepository;
+import org.apache.archiva.metadata.repository.MetadataResolver;
 import org.apache.commons.lang.StringEscapeUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.maven.archiva.model.ArtifactReference;
@@ -57,7 +57,7 @@
 
     private RepositoryContentFactory repositoryFactory;
 
-    private MetadataRepository metadataRepository;
+    private MetadataResolver metadataResolver;
 
     private HttpServletRequest req;
 
@@ -92,7 +92,7 @@
         this.req = (HttpServletRequest) pageContext.getRequest();
         try
         {
-            metadataRepository = (MetadataRepository) PlexusTagUtil.lookup( pageContext, MetadataRepository.class );
+            metadataResolver = (MetadataResolver) PlexusTagUtil.lookup( pageContext, MetadataResolver.class );
             repositoryFactory =
                 (RepositoryContentFactory) PlexusTagUtil.lookup( pageContext, RepositoryContentFactory.class );
             userRepositories = (UserRepositories) PlexusTagUtil.lookup( pageContext, UserRepositories.class );
@@ -113,7 +113,7 @@
             List<ArtifactMetadata> artifacts = new ArrayList<ArtifactMetadata>();
             for ( String repoId : getObservableRepos() )
             {
-                artifacts.addAll( metadataRepository.getArtifacts( repoId, groupId, artifactId, version ) );
+                artifacts.addAll( metadataResolver.getArtifacts( repoId, groupId, artifactId, version ) );
             }
 
             if ( !artifacts.isEmpty() )

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/metadata/repository/memory/TestMetadataResolver.java
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/metadata/repository/memory/TestMetadataResolver.java?rev=889083&r1=889082&r2=889083&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/metadata/repository/memory/TestMetadataResolver.java (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/metadata/repository/memory/TestMetadataResolver.java Thu Dec 10 04:16:11 2009
@@ -27,6 +27,7 @@
 import java.util.Map;
 import java.util.Set;
 
+import org.apache.archiva.metadata.model.ArtifactMetadata;
 import org.apache.archiva.metadata.model.ProjectMetadata;
 import org.apache.archiva.metadata.model.ProjectVersionMetadata;
 import org.apache.archiva.metadata.model.ProjectVersionReference;
@@ -119,6 +120,12 @@
         return list != null ? list : Collections.<String>emptyList();
     }
 
+    public Collection<ArtifactMetadata> getArtifacts( String repoId, String namespace, String projectId,
+                                                      String projectVersion )
+    {
+        return null;  //To change body of implemented methods use File | Settings | File Templates.
+    }
+
     public void setProjectVersion( String repoId, String namespace, String projectId,
                                    ProjectVersionMetadata versionMetadata )
     {

Modified: archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/DefaultMetadataResolver.java
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/DefaultMetadataResolver.java?rev=889083&r1=889082&r2=889083&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/DefaultMetadataResolver.java (original)
+++ archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/DefaultMetadataResolver.java Thu Dec 10 04:16:11 2009
@@ -22,6 +22,7 @@
 import java.util.ArrayList;
 import java.util.Collection;
 
+import org.apache.archiva.metadata.model.ArtifactMetadata;
 import org.apache.archiva.metadata.model.Dependency;
 import org.apache.archiva.metadata.model.ProjectMetadata;
 import org.apache.archiva.metadata.model.ProjectVersionMetadata;
@@ -187,4 +188,34 @@
         }
         return projectVersions;
     }
+
+    public Collection<ArtifactMetadata> getArtifacts( String repoId, String namespace, String projectId,
+                                                      String projectVersion )
+    {
+        Collection<ArtifactMetadata> artifacts =
+            metadataRepository.getArtifacts( repoId, namespace, projectId, projectVersion );
+        Collection<ArtifactMetadata> storageArtifacts =
+            storageResolver.getArtifacts( repoId, namespace, projectId, projectVersion,
+                                          new ExcludesFilter<String>( createArtifactIdList( artifacts ) ) );
+        if ( storageArtifacts != null && !storageArtifacts.isEmpty() )
+        {
+            for ( ArtifactMetadata artifact : storageArtifacts )
+            {
+                metadataRepository.updateArtifact( repoId, namespace, projectId, projectVersion, artifact );
+            }
+            artifacts = new ArrayList<ArtifactMetadata>( artifacts );
+            artifacts.addAll( storageArtifacts );
+        }
+        return artifacts;
+    }
+
+    private Collection<String> createArtifactIdList( Collection<ArtifactMetadata> artifacts )
+    {
+        Collection<String> artifactIds = new ArrayList<String>();
+        for ( ArtifactMetadata artifact : artifacts )
+        {
+            artifactIds.add( artifact.getId() );
+        }
+        return artifactIds;
+    }
 }

Modified: archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataRepository.java
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataRepository.java?rev=889083&r1=889082&r2=889083&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataRepository.java (original)
+++ archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataRepository.java Thu Dec 10 04:16:11 2009
@@ -62,7 +62,4 @@
     List<ArtifactMetadata> getArtifactsByDateRange( String repoId, Date startTime, Date endTime );
 
     Collection<String> getRepositories();
-
-    public Collection<ArtifactMetadata> getArtifacts( String repoId, String namespace, String projectId,
-                                                      String projectVersion );
 }

Modified: archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataResolver.java
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataResolver.java?rev=889083&r1=889082&r2=889083&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataResolver.java (original)
+++ archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataResolver.java Thu Dec 10 04:16:11 2009
@@ -21,6 +21,7 @@
 
 import java.util.Collection;
 
+import org.apache.archiva.metadata.model.ArtifactMetadata;
 import org.apache.archiva.metadata.model.ProjectMetadata;
 import org.apache.archiva.metadata.model.ProjectVersionMetadata;
 import org.apache.archiva.metadata.model.ProjectVersionReference;
@@ -56,4 +57,7 @@
 
     Collection<String> getProjectVersions( String repoId, String namespace, String projectId )
         throws MetadataResolverException;
+
+    Collection<ArtifactMetadata> getArtifacts( String repoId, String namespace, String projectId,
+                                                      String projectVersion );
 }

Modified: archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/storage/RepositoryPathTranslator.java
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/storage/RepositoryPathTranslator.java?rev=889083&r1=889082&r2=889083&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/storage/RepositoryPathTranslator.java (original)
+++ archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/storage/RepositoryPathTranslator.java Thu Dec 10 04:16:11 2009
@@ -30,4 +30,6 @@
     File toFile( File basedir, String namespace, String projectId );
 
     File toFile( File basedir, String namespace );
+
+    File toFile( File basedir, String namespace, String projectId, String projectVersion );
 }

Modified: archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/storage/StorageMetadataResolver.java
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/storage/StorageMetadataResolver.java?rev=889083&r1=889082&r2=889083&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/storage/StorageMetadataResolver.java (original)
+++ archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/storage/StorageMetadataResolver.java Thu Dec 10 04:16:11 2009
@@ -1,10 +1,5 @@
 package org.apache.archiva.metadata.repository.storage;
 
-import java.util.Collection;
-
-import org.apache.archiva.metadata.repository.MetadataResolver;
-import org.apache.archiva.metadata.repository.filter.Filter;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -24,6 +19,12 @@
  * under the License.
  */
 
+import java.util.Collection;
+
+import org.apache.archiva.metadata.model.ArtifactMetadata;
+import org.apache.archiva.metadata.repository.MetadataResolver;
+import org.apache.archiva.metadata.repository.filter.Filter;
+
 public interface StorageMetadataResolver
     extends MetadataResolver
 {
@@ -33,5 +34,8 @@
 
     Collection<String> getProjects( String repoId, String namespace, Filter<String> filter );
 
-    Collection<String> getProjectVersions( String repoId, String namespace, String projectId, Filter<String> filter );    
+    Collection<String> getProjectVersions( String repoId, String namespace, String projectId, Filter<String> filter );
+
+    Collection<ArtifactMetadata> getArtifacts( String repoId, String namespace, String projectId, String projectVersion,
+                                               Filter<String> filter );
 }

Modified: archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolver.java
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolver.java?rev=889083&r1=889082&r2=889083&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolver.java (original)
+++ archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolver.java Thu Dec 10 04:16:11 2009
@@ -21,12 +21,17 @@
 
 import java.io.File;
 import java.io.FilenameFilter;
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.Date;
 import java.util.List;
 
+import org.apache.archiva.checksum.ChecksumAlgorithm;
+import org.apache.archiva.checksum.ChecksummedFile;
+import org.apache.archiva.metadata.model.ArtifactMetadata;
 import org.apache.archiva.metadata.model.ProjectMetadata;
 import org.apache.archiva.metadata.model.ProjectVersionMetadata;
 import org.apache.archiva.metadata.model.ProjectVersionReference;
@@ -370,6 +375,12 @@
         return getProjectVersions( repoId, namespace, projectId, ALL );
     }
 
+    public Collection<ArtifactMetadata> getArtifacts( String repoId, String namespace, String projectId,
+                                                      String projectVersion )
+    {
+        return getArtifacts( repoId, namespace, projectId, projectVersion, ALL );
+    }
+
     public Collection<String> getProjectVersions( String repoId, String namespace, String projectId,
                                                   Filter<String> filter )
     {
@@ -380,6 +391,51 @@
         return files != null ? Arrays.asList( files ) : Collections.<String>emptyList();
     }
 
+    public Collection<ArtifactMetadata> getArtifacts( String repoId, String namespace, String projectId,
+                                                      String projectVersion, Filter<String> filter )
+    {
+        File dir = pathTranslator.toFile( getRepositoryBasedir( repoId ), namespace, projectId, projectVersion );
+
+        // all files that are not metadata and not a checksum / signature are considered artifacts
+        File[] files = dir.listFiles( new ArtifactDirectoryFilter( filter ) );
+
+        List<ArtifactMetadata> artifacts = new ArrayList<ArtifactMetadata>();
+        if ( files != null )
+        {
+            for ( File file : files )
+            {
+                ArtifactMetadata metadata = new ArtifactMetadata();
+                metadata.setId( file.getName() );
+                metadata.setProject( projectId );
+                metadata.setNamespace( namespace );
+                metadata.setRepositoryId( repoId );
+                metadata.setWhenGathered( new Date() );
+                metadata.setFileLastModified( file.lastModified() );
+                ChecksummedFile checksummedFile = new ChecksummedFile( file );
+                try
+                {
+                    metadata.setMd5( checksummedFile.calculateChecksum( ChecksumAlgorithm.MD5 ) );
+                }
+                catch ( IOException e )
+                {
+                    log.error( "Unable to checksum file " + file + ": " + e.getMessage() );
+                }
+                try
+                {
+                    metadata.setSha1( checksummedFile.calculateChecksum( ChecksumAlgorithm.SHA1 ) );
+                }
+                catch ( IOException e )
+                {
+                    log.error( "Unable to checksum file " + file + ": " + e.getMessage() );
+                }
+                metadata.setSize( file.length() );
+                metadata.setVersion( projectVersion );
+                artifacts.add( metadata );
+            }
+        }
+        return artifacts;
+    }
+
     private boolean isProject( File dir, Filter<String> filter )
     {
         // scan directories for a valid project version subdirectory, meaning this must be a project directory
@@ -502,4 +558,41 @@
             return true;
         }
     }
+
+    private class ArtifactDirectoryFilter
+        implements FilenameFilter
+    {
+        private final Filter<String> filter;
+
+        public ArtifactDirectoryFilter( Filter<String> filter )
+        {
+            this.filter = filter;
+        }
+
+        public boolean accept( File dir, String name )
+        {
+            // TODO compare to logic in maven-repository-layer
+            if ( !filter.accept( name ) )
+            {
+                return false;
+            }
+            else if ( name.startsWith( "." ) )
+            {
+                return false;
+            }
+            else if ( name.endsWith( ".md5" ) || name.endsWith( ".sha1" ) || name.endsWith( ".asc" ) )
+            {
+                return false;
+            }
+            else if ( name.equals( METADATA_FILENAME ) )
+            {
+                return false;
+            }
+            else if ( new File( dir, name ).isDirectory() )
+            {
+                return false;
+            }
+            return true;
+        }
+    }
 }

Modified: archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryPathTranslator.java
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryPathTranslator.java?rev=889083&r1=889082&r2=889083&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryPathTranslator.java (original)
+++ archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryPathTranslator.java Thu Dec 10 04:16:11 2009
@@ -38,17 +38,38 @@
         return new File( basedir, toPath( namespace, projectId, projectVersion, filename ) );
     }
 
+    public File toFile( File basedir, String namespace, String projectId, String projectVersion )
+    {
+        return new File( basedir, toPath( namespace, projectId, projectVersion ) );
+    }
+
     public String toPath( String namespace, String projectId, String projectVersion, String filename )
     {
         StringBuilder path = new StringBuilder();
 
-        appendNamespaceAndProject( path, namespace, projectId );
-        path.append( projectVersion ).append( PATH_SEPARATOR );
+        appendNamespaceToProjectVersion( path, namespace, projectId, projectVersion );
+        path.append( PATH_SEPARATOR );
         path.append( filename );
 
         return path.toString();
     }
 
+    private void appendNamespaceToProjectVersion( StringBuilder path, String namespace, String projectId,
+                                                  String projectVersion )
+    {
+        appendNamespaceAndProject( path, namespace, projectId );
+        path.append( projectVersion );
+    }
+
+    public String toPath( String namespace, String projectId, String projectVersion )
+    {
+        StringBuilder path = new StringBuilder();
+
+        appendNamespaceToProjectVersion( path, namespace, projectId, projectVersion );
+
+        return path.toString();
+    }
+
     public String toPath( String namespace )
     {
         StringBuilder path = new StringBuilder();

Modified: archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/TestMetadataResolver.java
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/TestMetadataResolver.java?rev=889083&r1=889082&r2=889083&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/TestMetadataResolver.java (original)
+++ archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/TestMetadataResolver.java Thu Dec 10 04:16:11 2009
@@ -2,6 +2,7 @@
 
 import java.util.Collection;
 
+import org.apache.archiva.metadata.model.ArtifactMetadata;
 import org.apache.archiva.metadata.model.ProjectMetadata;
 import org.apache.archiva.metadata.model.ProjectVersionMetadata;
 import org.apache.archiva.metadata.model.ProjectVersionReference;
@@ -72,4 +73,10 @@
     {
         return null;  //To change body of implemented methods use File | Settings | File Templates.
     }
+
+    public Collection<ArtifactMetadata> getArtifacts( String repoId, String namespace, String projectId,
+                                                      String projectVersion )
+    {
+        return null;  //To change body of implemented methods use File | Settings | File Templates.
+    }
 }

Modified: archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolverTest.java
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolverTest.java?rev=889083&r1=889082&r2=889083&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolverTest.java (original)
+++ archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryMetadataResolverTest.java Thu Dec 10 04:16:11 2009
@@ -22,13 +22,16 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
+import java.util.Comparator;
 import java.util.List;
 
+import org.apache.archiva.metadata.model.ArtifactMetadata;
 import org.apache.archiva.metadata.model.Dependency;
 import org.apache.archiva.metadata.model.License;
 import org.apache.archiva.metadata.model.MailingList;
 import org.apache.archiva.metadata.model.ProjectVersionMetadata;
 import org.apache.archiva.metadata.repository.MetadataResolverException;
+import org.apache.archiva.metadata.repository.filter.ExcludesFilter;
 import org.apache.archiva.metadata.repository.storage.StorageMetadataResolver;
 import org.apache.maven.archiva.configuration.ArchivaConfiguration;
 import org.apache.maven.archiva.configuration.Configuration;
@@ -48,6 +51,10 @@
 
     private static final String ASF_SCM_VIEWVC_BASE = "http://svn.apache.org/viewvc/";
 
+    private static final String EMPTY_MD5 = "d41d8cd98f00b204e9800998ecf8427e";
+
+    private static final String EMPTY_SHA1 = "da39a3ee5e6b4b0d3255bfef95601890afd80709";
+
     public void setUp()
         throws Exception
     {
@@ -292,6 +299,56 @@
                       resolver.getProjectVersions( TEST_REPO_ID, "org.apache.maven.shared", "maven-downloader" ) );
     }
 
+    public void testGetArtifacts()
+    {
+        List<ArtifactMetadata> artifacts = new ArrayList<ArtifactMetadata>(
+            resolver.getArtifacts( TEST_REPO_ID, "org.codehaus.plexus", "plexus-spring", "1.2" ) );
+        assertEquals( 3, artifacts.size() );
+        Collections.sort( artifacts, new Comparator<ArtifactMetadata>()
+        {
+            public int compare( ArtifactMetadata o1, ArtifactMetadata o2 )
+            {
+                return o1.getId().compareTo( o2.getId() );
+            }
+        } );
+
+        assertArtifact( artifacts.get( 0 ), "plexus-spring-1.2-sources.jar", 0, EMPTY_SHA1, EMPTY_MD5 );
+        assertArtifact( artifacts.get( 1 ), "plexus-spring-1.2.jar", 0, EMPTY_SHA1, EMPTY_MD5 );
+        assertArtifact( artifacts.get( 2 ), "plexus-spring-1.2.pom", 7407, "96b14cf880e384b2d15e8193c57b65c5420ca4c5",
+                        "f83aa25f016212a551a4b2249985effc" );
+    }
+
+    public void testGetArtifactsFiltered()
+    {
+        ExcludesFilter<String> filter =
+            new ExcludesFilter<String>( Collections.singletonList( "plexus-spring-1.2.pom" ) );
+        List<ArtifactMetadata> artifacts = new ArrayList<ArtifactMetadata>(
+            resolver.getArtifacts( TEST_REPO_ID, "org.codehaus.plexus", "plexus-spring", "1.2", filter ) );
+        assertEquals( 2, artifacts.size() );
+        Collections.sort( artifacts, new Comparator<ArtifactMetadata>()
+        {
+            public int compare( ArtifactMetadata o1, ArtifactMetadata o2 )
+            {
+                return o1.getId().compareTo( o2.getId() );
+            }
+        } );
+
+        assertArtifact( artifacts.get( 0 ), "plexus-spring-1.2-sources.jar", 0, EMPTY_SHA1, EMPTY_MD5 );
+        assertArtifact( artifacts.get( 1 ), "plexus-spring-1.2.jar", 0, EMPTY_SHA1, EMPTY_MD5 );
+    }
+
+    private void assertArtifact( ArtifactMetadata artifact, String id, int size, String sha1, String md5 )
+    {
+        assertEquals( id, artifact.getId() );
+        assertEquals( md5, artifact.getMd5() );
+        assertEquals( sha1, artifact.getSha1() );
+        assertEquals( size, artifact.getSize() );
+        assertEquals( "org.codehaus.plexus", artifact.getNamespace() );
+        assertEquals( "plexus-spring", artifact.getProject() );
+        assertEquals( "1.2", artifact.getVersion() );
+        assertEquals( TEST_REPO_ID, artifact.getRepositoryId() );
+    }
+
     private void assertMailingList( MailingList mailingList, String name, String archive, String post, String subscribe,
                                     String unsubscribe, List<String> otherArchives, boolean allowPost )
     {

Added: archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/maven-metadata.xml
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/maven-metadata.xml?rev=889083&view=auto
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/maven-metadata.xml (added)
+++ archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/maven-metadata.xml Thu Dec 10 04:16:11 2009
@@ -0,0 +1,5 @@
+<metadata>
+  <groupId>org.codehaus.plexus</groupId>
+  <artifactId>plexus-spring</artifactId>
+  <version>1.2</version>
+</metadata>

Added: archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/maven-metadata.xml.md5
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/maven-metadata.xml.md5?rev=889083&view=auto
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/maven-metadata.xml.md5 (added)
+++ archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/maven-metadata.xml.md5 Thu Dec 10 04:16:11 2009
@@ -0,0 +1 @@
+MD5(maven-metadata.xml)= 158c9a964de51dc98f46aa98f1840d8d

Added: archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/maven-metadata.xml.sha1
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/maven-metadata.xml.sha1?rev=889083&view=auto
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/maven-metadata.xml.sha1 (added)
+++ archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/maven-metadata.xml.sha1 Thu Dec 10 04:16:11 2009
@@ -0,0 +1 @@
+SHA1(maven-metadata.xml)= 39cde2cacfaa779b0c75ee3cccd4be6ab2cf9f5e

Added: archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2-sources.jar
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2-sources.jar?rev=889083&view=auto
==============================================================================
    (empty)

Added: archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2-sources.jar.asc
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2-sources.jar.asc?rev=889083&view=auto
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2-sources.jar.asc (added)
+++ archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2-sources.jar.asc Thu Dec 10 04:16:11 2009
@@ -0,0 +1,18 @@
+-----BEGIN PGP MESSAGE-----
+Version: GnuPG v1.4.10 (Darwin)
+
+owEBUwKs/ZANAwAKAeE2CIoYJL3BAcsjYh1wbGV4dXMtc3ByaW5nLTEuMi1zb3Vy
+Y2VzLmphcksgbhSJAhwEAAEKAAYFAksgbhQACgkQ4TYIihgkvcGrUxAAvXC1yZZ4
+5NthtORnTBqm1twtg8UFN00vIqjhjC3t+A4mvdblx84va7BRHv0IedHcqhjVXK0O
+sLvlVAAx+lCaoqVOq7jOVbqHJRxDh69LpS9uCRBaNX1v7/7GNzPNAK1zhGZyKckG
+uYIYEmBJAfRB5zvezfax/gUZeIbpomeRLZo26+3M4hozRvmhniZpmvWILAmkJ0fh
+hjejepc0tBSakyEE21PjLbY4GwR/hAQ3h/NXL9a5Y+NM6/Hi/q+v48q5u/3PdoKH
+KR11cCpf1BXI/BreikN3UhSojHsi36Ptv86ybFE4HFqp93y816VrRXUgYbd0Awq2
+DGLGkRg1dP/9M9mUgL+M3R0PHquKUqrNWSgnEoSSXFM6xVMumzA49dez23+x4tr1
+cTpXee/qMuQOHCe1jRSN8JWot7OFAJZ4BooyIl2sj5XO8tGKgRCQkbEcNGPWEqfh
+Cee3F2NIiB2jvyniiEFHw2XGGaqynAmp4IDzUyoNhoZ8cYXzimZRfU0qjel8P7lo
+YgxF11BxMIQgIclRn+MS8bBbumKg/MfGPI8+91x/hmC6t4SL9hj+Gk/FQGakF4+O
+EXQVQpE9823h8rzMfYKv2UR3rcJWUMfX5vDkqkjcFTMkfOd13jZVbVqZAF3OcbWY
+iX6hep/GjOPzYHbFk/RJPeZhMPqo/B6SbaI=
+=WL6S
+-----END PGP MESSAGE-----

Added: archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2-sources.jar.md5
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2-sources.jar.md5?rev=889083&view=auto
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2-sources.jar.md5 (added)
+++ archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2-sources.jar.md5 Thu Dec 10 04:16:11 2009
@@ -0,0 +1 @@
+MD5(plexus-spring-1.2-sources.jar)= d41d8cd98f00b204e9800998ecf8427e

Added: archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2-sources.jar.sha1
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2-sources.jar.sha1?rev=889083&view=auto
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2-sources.jar.sha1 (added)
+++ archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2-sources.jar.sha1 Thu Dec 10 04:16:11 2009
@@ -0,0 +1 @@
+SHA1(plexus-spring-1.2-sources.jar)= da39a3ee5e6b4b0d3255bfef95601890afd80709

Added: archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2.jar
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2.jar?rev=889083&view=auto
==============================================================================
    (empty)

Added: archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2.jar.asc
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2.jar.asc?rev=889083&view=auto
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2.jar.asc (added)
+++ archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2.jar.asc Thu Dec 10 04:16:11 2009
@@ -0,0 +1,18 @@
+-----BEGIN PGP MESSAGE-----
+Version: GnuPG v1.4.10 (Darwin)
+
+owEBSwK0/ZANAwAKAeE2CIoYJL3BAcsbYhVwbGV4dXMtc3ByaW5nLTEuMi5qYXJL
+IG4LiQIcBAABCgAGBQJLIG4LAAoJEOE2CIoYJL3Bv1MQAJ6R0qCtvr8nDimYxBJ0
+7sDpYG0C9RjC1NbFskDbq514F+wRkjkqBHQ5HAhrANN7W++xmS+MIAb2FOYMIuw9
+QQ/odKwQZRBvQNNr3vJdeLO8b+Cu9m2SsToq7+SH5+PJLSoLG/7kgv/JL757mxL0
+4kHeJbbwvNC8wK8NUBZjZHL3pNRUpa7pCXCh+GMVtfZItaVX6BRQEYTyskrtnGuR
+8EDs1E3Hqdt8QycmOLVd1VYxXLAizefaVun4rWTtfWDPVnGxio+MWwTf/9JhkSCn
+UdE0+n/9jC0ICDq1t3wNqI5XMgG7/CLDY+ALXqfG8eFaM4jVF+NXu3oW/VjLhPrA
+rL5p+kahz4OTo5pqKx8NTU4vSo1L9B2EKeP5rv2/2qILmqpj8YvIvXqMmAskyrGw
+O4EJeBar/7aN6m9s1ZP7oYQANVAm/6r7GfzSXTy3QSj/OA1fkjRtQuaGQoZfHnQg
+DLcLEMhVDcqBu4ck+VaVdRa5sDxGCmsikz68qdQMY4bAuvf2HiulQNOCcPCvO83/
+TLSqlfPPlFGgouTkStCkJbXwTBjEQUBrNUPCKcs/kUwIUZbg6ziWRk8uO2sWEMYT
+JfXylgeRNcUvpWwTJwSma/05p61Enassai6y97vYDXvhpZY41XdZdg1+pOUm0+QO
+Yw55n4vJQxAeUcON2YlqKIlA
+=Ooq6
+-----END PGP MESSAGE-----

Added: archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2.jar.md5
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2.jar.md5?rev=889083&view=auto
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2.jar.md5 (added)
+++ archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2.jar.md5 Thu Dec 10 04:16:11 2009
@@ -0,0 +1 @@
+MD5(plexus-spring-1.2.jar)= d41d8cd98f00b204e9800998ecf8427e

Added: archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2.jar.sha1
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2.jar.sha1?rev=889083&view=auto
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2.jar.sha1 (added)
+++ archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2.jar.sha1 Thu Dec 10 04:16:11 2009
@@ -0,0 +1 @@
+SHA1(plexus-spring-1.2.jar)= da39a3ee5e6b4b0d3255bfef95601890afd80709

Added: archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2.pom.asc
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2.pom.asc?rev=889083&view=auto
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2.pom.asc (added)
+++ archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2.pom.asc Thu Dec 10 04:16:11 2009
@@ -0,0 +1,54 @@
+-----BEGIN PGP MESSAGE-----
+Version: GnuPG v1.4.10 (Darwin)
+
+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
+4a+9Pj7e+9Zr/wM=
+=HMat
+-----END PGP MESSAGE-----

Added: archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2.pom.md5
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2.pom.md5?rev=889083&view=auto
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2.pom.md5 (added)
+++ archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2.pom.md5 Thu Dec 10 04:16:11 2009
@@ -0,0 +1 @@
+MD5(plexus-spring-1.2.pom)= f83aa25f016212a551a4b2249985effc

Added: archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2.pom.sha1
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2.pom.sha1?rev=889083&view=auto
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2.pom.sha1 (added)
+++ archiva/branches/MRM-1025/archiva-modules/plugins/maven2-repository/src/test/repositories/test/org/codehaus/plexus/plexus-spring/1.2/plexus-spring-1.2.pom.sha1 Thu Dec 10 04:16:11 2009
@@ -0,0 +1 @@
+SHA1(plexus-spring-1.2.pom)= 96b14cf880e384b2d15e8193c57b65c5420ca4c5