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 2010/07/08 07:53:28 UTC
svn commit: r961576 - in /archiva/branches/archiva-MRM-980/archiva-modules:
archiva-base/archiva-proxy/src/test/java/org/apache/archiva/metadata/repository/
archiva-web/archiva-webapp/src/test/java/org/apache/archiva/metadata/repository/memory/
archiva...
Author: brett
Date: Thu Jul 8 05:53:27 2010
New Revision: 961576
URL: http://svn.apache.org/viewvc?rev=961576&view=rev
Log:
[MRM-980] Add getArtifacts() method to be able to retrieve all artifacts in a repository
Submitted by: Patti Arachchige Eshan Sudharaka
Modified:
archiva/branches/archiva-MRM-980/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java
archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/metadata/repository/memory/TestMetadataRepository.java
archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java
archiva/branches/archiva-MRM-980/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataRepository.java
archiva/branches/archiva-MRM-980/archiva-modules/metadata/metadata-repository-api/src/test/java/org/apache/archiva/metadata/repository/AbstractMetadataRepositoryTest.java
archiva/branches/archiva-MRM-980/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java
archiva/branches/archiva-MRM-980/archiva-modules/plugins/metadata-repository-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java
Modified: archiva/branches/archiva-MRM-980/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-MRM-980/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java?rev=961576&r1=961575&r2=961576&view=diff
==============================================================================
--- archiva/branches/archiva-MRM-980/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java (original)
+++ archiva/branches/archiva-MRM-980/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java Thu Jul 8 05:53:27 2010
@@ -159,4 +159,8 @@ public class TestMetadataRepository
{
return null; //To change body of implemented methods use File | Settings | File Templates.
}
+
+ public List<ArtifactMetadata> getArtifacts(String repositoryId){
+ return null;
+ }
}
Modified: archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/metadata/repository/memory/TestMetadataRepository.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/metadata/repository/memory/TestMetadataRepository.java?rev=961576&r1=961575&r2=961576&view=diff
==============================================================================
--- archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/metadata/repository/memory/TestMetadataRepository.java (original)
+++ archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/metadata/repository/memory/TestMetadataRepository.java Thu Jul 8 05:53:27 2010
@@ -199,4 +199,8 @@ public class TestMetadataRepository
{
return artifacts;
}
+
+ public List<ArtifactMetadata> getArtifacts(String repositoryId){
+ return artifacts;
+ }
}
\ No newline at end of file
Modified: archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java?rev=961576&r1=961575&r2=961576&view=diff
==============================================================================
--- archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java (original)
+++ archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java Thu Jul 8 05:53:27 2010
@@ -159,4 +159,7 @@ public class TestMetadataRepository
{
return null; //To change body of implemented methods use File | Settings | File Templates.
}
+ public List<ArtifactMetadata> getArtifacts(String repositoryId){
+ return null;
+ }
}
Modified: archiva/branches/archiva-MRM-980/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataRepository.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-MRM-980/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataRepository.java?rev=961576&r1=961575&r2=961576&view=diff
==============================================================================
--- archiva/branches/archiva-MRM-980/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataRepository.java (original)
+++ archiva/branches/archiva-MRM-980/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/MetadataRepository.java Thu Jul 8 05:53:27 2010
@@ -75,4 +75,6 @@ public interface MetadataRepository
* @param repositoryId the repository to delete
*/
void deleteRepository( String repositoryId );
+
+ List<ArtifactMetadata> getArtifacts(String repositoryId);
}
Modified: archiva/branches/archiva-MRM-980/archiva-modules/metadata/metadata-repository-api/src/test/java/org/apache/archiva/metadata/repository/AbstractMetadataRepositoryTest.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-MRM-980/archiva-modules/metadata/metadata-repository-api/src/test/java/org/apache/archiva/metadata/repository/AbstractMetadataRepositoryTest.java?rev=961576&r1=961575&r2=961576&view=diff
==============================================================================
--- archiva/branches/archiva-MRM-980/archiva-modules/metadata/metadata-repository-api/src/test/java/org/apache/archiva/metadata/repository/AbstractMetadataRepositoryTest.java (original)
+++ archiva/branches/archiva-MRM-980/archiva-modules/metadata/metadata-repository-api/src/test/java/org/apache/archiva/metadata/repository/AbstractMetadataRepositoryTest.java Thu Jul 8 05:53:27 2010
@@ -486,6 +486,17 @@ public abstract class AbstractMetadataRe
assertTrue( repository.getArtifactsByDateRange( TEST_REPO_ID, null, upper ).isEmpty() );
}
+ public void testGetArtifactsByRepoId()
+ {
+ repository.updateNamespace( TEST_REPO_ID, TEST_NAMESPACE );
+ repository.updateProject( TEST_REPO_ID, createProject() );
+ ArtifactMetadata artifact = createArtifact();
+ repository.updateArtifact( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, TEST_PROJECT_VERSION, artifact );
+ assertFalse( repository.getArtifacts(TEST_REPO_ID).isEmpty());
+
+
+ }
+
public void testGetNamespacesWithSparseDepth()
{
repository.updateNamespace( TEST_REPO_ID, "org.apache.maven.shared" );
Modified: archiva/branches/archiva-MRM-980/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-MRM-980/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java?rev=961576&r1=961575&r2=961576&view=diff
==============================================================================
--- archiva/branches/archiva-MRM-980/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java (original)
+++ archiva/branches/archiva-MRM-980/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/metadata/repository/TestMetadataRepository.java Thu Jul 8 05:53:27 2010
@@ -114,4 +114,7 @@ public class TestMetadataRepository
{
//To change body of implemented methods use File | Settings | File Templates.
}
+ public List<ArtifactMetadata> getArtifacts(String repositoryId){
+ return null;
+ }
}
\ No newline at end of file
Modified: archiva/branches/archiva-MRM-980/archiva-modules/plugins/metadata-repository-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-MRM-980/archiva-modules/plugins/metadata-repository-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java?rev=961576&r1=961575&r2=961576&view=diff
==============================================================================
--- archiva/branches/archiva-MRM-980/archiva-modules/plugins/metadata-repository-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java (original)
+++ archiva/branches/archiva-MRM-980/archiva-modules/plugins/metadata-repository-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java Thu Jul 8 05:53:27 2010
@@ -140,7 +140,7 @@ public class FileMetadataRepository
{
properties.remove( name );
}
-
+
// clear the facet contents so old properties are no longer written
clearMetadataFacetProperties( versionMetadata, properties );
}
@@ -227,7 +227,7 @@ public class FileMetadataRepository
}
}
}
-
+
private void clearMetadataFacetProperties( ProjectVersionMetadata versionMetadata, Properties properties )
{
List<Object> propsToRemove = new ArrayList<Object>();
@@ -242,7 +242,7 @@ public class FileMetadataRepository
}
}
}
-
+
for( Object key : propsToRemove )
{
properties.remove( key );
@@ -577,7 +577,7 @@ public class FileMetadataRepository
properties.remove( "artifact:sha1:" + id );
properties.remove( "artifact:version:" + id );
properties.remove( "artifact:facetIds:" + id );
-
+
String prefix = "artifact:facet:" + id + ":";
for ( Object key : new ArrayList( properties.keySet() ) )
{
@@ -1075,4 +1075,36 @@ public class FileMetadataRepository
return artifact1.getWhenGathered().compareTo( artifact2.getWhenGathered() );
}
}
+
+ public List<ArtifactMetadata> getArtifacts( String repoId )
+ {
+
+ List<ArtifactMetadata> artifacts = new ArrayList<ArtifactMetadata>();
+ for ( String ns : getRootNamespaces( repoId ) )
+ {
+ getArtifacts( artifacts, repoId, ns );
+ }
+ return artifacts;
+ }
+
+ private void getArtifacts( List<ArtifactMetadata> artifacts, String repoId, String ns )
+ {
+ for ( String namespace : getNamespaces( repoId, ns ) )
+ {
+ getArtifacts( artifacts, repoId, ns + "." + namespace );
+ }
+
+ for ( String project : getProjects( repoId, ns ) )
+ {
+ for ( String version : getProjectVersions( repoId, ns, project ) )
+ {
+ for ( ArtifactMetadata artifact : getArtifacts( repoId, ns, project, version ) )
+ {
+
+ artifacts.add( artifact );
+
+ }
+ }
+ }
+ }
}