mirror of
https://github.com/apache/archiva.git
synced 2025-02-06 18:19:02 +00:00
[MRM-1327] refactor the repository API to make each concern clearer. Storage, resolver and metadata repository are separate interfaces. Rename methods on the resolver and the storage to be clearer of their intent
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1051788 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
f9cd1037d1
commit
c63e2a3f77
@ -25,7 +25,7 @@
|
||||
import org.apache.archiva.metadata.repository.MetadataRepository;
|
||||
import org.apache.archiva.metadata.repository.MetadataRepositoryException;
|
||||
import org.apache.archiva.metadata.repository.MetadataResolutionException;
|
||||
import org.apache.archiva.metadata.repository.storage.StorageMetadataResolver;
|
||||
import org.apache.archiva.metadata.repository.storage.RepositoryStorage;
|
||||
import org.apache.maven.archiva.common.utils.VersionUtil;
|
||||
import org.apache.maven.archiva.configuration.ArchivaConfiguration;
|
||||
import org.apache.maven.archiva.configuration.ConfigurationNames;
|
||||
@ -90,7 +90,7 @@ public class ArchivaMetadataCreationConsumer
|
||||
*
|
||||
* @plexus.requirement role-hint="maven2"
|
||||
*/
|
||||
private StorageMetadataResolver storageResolver;
|
||||
private RepositoryStorage repositoryStorage;
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger( ArchivaMetadataCreationConsumer.class );
|
||||
|
||||
@ -141,7 +141,7 @@ public void processFile( String path )
|
||||
// the initial scan. Any request for this information will be intercepted and populated on-demand
|
||||
// or picked up by subsequent scans
|
||||
|
||||
ArtifactMetadata artifact = storageResolver.getArtifactForPath( repoId, path );
|
||||
ArtifactMetadata artifact = repositoryStorage.readArtifactMetadataFromPath( repoId, path );
|
||||
|
||||
ProjectMetadata project = new ProjectMetadata();
|
||||
project.setNamespace( artifact.getNamespace() );
|
||||
@ -152,8 +152,8 @@ public void processFile( String path )
|
||||
ProjectVersionMetadata versionMetadata = null;
|
||||
try
|
||||
{
|
||||
versionMetadata = storageResolver.getProjectVersion( repoId, artifact.getNamespace(), artifact.getProject(),
|
||||
projectVersion );
|
||||
versionMetadata = repositoryStorage.readProjectVersionMetadata( repoId, artifact.getNamespace(),
|
||||
artifact.getProject(), projectVersion );
|
||||
}
|
||||
catch ( MetadataResolutionException e )
|
||||
{
|
||||
|
@ -19,17 +19,17 @@
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.archiva.metadata.model.ArtifactMetadata;
|
||||
import org.apache.archiva.metadata.model.MetadataFacet;
|
||||
import org.apache.archiva.metadata.model.ProjectMetadata;
|
||||
import org.apache.archiva.metadata.model.ProjectVersionMetadata;
|
||||
import org.apache.archiva.metadata.model.ProjectVersionReference;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
public class TestMetadataRepository
|
||||
implements MetadataRepository
|
||||
{
|
||||
@ -144,12 +144,12 @@ public List<ArtifactMetadata> getArtifactsByChecksum( String repoId, String chec
|
||||
return null; //To change body of implemented methods use File | Settings | File Templates.
|
||||
}
|
||||
|
||||
public void deleteArtifact( String repositoryId, String namespace, String project, String version, String id )
|
||||
public void removeArtifact( String repositoryId, String namespace, String project, String version, String id )
|
||||
{
|
||||
//To change body of implemented methods use File | Settings | File Templates.
|
||||
}
|
||||
|
||||
public void deleteRepository( String repoId )
|
||||
public void removeRepository( String repoId )
|
||||
{
|
||||
//To change body of implemented methods use File | Settings | File Templates.
|
||||
}
|
||||
@ -160,7 +160,8 @@ public Collection<ArtifactMetadata> getArtifacts( String repoId, String namespac
|
||||
return null; //To change body of implemented methods use File | Settings | File Templates.
|
||||
}
|
||||
|
||||
public List<ArtifactMetadata> getArtifacts(String repositoryId){
|
||||
public List<ArtifactMetadata> getArtifacts( String repositoryId )
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
@ -19,15 +19,8 @@
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.Collection;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.TimeZone;
|
||||
|
||||
import com.sun.syndication.feed.synd.SyndEntry;
|
||||
import com.sun.syndication.feed.synd.SyndFeed;
|
||||
import org.apache.archiva.metadata.model.ArtifactMetadata;
|
||||
import org.apache.archiva.metadata.model.MetadataFacet;
|
||||
import org.apache.archiva.metadata.model.ProjectMetadata;
|
||||
@ -38,8 +31,14 @@
|
||||
import org.apache.archiva.rss.RssFeedGenerator;
|
||||
import org.codehaus.plexus.spring.PlexusInSpringTestCase;
|
||||
|
||||
import com.sun.syndication.feed.synd.SyndEntry;
|
||||
import com.sun.syndication.feed.synd.SyndFeed;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.Collection;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.TimeZone;
|
||||
|
||||
public class NewArtifactsRssFeedProcessorTest
|
||||
extends PlexusInSpringTestCase
|
||||
@ -95,13 +94,14 @@ public void testProcess()
|
||||
|
||||
assertTrue( feed.getTitle().equals( "New Artifacts in Repository 'test-repo'" ) );
|
||||
assertTrue( feed.getDescription().equals(
|
||||
"New artifacts found in repository 'test-repo' during repository scan." ) );
|
||||
"New artifacts found in repository 'test-repo' during repository scan." ) );
|
||||
assertTrue( feed.getLanguage().equals( "en-us" ) );
|
||||
assertTrue( feed.getPublishedDate().equals( whenGathered ) );
|
||||
|
||||
List<SyndEntry> entries = feed.getEntries();
|
||||
assertEquals( entries.size(), 1 );
|
||||
assertTrue( entries.get( 0 ).getTitle().equals( "New Artifacts in Repository 'test-repo' as of " + whenGathered ) );
|
||||
assertTrue( entries.get( 0 ).getTitle().equals(
|
||||
"New Artifacts in Repository 'test-repo' as of " + whenGathered ) );
|
||||
assertTrue( entries.get( 0 ).getPublishedDate().equals( whenGathered ) );
|
||||
}
|
||||
|
||||
@ -140,12 +140,12 @@ public void addMetadataFacet( String arg0, MetadataFacet arg1 )
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
public void deleteArtifact( String arg0, String arg1, String arg2, String arg3, String arg4 )
|
||||
public void removeArtifact( String arg0, String arg1, String arg2, String arg3, String arg4 )
|
||||
{
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
public void deleteRepository( String arg0 )
|
||||
public void removeRepository( String arg0 )
|
||||
{
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
@ -287,10 +287,10 @@ public void setArtifactsByDateRange( List<ArtifactMetadata> artifactsByDateRange
|
||||
{
|
||||
this.artifactsByDateRange = artifactsByDateRange;
|
||||
}
|
||||
|
||||
|
||||
public List<ArtifactMetadata> getArtifacts( String repositoryId )
|
||||
{
|
||||
return artifactsByDateRange;
|
||||
return artifactsByDateRange;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -78,7 +78,7 @@ public String browse()
|
||||
Set<String> namespacesToCollapse = new LinkedHashSet<String>();
|
||||
for ( String repoId : selectedRepos )
|
||||
{
|
||||
namespacesToCollapse.addAll( metadataResolver.getRootNamespaces( repoId ) );
|
||||
namespacesToCollapse.addAll( metadataResolver.resolveRootNamespaces( repoId ) );
|
||||
}
|
||||
|
||||
for ( String n : namespacesToCollapse )
|
||||
@ -97,7 +97,7 @@ private String collapseNamespaces( Collection<String> repoIds, String n )
|
||||
Set<String> subNamespaces = new LinkedHashSet<String>();
|
||||
for ( String repoId : repoIds )
|
||||
{
|
||||
subNamespaces.addAll( metadataResolver.getNamespaces( repoId, n ) );
|
||||
subNamespaces.addAll( metadataResolver.resolveNamespaces( repoId, n ) );
|
||||
}
|
||||
if ( subNamespaces.size() != 1 )
|
||||
{
|
||||
@ -111,7 +111,7 @@ private String collapseNamespaces( Collection<String> repoIds, String n )
|
||||
{
|
||||
for ( String repoId : repoIds )
|
||||
{
|
||||
Collection<String> projects = metadataResolver.getProjects( repoId, n );
|
||||
Collection<String> projects = metadataResolver.resolveProjects( repoId, n );
|
||||
if ( projects != null && !projects.isEmpty() )
|
||||
{
|
||||
if ( log.isDebugEnabled() )
|
||||
@ -146,9 +146,9 @@ public String browseGroup()
|
||||
Set<String> namespacesToCollapse = new LinkedHashSet<String>();
|
||||
for ( String repoId : selectedRepos )
|
||||
{
|
||||
namespacesToCollapse.addAll( metadataResolver.getNamespaces( repoId, groupId ) );
|
||||
namespacesToCollapse.addAll( metadataResolver.resolveNamespaces( repoId, groupId ) );
|
||||
|
||||
projects.addAll( metadataResolver.getProjects( repoId, groupId ) );
|
||||
projects.addAll( metadataResolver.resolveProjects( repoId, groupId ) );
|
||||
}
|
||||
|
||||
// TODO: this logic should be optional, particularly remembering we want to keep this code simple
|
||||
@ -199,7 +199,7 @@ public String browseArtifact()
|
||||
Set<String> versions = new LinkedHashSet<String>();
|
||||
for ( String repoId : selectedRepos )
|
||||
{
|
||||
versions.addAll( metadataResolver.getProjectVersions( repoId, groupId, artifactId ) );
|
||||
versions.addAll( metadataResolver.resolveProjectVersions( repoId, groupId, artifactId ) );
|
||||
}
|
||||
|
||||
// TODO: sort by known version ordering method
|
||||
@ -230,7 +230,8 @@ private void populateSharedModel( Collection<String> selectedRepos, Collection<S
|
||||
{
|
||||
try
|
||||
{
|
||||
versionMetadata = metadataResolver.getProjectVersion( repoId, groupId, artifactId, version );
|
||||
versionMetadata = metadataResolver.resolveProjectVersion( repoId, groupId, artifactId,
|
||||
version );
|
||||
}
|
||||
catch ( MetadataResolutionException e )
|
||||
{
|
||||
|
@ -238,7 +238,7 @@ public String doDelete()
|
||||
// TODO: mismatch between artifact (snapshot) version and project (base) version here
|
||||
if ( artifact.getVersion().equals( version ) )
|
||||
{
|
||||
metadataRepository.deleteArtifact( artifact.getRepositoryId(), artifact.getNamespace(),
|
||||
metadataRepository.removeArtifact( artifact.getRepositoryId(), artifact.getNamespace(),
|
||||
artifact.getProject(), artifact.getVersion(), artifact.getId() );
|
||||
|
||||
// TODO: move into the metadata repository proper - need to differentiate attachment of
|
||||
|
@ -157,7 +157,7 @@ private ProjectVersionMetadata getProjectVersionMetadata()
|
||||
// "just-in-time" nature of picking up the metadata (if appropriate for the repository type) is used
|
||||
try
|
||||
{
|
||||
versionMetadata = metadataResolver.getProjectVersion( repoId, groupId, artifactId, version );
|
||||
versionMetadata = metadataResolver.resolveProjectVersion( repoId, groupId, artifactId, version );
|
||||
}
|
||||
catch ( MetadataResolutionException e )
|
||||
{
|
||||
@ -174,9 +174,9 @@ private ProjectVersionMetadata getProjectVersionMetadata()
|
||||
List<ArtifactMetadata> artifacts;
|
||||
try
|
||||
{
|
||||
artifacts = new ArrayList<ArtifactMetadata>( metadataResolver.getArtifacts( repoId, groupId,
|
||||
artifactId,
|
||||
version ) );
|
||||
artifacts = new ArrayList<ArtifactMetadata>( metadataResolver.resolveArtifacts( repoId, groupId,
|
||||
artifactId,
|
||||
version ) );
|
||||
}
|
||||
catch ( MetadataResolutionException e )
|
||||
{
|
||||
@ -265,7 +265,7 @@ public String dependees()
|
||||
for ( String repoId : getObservableRepos() )
|
||||
{
|
||||
// TODO: what about if we want to see this irrespective of version?
|
||||
references.addAll( metadataResolver.getProjectReferences( repoId, groupId, artifactId, version ) );
|
||||
references.addAll( metadataResolver.resolveProjectReferences( repoId, groupId, artifactId, version ) );
|
||||
}
|
||||
|
||||
this.dependees = references;
|
||||
|
@ -187,7 +187,7 @@ private void cleanupRepositoryData( ManagedRepositoryConfiguration cleanupReposi
|
||||
private void cleanupDatabase( String repoId )
|
||||
throws MetadataRepositoryException
|
||||
{
|
||||
metadataRepository.deleteRepository( repoId );
|
||||
metadataRepository.removeRepository( repoId );
|
||||
}
|
||||
|
||||
public ManagedRepositoryConfiguration getRepository()
|
||||
|
@ -184,12 +184,12 @@ public List<ArtifactMetadata> getArtifactsByChecksum( String repoId, String chec
|
||||
return null; //To change body of implemented methods use File | Settings | File Templates.
|
||||
}
|
||||
|
||||
public void deleteArtifact( String repositoryId, String namespace, String project, String version, String id )
|
||||
public void removeArtifact( String repositoryId, String namespace, String project, String version, String id )
|
||||
{
|
||||
//To change body of implemented methods use File | Settings | File Templates.
|
||||
}
|
||||
|
||||
public void deleteRepository( String repoId )
|
||||
public void removeRepository( String repoId )
|
||||
{
|
||||
//To change body of implemented methods use File | Settings | File Templates.
|
||||
}
|
||||
@ -200,7 +200,8 @@ public Collection<ArtifactMetadata> getArtifacts( String repoId, String namespac
|
||||
return artifacts;
|
||||
}
|
||||
|
||||
public List<ArtifactMetadata> getArtifacts(String repositoryId){
|
||||
public List<ArtifactMetadata> getArtifacts( String repositoryId )
|
||||
{
|
||||
return artifacts;
|
||||
}
|
||||
}
|
@ -19,6 +19,11 @@
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import org.apache.archiva.metadata.model.ArtifactMetadata;
|
||||
import org.apache.archiva.metadata.model.ProjectVersionMetadata;
|
||||
import org.apache.archiva.metadata.model.ProjectVersionReference;
|
||||
import org.apache.archiva.metadata.repository.MetadataResolver;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
@ -27,12 +32,6 @@
|
||||
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;
|
||||
import org.apache.archiva.metadata.repository.MetadataResolver;
|
||||
|
||||
public class TestMetadataResolver
|
||||
implements MetadataResolver
|
||||
{
|
||||
@ -49,38 +48,24 @@ public class TestMetadataResolver
|
||||
|
||||
private Map<String, Collection<String>> versionsInProject = new HashMap<String, Collection<String>>();
|
||||
|
||||
public ProjectMetadata getProject( String repoId, String namespace, String projectId )
|
||||
{
|
||||
ProjectMetadata metadata = new ProjectMetadata();
|
||||
metadata.setNamespace( namespace );
|
||||
metadata.setId( projectId );
|
||||
return metadata;
|
||||
}
|
||||
|
||||
public ProjectVersionMetadata getProjectVersion( String repoId, String namespace, String projectId,
|
||||
String projectVersion )
|
||||
public ProjectVersionMetadata resolveProjectVersion( String repoId, String namespace, String projectId,
|
||||
String projectVersion )
|
||||
{
|
||||
return projectVersions.get( createMapKey( repoId, namespace, projectId, projectVersion ) );
|
||||
}
|
||||
|
||||
public Collection<String> getArtifactVersions( String repoId, String namespace, String projectId,
|
||||
String projectVersion )
|
||||
{
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
public Collection<ProjectVersionReference> getProjectReferences( String repoId, String namespace, String projectId,
|
||||
String projectVersion )
|
||||
public Collection<ProjectVersionReference> resolveProjectReferences( String repoId, String namespace,
|
||||
String projectId, String projectVersion )
|
||||
{
|
||||
return references.get( createMapKey( repoId, namespace, projectId, projectVersion ) );
|
||||
}
|
||||
|
||||
public Collection<String> getRootNamespaces( String repoId )
|
||||
public Collection<String> resolveRootNamespaces( String repoId )
|
||||
{
|
||||
return getNamespaces( repoId, null );
|
||||
return resolveNamespaces( repoId, null );
|
||||
}
|
||||
|
||||
public Collection<String> getNamespaces( String repoId, String baseNamespace )
|
||||
public Collection<String> resolveNamespaces( String repoId, String baseNamespace )
|
||||
{
|
||||
Set<String> namespaces = new LinkedHashSet<String>();
|
||||
int fromIndex = baseNamespace != null ? baseNamespace.length() + 1 : 0;
|
||||
@ -102,23 +87,23 @@ public Collection<String> getNamespaces( String repoId, String baseNamespace )
|
||||
return namespaces;
|
||||
}
|
||||
|
||||
public Collection<String> getProjects( String repoId, String namespace )
|
||||
public Collection<String> resolveProjects( String repoId, String namespace )
|
||||
{
|
||||
Collection<String> list = projectsInNamespace.get( namespace );
|
||||
return list != null ? list : Collections.<String>emptyList();
|
||||
}
|
||||
|
||||
public Collection<String> getProjectVersions( String repoId, String namespace, String projectId )
|
||||
public Collection<String> resolveProjectVersions( String repoId, String namespace, String projectId )
|
||||
{
|
||||
Collection<String> list = versionsInProject.get( namespace + ":" + projectId );
|
||||
return list != null ? list : Collections.<String>emptyList();
|
||||
}
|
||||
|
||||
public Collection<ArtifactMetadata> getArtifacts( String repoId, String namespace, String projectId,
|
||||
String projectVersion )
|
||||
public Collection<ArtifactMetadata> resolveArtifacts( String repoId, String namespace, String projectId,
|
||||
String projectVersion )
|
||||
{
|
||||
List<ArtifactMetadata> artifacts =
|
||||
this.artifacts.get( createMapKey( repoId, namespace, projectId, projectVersion ) );
|
||||
List<ArtifactMetadata> artifacts = this.artifacts.get( createMapKey( repoId, namespace, projectId,
|
||||
projectVersion ) );
|
||||
return ( artifacts != null ? artifacts : Collections.<ArtifactMetadata>emptyList() );
|
||||
}
|
||||
|
||||
|
@ -95,7 +95,7 @@ protected void setUp()
|
||||
|
||||
MockControl metadataRepositoryControl = MockControl.createControl( MetadataRepository.class );
|
||||
MetadataRepository metadataRepository = (MetadataRepository) metadataRepositoryControl.getMock();
|
||||
metadataRepository.deleteRepository( REPO_ID );
|
||||
metadataRepository.removeRepository( REPO_ID );
|
||||
action.setMetadataRepository( metadataRepository );
|
||||
|
||||
metadataRepositoryControl.replay();
|
||||
@ -178,7 +178,7 @@ private MockControl mockMetadataRepository()
|
||||
{
|
||||
MockControl metadataRepositoryControl = MockControl.createControl( MetadataRepository.class );
|
||||
MetadataRepository metadataRepository = (MetadataRepository) metadataRepositoryControl.getMock();
|
||||
metadataRepository.deleteRepository( REPO_ID );
|
||||
metadataRepository.removeRepository( REPO_ID );
|
||||
metadataRepositoryControl.replay();
|
||||
action.setMetadataRepository( metadataRepository );
|
||||
return metadataRepositoryControl;
|
||||
|
@ -19,17 +19,17 @@
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.archiva.metadata.model.ArtifactMetadata;
|
||||
import org.apache.archiva.metadata.model.MetadataFacet;
|
||||
import org.apache.archiva.metadata.model.ProjectMetadata;
|
||||
import org.apache.archiva.metadata.model.ProjectVersionMetadata;
|
||||
import org.apache.archiva.metadata.model.ProjectVersionReference;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
public class TestMetadataRepository
|
||||
implements MetadataRepository
|
||||
{
|
||||
@ -144,12 +144,12 @@ public List<ArtifactMetadata> getArtifactsByChecksum( String repoId, String chec
|
||||
return null; //To change body of implemented methods use File | Settings | File Templates.
|
||||
}
|
||||
|
||||
public void deleteArtifact( String repositoryId, String namespace, String project, String version, String id )
|
||||
public void removeArtifact( String repositoryId, String namespace, String project, String version, String id )
|
||||
{
|
||||
//To change body of implemented methods use File | Settings | File Templates.
|
||||
}
|
||||
|
||||
public void deleteRepository( String repoId )
|
||||
public void removeRepository( String repoId )
|
||||
{
|
||||
//To change body of implemented methods use File | Settings | File Templates.
|
||||
}
|
||||
@ -159,7 +159,9 @@ public Collection<ArtifactMetadata> getArtifacts( String repoId, String namespac
|
||||
{
|
||||
return null; //To change body of implemented methods use File | Settings | File Templates.
|
||||
}
|
||||
public List<ArtifactMetadata> getArtifacts(String repositoryId){
|
||||
|
||||
public List<ArtifactMetadata> getArtifacts( String repositoryId )
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
@ -66,7 +66,7 @@
|
||||
|
||||
/**
|
||||
* AdministrationServiceImpl
|
||||
*
|
||||
*
|
||||
* @version $Id: AdministrationServiceImpl.java
|
||||
*/
|
||||
public class AdministrationServiceImpl
|
||||
@ -197,15 +197,15 @@ public Boolean deleteArtifact( String repoId, String groupId, String artifactId,
|
||||
// delete from file system
|
||||
repoContent.deleteVersion( ref );
|
||||
|
||||
Collection<ArtifactMetadata> artifacts =
|
||||
metadataRepository.getArtifacts( repoId, groupId, artifactId, version );
|
||||
Collection<ArtifactMetadata> artifacts = metadataRepository.getArtifacts( repoId, groupId, artifactId,
|
||||
version );
|
||||
|
||||
for ( ArtifactMetadata artifact : artifacts )
|
||||
{
|
||||
// TODO: mismatch between artifact (snapshot) version and project (base) version here
|
||||
if ( artifact.getVersion().equals( version ) )
|
||||
{
|
||||
metadataRepository.deleteArtifact( artifact.getRepositoryId(), artifact.getNamespace(),
|
||||
metadataRepository.removeArtifact( artifact.getRepositoryId(), artifact.getNamespace(),
|
||||
artifact.getProject(), artifact.getVersion(), artifact.getId() );
|
||||
|
||||
// TODO: move into the metadata repository proper - need to differentiate attachment of
|
||||
@ -295,9 +295,9 @@ public List<ManagedRepository> getAllManagedRepositories()
|
||||
for ( ManagedRepositoryConfiguration repoConfig : managedRepoConfigs )
|
||||
{
|
||||
// TODO fix resolution of repo url!
|
||||
ManagedRepository repo =
|
||||
new ManagedRepository( repoConfig.getId(), repoConfig.getName(), "URL", repoConfig.getLayout(),
|
||||
repoConfig.isSnapshots(), repoConfig.isReleases() );
|
||||
ManagedRepository repo = new ManagedRepository( repoConfig.getId(), repoConfig.getName(), "URL",
|
||||
repoConfig.getLayout(), repoConfig.isSnapshots(),
|
||||
repoConfig.isReleases() );
|
||||
managedRepos.add( repo );
|
||||
}
|
||||
|
||||
@ -316,9 +316,8 @@ public List<RemoteRepository> getAllRemoteRepositories()
|
||||
|
||||
for ( RemoteRepositoryConfiguration repoConfig : remoteRepoConfigs )
|
||||
{
|
||||
RemoteRepository repo =
|
||||
new RemoteRepository( repoConfig.getId(), repoConfig.getName(), repoConfig.getUrl(),
|
||||
repoConfig.getLayout() );
|
||||
RemoteRepository repo = new RemoteRepository( repoConfig.getId(), repoConfig.getName(), repoConfig.getUrl(),
|
||||
repoConfig.getLayout() );
|
||||
remoteRepos.add( repo );
|
||||
}
|
||||
|
||||
@ -354,18 +353,18 @@ public Boolean addManagedRepository( String repoId, String layout, String name,
|
||||
|
||||
if ( config.getManagedRepositoriesAsMap().containsKey( repoId ) )
|
||||
{
|
||||
throw new Exception( "Unable to add new repository with id [" + repoId
|
||||
+ "], that id already exists as a managed repository." );
|
||||
throw new Exception( "Unable to add new repository with id [" + repoId +
|
||||
"], that id already exists as a managed repository." );
|
||||
}
|
||||
else if ( config.getRemoteRepositoriesAsMap().containsKey( repoId ) )
|
||||
{
|
||||
throw new Exception( "Unable to add new repository with id [" + repoId
|
||||
+ "], that id already exists as a remote repository." );
|
||||
throw new Exception( "Unable to add new repository with id [" + repoId +
|
||||
"], that id already exists as a remote repository." );
|
||||
}
|
||||
else if ( config.getRepositoryGroupsAsMap().containsKey( repoId ) )
|
||||
{
|
||||
throw new Exception( "Unable to add new repository with id [" + repoId
|
||||
+ "], that id already exists as a repository group." );
|
||||
throw new Exception( "Unable to add new repository with id [" + repoId +
|
||||
"], that id already exists as a repository group." );
|
||||
}
|
||||
|
||||
if ( !validator.validate( cronExpression ) )
|
||||
@ -408,7 +407,7 @@ public Boolean deleteManagedRepository( String repoId )
|
||||
throw new Exception( "A repository with that id does not exist" );
|
||||
}
|
||||
|
||||
metadataRepository.deleteRepository( repository.getId() );
|
||||
metadataRepository.removeRepository( repository.getId() );
|
||||
repositoryStatisticsManager.deleteStatistics( repository.getId() );
|
||||
config.removeManagedRepository( repository );
|
||||
|
||||
@ -440,7 +439,8 @@ public Boolean deleteManagedRepository( String repoId )
|
||||
List<String> repoGroups = repoToGroupMap.get( repository.getId() );
|
||||
for ( String repoGroup : repoGroups )
|
||||
{
|
||||
archivaConfiguration.getConfiguration().findRepositoryGroupById( repoGroup ).removeRepository( repository.getId() );
|
||||
archivaConfiguration.getConfiguration().findRepositoryGroupById( repoGroup ).removeRepository(
|
||||
repository.getId() );
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -457,10 +457,9 @@ public ManagedRepository getManagedRepository( String repoId )
|
||||
{
|
||||
throw new Exception( "A repository with that id does not exist" );
|
||||
}
|
||||
ManagedRepository repo =
|
||||
new ManagedRepository( managedRepository.getId(), managedRepository.getName(), "URL",
|
||||
managedRepository.getLayout(), managedRepository.isSnapshots(),
|
||||
managedRepository.isReleases() );
|
||||
ManagedRepository repo = new ManagedRepository( managedRepository.getId(), managedRepository.getName(), "URL",
|
||||
managedRepository.getLayout(), managedRepository.isSnapshots(),
|
||||
managedRepository.isReleases() );
|
||||
|
||||
return repo;
|
||||
}
|
||||
@ -490,16 +489,16 @@ public boolean merge( String repoId, boolean skipConflicts )
|
||||
log.info( "Repository to be merged contains releases only.." );
|
||||
if ( skipConflicts )
|
||||
{
|
||||
List<ArtifactMetadata> conflicts =
|
||||
repositoryMerger.getConflictingArtifacts( repoId, stagingId );
|
||||
List<ArtifactMetadata> conflicts = repositoryMerger.getConflictingArtifacts( repoId,
|
||||
stagingId );
|
||||
|
||||
if ( log.isDebugEnabled() )
|
||||
{
|
||||
log.debug( "Artifacts in conflict.." );
|
||||
for( ArtifactMetadata metadata : conflicts )
|
||||
for ( ArtifactMetadata metadata : conflicts )
|
||||
{
|
||||
log.debug( metadata.getNamespace() + ":" + metadata.getProject() + ":" +
|
||||
metadata.getProjectVersion() );
|
||||
metadata.getProjectVersion() );
|
||||
}
|
||||
}
|
||||
|
||||
@ -519,16 +518,16 @@ public boolean merge( String repoId, boolean skipConflicts )
|
||||
log.info( "Repository to be merged has snapshot artifacts.." );
|
||||
if ( skipConflicts )
|
||||
{
|
||||
List<ArtifactMetadata> conflicts =
|
||||
repositoryMerger.getConflictingArtifacts( repoId, stagingId );
|
||||
List<ArtifactMetadata> conflicts = repositoryMerger.getConflictingArtifacts( repoId,
|
||||
stagingId );
|
||||
|
||||
if ( log.isDebugEnabled() )
|
||||
{
|
||||
log.debug( "Artifacts in conflict.." );
|
||||
for( ArtifactMetadata metadata : conflicts )
|
||||
for ( ArtifactMetadata metadata : conflicts )
|
||||
{
|
||||
log.debug( metadata.getNamespace() + ":" + metadata.getProject() + ":" +
|
||||
metadata.getProjectVersion() );
|
||||
metadata.getProjectVersion() );
|
||||
}
|
||||
}
|
||||
|
||||
@ -536,19 +535,21 @@ public boolean merge( String repoId, boolean skipConflicts )
|
||||
|
||||
log.debug( "Source artifacts size :: " + sourceArtifacts.size() );
|
||||
|
||||
Filter<ArtifactMetadata> artifactsWithOutConflicts =
|
||||
new IncludesFilter<ArtifactMetadata>( sourceArtifacts );
|
||||
Filter<ArtifactMetadata> artifactsWithOutConflicts = new IncludesFilter<ArtifactMetadata>(
|
||||
sourceArtifacts );
|
||||
repositoryMerger.merge( stagingId, repoId, artifactsWithOutConflicts );
|
||||
|
||||
log.info( "Staging repository '" + stagingId + "' merged successfully with managed repo '" +
|
||||
repoId + "'." );
|
||||
log.info(
|
||||
"Staging repository '" + stagingId + "' merged successfully with managed repo '" + repoId +
|
||||
"'." );
|
||||
}
|
||||
else
|
||||
{
|
||||
repositoryMerger.merge( stagingId, repoId );
|
||||
|
||||
log.info( "Staging repository '" + stagingId + "' merged successfully with managed repo '" +
|
||||
repoId + "'." );
|
||||
|
||||
log.info(
|
||||
"Staging repository '" + stagingId + "' merged successfully with managed repo '" + repoId +
|
||||
"'." );
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -593,8 +594,8 @@ protected void addRepository( ManagedRepositoryConfiguration repository, Configu
|
||||
}
|
||||
if ( !file.exists() || !file.isDirectory() )
|
||||
{
|
||||
throw new IOException( "Unable to add repository - no write access, can not create the root directory: "
|
||||
+ file );
|
||||
throw new IOException(
|
||||
"Unable to add repository - no write access, can not create the root directory: " + file );
|
||||
}
|
||||
|
||||
configuration.addManagedRepository( repository );
|
||||
|
@ -61,7 +61,7 @@ public SearchServiceImpl( XmlRpcUserRepositories xmlRpcUserRepositories, Metadat
|
||||
this.metadataRepository = metadataRepository;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@SuppressWarnings( "unchecked" )
|
||||
public List<Artifact> quickSearch( String queryString )
|
||||
throws Exception
|
||||
{
|
||||
@ -85,9 +85,9 @@ public List<Artifact> quickSearch( String queryString )
|
||||
// slight behaviour change to previous implementation: instead of allocating "jar" when not
|
||||
// found in the database, we can rely on the metadata repository to create it on the fly. We
|
||||
// just allocate the default packaging if the Maven facet is not found.
|
||||
FacetedMetadata model =
|
||||
metadataResolver.getProjectVersion( repoId, resultHit.getGroupId(),
|
||||
resultHit.getArtifactId(), version );
|
||||
FacetedMetadata model = metadataResolver.resolveProjectVersion( repoId, resultHit.getGroupId(),
|
||||
resultHit.getArtifactId(),
|
||||
version );
|
||||
|
||||
if ( model != null )
|
||||
{
|
||||
@ -143,7 +143,7 @@ public List<Artifact> getArtifactVersions( String groupId, String artifactId )
|
||||
|
||||
for ( String repoId : observableRepos )
|
||||
{
|
||||
Collection<String> results = metadataResolver.getProjectVersions( repoId, groupId, artifactId );
|
||||
Collection<String> results = metadataResolver.resolveProjectVersions( repoId, groupId, artifactId );
|
||||
|
||||
for ( final String version : results )
|
||||
{
|
||||
@ -176,16 +176,16 @@ public List<Dependency> getDependencies( String groupId, String artifactId, Stri
|
||||
|
||||
for ( String repoId : observableRepos )
|
||||
{
|
||||
ProjectVersionMetadata model = metadataResolver.getProjectVersion( repoId, groupId, artifactId, version );
|
||||
ProjectVersionMetadata model = metadataResolver.resolveProjectVersion( repoId, groupId, artifactId,
|
||||
version );
|
||||
if ( model != null )
|
||||
{
|
||||
List<Dependency> dependencies = new ArrayList<Dependency>();
|
||||
List<org.apache.archiva.metadata.model.Dependency> modelDeps = model.getDependencies();
|
||||
for ( org.apache.archiva.metadata.model.Dependency dep : modelDeps )
|
||||
{
|
||||
Dependency dependency =
|
||||
new Dependency( dep.getGroupId(), dep.getArtifactId(), dep.getVersion(), dep.getClassifier(),
|
||||
dep.getType(), dep.getScope() );
|
||||
Dependency dependency = new Dependency( dep.getGroupId(), dep.getArtifactId(), dep.getVersion(),
|
||||
dep.getClassifier(), dep.getType(), dep.getScope() );
|
||||
dependencies.add( dependency );
|
||||
}
|
||||
return dependencies;
|
||||
@ -211,12 +211,12 @@ public List<Artifact> getDependees( String groupId, String artifactId, String ve
|
||||
|
||||
for ( String repoId : observableRepos )
|
||||
{
|
||||
Collection<ProjectVersionReference> refs =
|
||||
metadataResolver.getProjectReferences( repoId, groupId, artifactId, version );
|
||||
Collection<ProjectVersionReference> refs = metadataResolver.resolveProjectReferences( repoId, groupId,
|
||||
artifactId, version );
|
||||
for ( ProjectVersionReference ref : refs )
|
||||
{
|
||||
artifacts.add(
|
||||
new Artifact( repoId, ref.getNamespace(), ref.getProjectId(), ref.getProjectVersion(), "" ) );
|
||||
artifacts.add( new Artifact( repoId, ref.getNamespace(), ref.getProjectId(), ref.getProjectVersion(),
|
||||
"" ) );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -19,15 +19,6 @@
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.archiva.audit.AuditEvent;
|
||||
import org.apache.archiva.audit.AuditListener;
|
||||
import org.apache.archiva.metadata.model.ArtifactMetadata;
|
||||
@ -63,9 +54,18 @@
|
||||
import org.easymock.MockControl;
|
||||
import org.easymock.classextension.MockClassControl;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* AdministrationServiceImplTest
|
||||
*
|
||||
*
|
||||
* @version $Id: AdministrationServiceImplTest.java
|
||||
*/
|
||||
public class AdministrationServiceImplTest
|
||||
@ -174,10 +174,9 @@ protected void setUp()
|
||||
auditListenerControl = MockControl.createControl( AuditListener.class );
|
||||
auditListener = (AuditListener) auditListenerControl.getMock();
|
||||
|
||||
service =
|
||||
new AdministrationServiceImpl( archivaConfig, repoConsumersUtil, repositoryFactory, metadataRepository,
|
||||
repositoryTaskScheduler, Collections.singletonList( listener ),
|
||||
repositoryStatisticsManager, repositoryMerger, auditListener );
|
||||
service = new AdministrationServiceImpl( archivaConfig, repoConsumersUtil, repositoryFactory,
|
||||
metadataRepository, repositoryTaskScheduler, Collections.singletonList(
|
||||
listener ), repositoryStatisticsManager, repositoryMerger, auditListener );
|
||||
}
|
||||
|
||||
/* Tests for repository consumers */
|
||||
@ -338,8 +337,9 @@ public void testDeleteM2ArtifactArtifactExists()
|
||||
metadataRepositoryControl.expectAndReturn( metadataRepository.getArtifacts( repoContent.getId(),
|
||||
artifact.getNamespace(),
|
||||
artifact.getProject(),
|
||||
artifact.getVersion() ), artifacts );
|
||||
metadataRepository.deleteArtifact( repoContent.getId(), artifact.getNamespace(), artifact.getProject(),
|
||||
artifact.getVersion() ),
|
||||
artifacts );
|
||||
metadataRepository.removeArtifact( repoContent.getId(), artifact.getNamespace(), artifact.getProject(),
|
||||
artifact.getVersion(), artifact.getId() );
|
||||
|
||||
listener.deleteArtifact( repoContent.getId(), artifact.getNamespace(), artifact.getProject(),
|
||||
@ -394,8 +394,9 @@ public void testDeleteM1ArtifactArtifactExists()
|
||||
metadataRepositoryControl.expectAndReturn( metadataRepository.getArtifacts( repoContent.getId(),
|
||||
artifact.getNamespace(),
|
||||
artifact.getProject(),
|
||||
artifact.getVersion() ), artifacts );
|
||||
metadataRepository.deleteArtifact( repoContent.getId(), artifact.getNamespace(), artifact.getProject(),
|
||||
artifact.getVersion() ),
|
||||
artifacts );
|
||||
metadataRepository.removeArtifact( repoContent.getId(), artifact.getNamespace(), artifact.getProject(),
|
||||
artifact.getVersion(), artifact.getId() );
|
||||
|
||||
listener.deleteArtifact( repoContent.getId(), artifact.getNamespace(), artifact.getProject(),
|
||||
@ -474,8 +475,8 @@ private ManagedRepositoryConfiguration createManagedRepo( String layout, String
|
||||
|
||||
FileUtils.copyDirectory( srcDir, repoDir, FileFilterUtils.makeSVNAware( null ) );
|
||||
|
||||
ManagedRepositoryConfiguration managedRepo =
|
||||
createManagedRepo( "internal", layout, "Internal Repository", true, false );
|
||||
ManagedRepositoryConfiguration managedRepo = createManagedRepo( "internal", layout, "Internal Repository", true,
|
||||
false );
|
||||
managedRepo.setLocation( repoDir.getAbsolutePath() );
|
||||
return managedRepo;
|
||||
}
|
||||
@ -509,13 +510,16 @@ public void testExecuteRepoScannerRepoExistsAndNotBeingScanned()
|
||||
throws Exception
|
||||
{
|
||||
archivaConfigControl.expectAndReturn( archivaConfig.getConfiguration(), config );
|
||||
configControl.expectAndReturn( config.findManagedRepositoryById( "internal" ),
|
||||
createManagedRepo( "internal", "default", "Internal Repository", true, false ) );
|
||||
configControl.expectAndReturn( config.findManagedRepositoryById( "internal" ), createManagedRepo( "internal",
|
||||
"default",
|
||||
"Internal Repository",
|
||||
true,
|
||||
false ) );
|
||||
|
||||
RepositoryTask task = new RepositoryTask();
|
||||
|
||||
repositoryTaskSchedulerControl.expectAndReturn( repositoryTaskScheduler.isProcessingRepositoryTask( "internal" ),
|
||||
false );
|
||||
repositoryTaskSchedulerControl.expectAndReturn( repositoryTaskScheduler.isProcessingRepositoryTask(
|
||||
"internal" ), false );
|
||||
|
||||
repositoryTaskScheduler.queueTask( task );
|
||||
repositoryTaskSchedulerControl.setMatcher( MockControl.ALWAYS_MATCHER );
|
||||
@ -544,11 +548,14 @@ public void testExecuteRepoScannerRepoExistsButBeingScanned()
|
||||
throws Exception
|
||||
{
|
||||
archivaConfigControl.expectAndReturn( archivaConfig.getConfiguration(), config );
|
||||
configControl.expectAndReturn( config.findManagedRepositoryById( "internal" ),
|
||||
createManagedRepo( "internal", "default", "Internal Repository", true, false ) );
|
||||
configControl.expectAndReturn( config.findManagedRepositoryById( "internal" ), createManagedRepo( "internal",
|
||||
"default",
|
||||
"Internal Repository",
|
||||
true,
|
||||
false ) );
|
||||
|
||||
repositoryTaskSchedulerControl.expectAndReturn( repositoryTaskScheduler.isProcessingRepositoryTask( "internal" ),
|
||||
true );
|
||||
repositoryTaskSchedulerControl.expectAndReturn( repositoryTaskScheduler.isProcessingRepositoryTask(
|
||||
"internal" ), true );
|
||||
|
||||
archivaConfigControl.replay();
|
||||
configControl.replay();
|
||||
@ -625,7 +632,8 @@ public void testGetAllRemoteRepositories()
|
||||
List<RemoteRepositoryConfiguration> remoteRepos = new ArrayList<RemoteRepositoryConfiguration>();
|
||||
remoteRepos.add( createRemoteRepository( "central", "Central Repository", "default",
|
||||
"http://repo1.maven.org/maven2" ) );
|
||||
remoteRepos.add( createRemoteRepository( "dummy", "Dummy Remote Repository", "legacy", "http://dummy.com/dummy" ) );
|
||||
remoteRepos.add( createRemoteRepository( "dummy", "Dummy Remote Repository", "legacy",
|
||||
"http://dummy.com/dummy" ) );
|
||||
|
||||
archivaConfigControl.expectAndReturn( archivaConfig.getConfiguration(), config );
|
||||
configControl.expectAndReturn( config.getRemoteRepositories(), remoteRepos );
|
||||
@ -673,8 +681,9 @@ public void testMergeWithNoStagingRepository()
|
||||
throws Exception
|
||||
{
|
||||
archivaConfigControl.expectAndReturn( archivaConfig.getConfiguration(), config );
|
||||
configControl.expectAndReturn( config.findManagedRepositoryById( "repo" ),
|
||||
createManagedRepo( "repo", "default", "repo", true, false ) );
|
||||
configControl.expectAndReturn( config.findManagedRepositoryById( "repo" ), createManagedRepo( "repo", "default",
|
||||
"repo", true,
|
||||
false ) );
|
||||
configControl.expectAndReturn( config.findManagedRepositoryById( "repo-stage" ), null );
|
||||
|
||||
archivaConfigControl.replay();
|
||||
@ -830,8 +839,8 @@ public void testAddManagedRepository()
|
||||
String stageLocation = releaseLocation + "-stage";
|
||||
|
||||
ManagedRepositoryConfiguration managedRepo = createManagedRepo( "repo1", "default", "repo", true, false );
|
||||
RemoteRepositoryConfiguration remoteRepo =
|
||||
createRemoteRepository( "central", "Central Repository", "default", "http://repo1.maven.org/maven2" );
|
||||
RemoteRepositoryConfiguration remoteRepo = createRemoteRepository( "central", "Central Repository", "default",
|
||||
"http://repo1.maven.org/maven2" );
|
||||
List<String> repositories = new ArrayList<String>();
|
||||
repositories.add( managedRepo.getName() );
|
||||
RepositoryGroupConfiguration repoGroup = createRepoGroupConfig( "repoGroup", repositories );
|
||||
@ -861,9 +870,8 @@ public void testAddManagedRepository()
|
||||
configControl.replay();
|
||||
assertFalse( new File( releaseLocation ).isDirectory() );
|
||||
assertFalse( new File( stageLocation ).isDirectory() );
|
||||
boolean success =
|
||||
service.addManagedRepository( repoId, layout, name, releaseLocation, true, true, false, true,
|
||||
"0 15 3 * * ? *" );
|
||||
boolean success = service.addManagedRepository( repoId, layout, name, releaseLocation, true, true, false, true,
|
||||
"0 15 3 * * ? *" );
|
||||
assertTrue( success );
|
||||
assertTrue( new File( releaseLocation ).isDirectory() );
|
||||
assertTrue( new File( stageLocation ).isDirectory() );
|
||||
|
@ -134,9 +134,10 @@ public void testQuickSearchModelPackagingIsUsed()
|
||||
facet.setPackaging( "war" );
|
||||
model.addFacet( facet );
|
||||
|
||||
metadataResolverControl.expectAndReturn(
|
||||
metadataResolver.getProjectVersion( "repo1.mirror", ARCHIVA_TEST_GROUP_ID, "archiva-webapp", "1.0" ),
|
||||
model );
|
||||
metadataResolverControl.expectAndReturn( metadataResolver.resolveProjectVersion( "repo1.mirror",
|
||||
ARCHIVA_TEST_GROUP_ID,
|
||||
"archiva-webapp", "1.0" ),
|
||||
model );
|
||||
|
||||
userReposControl.replay();
|
||||
searchControl.replay();
|
||||
@ -188,15 +189,17 @@ public void testQuickSearchDefaultPackagingIsUsed()
|
||||
searchControl.expectAndDefaultReturn( search.search( "", observableRepoIds, "archiva", limits, null ),
|
||||
results );
|
||||
|
||||
metadataResolverControl.expectAndReturn(
|
||||
metadataResolver.getProjectVersion( "repo1.mirror", ARCHIVA_TEST_GROUP_ID, ARCHIVA_TEST_ARTIFACT_ID,
|
||||
"1.0" ), null );
|
||||
metadataResolverControl.expectAndReturn( metadataResolver.resolveProjectVersion( "repo1.mirror",
|
||||
ARCHIVA_TEST_GROUP_ID,
|
||||
ARCHIVA_TEST_ARTIFACT_ID,
|
||||
"1.0" ), null );
|
||||
|
||||
ProjectVersionMetadata model = new ProjectVersionMetadata();
|
||||
model.setId( "1.0" );
|
||||
metadataResolverControl.expectAndReturn(
|
||||
metadataResolver.getProjectVersion( "public.releases", ARCHIVA_TEST_GROUP_ID, ARCHIVA_TEST_ARTIFACT_ID,
|
||||
"1.0" ), model );
|
||||
metadataResolverControl.expectAndReturn( metadataResolver.resolveProjectVersion( "public.releases",
|
||||
ARCHIVA_TEST_GROUP_ID,
|
||||
ARCHIVA_TEST_ARTIFACT_ID,
|
||||
"1.0" ), model );
|
||||
|
||||
userReposControl.replay();
|
||||
searchControl.replay();
|
||||
@ -253,9 +256,10 @@ public void testQuickSearchArtifactRegularSearch()
|
||||
facet.setPackaging( "jar" );
|
||||
model.addFacet( facet );
|
||||
|
||||
metadataResolverControl.expectAndReturn(
|
||||
metadataResolver.getProjectVersion( "repo1.mirror", ARCHIVA_TEST_GROUP_ID, ARCHIVA_TEST_ARTIFACT_ID,
|
||||
"1.0" ), model );
|
||||
metadataResolverControl.expectAndReturn( metadataResolver.resolveProjectVersion( "repo1.mirror",
|
||||
ARCHIVA_TEST_GROUP_ID,
|
||||
ARCHIVA_TEST_ARTIFACT_ID,
|
||||
"1.0" ), model );
|
||||
|
||||
userReposControl.replay();
|
||||
searchControl.replay();
|
||||
@ -310,8 +314,8 @@ public void testQuickSearchNoResults()
|
||||
public void testGetArtifactByChecksum()
|
||||
throws Exception
|
||||
{
|
||||
userReposControl.expectAndReturn( userRepos.getObservableRepositories(),
|
||||
Collections.singletonList( TEST_REPO ) );
|
||||
userReposControl.expectAndReturn( userRepos.getObservableRepositories(), Collections.singletonList(
|
||||
TEST_REPO ) );
|
||||
|
||||
Date whenGathered = new Date();
|
||||
|
||||
@ -345,12 +349,14 @@ public void testGetArtifactVersionsArtifactExists()
|
||||
observableRepoIds.add( "public.releases" );
|
||||
|
||||
userReposControl.expectAndReturn( userRepos.getObservableRepositories(), observableRepoIds );
|
||||
metadataResolverControl.expectAndReturn(
|
||||
metadataResolver.getProjectVersions( "repo1.mirror", ARCHIVA_TEST_GROUP_ID, ARCHIVA_TEST_ARTIFACT_ID ),
|
||||
Arrays.asList( "1.0", "1.1-beta-2", "1.2" ) );
|
||||
metadataResolverControl.expectAndReturn(
|
||||
metadataResolver.getProjectVersions( "public.releases", ARCHIVA_TEST_GROUP_ID, ARCHIVA_TEST_ARTIFACT_ID ),
|
||||
Arrays.asList( "1.1-beta-1", "1.1", "1.2.1-SNAPSHOT" ) );
|
||||
metadataResolverControl.expectAndReturn( metadataResolver.resolveProjectVersions( "repo1.mirror",
|
||||
ARCHIVA_TEST_GROUP_ID,
|
||||
ARCHIVA_TEST_ARTIFACT_ID ),
|
||||
Arrays.asList( "1.0", "1.1-beta-2", "1.2" ) );
|
||||
metadataResolverControl.expectAndReturn( metadataResolver.resolveProjectVersions( "public.releases",
|
||||
ARCHIVA_TEST_GROUP_ID,
|
||||
ARCHIVA_TEST_ARTIFACT_ID ),
|
||||
Arrays.asList( "1.1-beta-1", "1.1", "1.2.1-SNAPSHOT" ) );
|
||||
|
||||
userReposControl.replay();
|
||||
metadataResolverControl.replay();
|
||||
@ -364,19 +370,16 @@ public void testGetArtifactVersionsArtifactExists()
|
||||
assertEquals( 6, artifacts.size() );
|
||||
assertEquals( new Artifact( "repo1.mirror", ARCHIVA_TEST_GROUP_ID, ARCHIVA_TEST_ARTIFACT_ID, "1.0", "pom" ),
|
||||
artifacts.get( 0 ) );
|
||||
assertEquals(
|
||||
new Artifact( "public.releases", ARCHIVA_TEST_GROUP_ID, ARCHIVA_TEST_ARTIFACT_ID, "1.1-beta-1", "pom" ),
|
||||
artifacts.get( 3 ) );
|
||||
assertEquals(
|
||||
new Artifact( "repo1.mirror", ARCHIVA_TEST_GROUP_ID, ARCHIVA_TEST_ARTIFACT_ID, "1.1-beta-2", "pom" ),
|
||||
artifacts.get( 1 ) );
|
||||
assertEquals( new Artifact( "public.releases", ARCHIVA_TEST_GROUP_ID, ARCHIVA_TEST_ARTIFACT_ID, "1.1-beta-1",
|
||||
"pom" ), artifacts.get( 3 ) );
|
||||
assertEquals( new Artifact( "repo1.mirror", ARCHIVA_TEST_GROUP_ID, ARCHIVA_TEST_ARTIFACT_ID, "1.1-beta-2",
|
||||
"pom" ), artifacts.get( 1 ) );
|
||||
assertEquals( new Artifact( "public.releases", ARCHIVA_TEST_GROUP_ID, ARCHIVA_TEST_ARTIFACT_ID, "1.1", "pom" ),
|
||||
artifacts.get( 4 ) );
|
||||
assertEquals( new Artifact( "repo1.mirror", ARCHIVA_TEST_GROUP_ID, ARCHIVA_TEST_ARTIFACT_ID, "1.2", "pom" ),
|
||||
artifacts.get( 2 ) );
|
||||
assertEquals(
|
||||
new Artifact( "public.releases", ARCHIVA_TEST_GROUP_ID, ARCHIVA_TEST_ARTIFACT_ID, "1.2.1-SNAPSHOT", "pom" ),
|
||||
artifacts.get( 5 ) );
|
||||
assertEquals( new Artifact( "public.releases", ARCHIVA_TEST_GROUP_ID, ARCHIVA_TEST_ARTIFACT_ID,
|
||||
"1.2.1-SNAPSHOT", "pom" ), artifacts.get( 5 ) );
|
||||
}
|
||||
|
||||
public void testGetArtifactVersionsByDateArtifactExists()
|
||||
@ -415,15 +418,15 @@ public void testGetDependenciesArtifactExists()
|
||||
model.addDependency( dependency );
|
||||
|
||||
userReposControl.expectAndReturn( userRepos.getObservableRepositories(), Collections.singletonList( repoId ) );
|
||||
metadataResolverControl.expectAndReturn(
|
||||
metadataResolver.getProjectVersion( repoId, ARCHIVA_TEST_GROUP_ID, ARCHIVA_TEST_ARTIFACT_ID, "1.0" ),
|
||||
model );
|
||||
metadataResolverControl.expectAndReturn( metadataResolver.resolveProjectVersion( repoId, ARCHIVA_TEST_GROUP_ID,
|
||||
ARCHIVA_TEST_ARTIFACT_ID,
|
||||
"1.0" ), model );
|
||||
|
||||
metadataResolverControl.replay();
|
||||
userReposControl.replay();
|
||||
|
||||
List<Dependency> dependencies =
|
||||
searchService.getDependencies( ARCHIVA_TEST_GROUP_ID, ARCHIVA_TEST_ARTIFACT_ID, "1.0" );
|
||||
List<Dependency> dependencies = searchService.getDependencies( ARCHIVA_TEST_GROUP_ID, ARCHIVA_TEST_ARTIFACT_ID,
|
||||
"1.0" );
|
||||
|
||||
metadataResolverControl.verify();
|
||||
userReposControl.verify();
|
||||
@ -441,9 +444,9 @@ public void testGetDependenciesArtifactDoesNotExist()
|
||||
String repoId = "repo1.mirror";
|
||||
|
||||
userReposControl.expectAndReturn( userRepos.getObservableRepositories(), Collections.singletonList( repoId ) );
|
||||
metadataResolverControl.expectAndReturn(
|
||||
metadataResolver.getProjectVersion( repoId, ARCHIVA_TEST_GROUP_ID, ARCHIVA_TEST_ARTIFACT_ID, "1.0" ),
|
||||
null );
|
||||
metadataResolverControl.expectAndReturn( metadataResolver.resolveProjectVersion( repoId, ARCHIVA_TEST_GROUP_ID,
|
||||
ARCHIVA_TEST_ARTIFACT_ID,
|
||||
"1.0" ), null );
|
||||
|
||||
userReposControl.replay();
|
||||
metadataResolverControl.replay();
|
||||
@ -495,9 +498,10 @@ public void testGetDependees()
|
||||
dependeeModels.add( dependeeModel );
|
||||
|
||||
userReposControl.expectAndReturn( userRepos.getObservableRepositories(), observableRepoIds );
|
||||
metadataResolverControl.expectAndReturn(
|
||||
metadataResolver.getProjectReferences( repoId, ARCHIVA_TEST_GROUP_ID, ARCHIVA_TEST_ARTIFACT_ID, "1.0" ),
|
||||
dependeeModels );
|
||||
metadataResolverControl.expectAndReturn( metadataResolver.resolveProjectReferences( repoId,
|
||||
ARCHIVA_TEST_GROUP_ID,
|
||||
ARCHIVA_TEST_ARTIFACT_ID,
|
||||
"1.0" ), dependeeModels );
|
||||
|
||||
metadataResolverControl.replay();
|
||||
userReposControl.replay();
|
||||
@ -509,10 +513,10 @@ public void testGetDependees()
|
||||
|
||||
assertNotNull( dependees );
|
||||
assertEquals( 2, dependees.size() );
|
||||
assertEquals( new Artifact( repoId, ARCHIVA_TEST_GROUP_ID, "archiva-dependee-one", "1.0", "" ),
|
||||
dependees.get( 0 ) );
|
||||
assertEquals( new Artifact( repoId, ARCHIVA_TEST_GROUP_ID, "archiva-dependee-two", "1.0", "" ),
|
||||
dependees.get( 1 ) );
|
||||
assertEquals( new Artifact( repoId, ARCHIVA_TEST_GROUP_ID, "archiva-dependee-one", "1.0", "" ), dependees.get(
|
||||
0 ) );
|
||||
assertEquals( new Artifact( repoId, ARCHIVA_TEST_GROUP_ID, "archiva-dependee-two", "1.0", "" ), dependees.get(
|
||||
1 ) );
|
||||
}
|
||||
|
||||
public void testGetDependeesArtifactDoesNotExist()
|
||||
@ -525,12 +529,16 @@ public void testGetDependeesArtifactDoesNotExist()
|
||||
// no longer differentiating between a project not being present and a project that is present but with
|
||||
// no references. If it is later determined to be needed, we will need to modify the metadata content repository
|
||||
userReposControl.expectAndReturn( userRepos.getObservableRepositories(), observableRepoIds );
|
||||
metadataResolverControl.expectAndReturn(
|
||||
metadataResolver.getProjectReferences( "repo1.mirror", ARCHIVA_TEST_GROUP_ID, ARCHIVA_TEST_ARTIFACT_ID,
|
||||
"1.0" ), Collections.<ProjectVersionReference>emptyList() );
|
||||
metadataResolverControl.expectAndReturn(
|
||||
metadataResolver.getProjectReferences( "public.releases", ARCHIVA_TEST_GROUP_ID, ARCHIVA_TEST_ARTIFACT_ID,
|
||||
"1.0" ), Collections.<ProjectVersionReference>emptyList() );
|
||||
metadataResolverControl.expectAndReturn( metadataResolver.resolveProjectReferences( "repo1.mirror",
|
||||
ARCHIVA_TEST_GROUP_ID,
|
||||
ARCHIVA_TEST_ARTIFACT_ID,
|
||||
"1.0" ),
|
||||
Collections.<ProjectVersionReference>emptyList() );
|
||||
metadataResolverControl.expectAndReturn( metadataResolver.resolveProjectReferences( "public.releases",
|
||||
ARCHIVA_TEST_GROUP_ID,
|
||||
ARCHIVA_TEST_ARTIFACT_ID,
|
||||
"1.0" ),
|
||||
Collections.<ProjectVersionReference>emptyList() );
|
||||
|
||||
userReposControl.replay();
|
||||
metadataResolverControl.replay();
|
||||
|
@ -25,7 +25,7 @@
|
||||
import org.apache.archiva.metadata.model.ProjectVersionMetadata;
|
||||
import org.apache.archiva.metadata.model.ProjectVersionReference;
|
||||
import org.apache.archiva.metadata.repository.filter.ExcludesFilter;
|
||||
import org.apache.archiva.metadata.repository.storage.StorageMetadataResolver;
|
||||
import org.apache.archiva.metadata.repository.storage.RepositoryStorage;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
@ -50,19 +50,12 @@ public class DefaultMetadataResolver
|
||||
*
|
||||
* @plexus.requirement role-hint="maven2"
|
||||
*/
|
||||
private StorageMetadataResolver storageResolver;
|
||||
private RepositoryStorage repositoryStorage;
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger( DefaultMetadataResolver.class );
|
||||
|
||||
public ProjectMetadata getProject( String repoId, String namespace, String projectId )
|
||||
throws MetadataResolutionException
|
||||
{
|
||||
// TODO: intercept
|
||||
return metadataRepository.getProject( repoId, namespace, projectId );
|
||||
}
|
||||
|
||||
public ProjectVersionMetadata getProjectVersion( String repoId, String namespace, String projectId,
|
||||
String projectVersion )
|
||||
public ProjectVersionMetadata resolveProjectVersion( String repoId, String namespace, String projectId,
|
||||
String projectVersion )
|
||||
throws MetadataResolutionException
|
||||
{
|
||||
ProjectVersionMetadata metadata = metadataRepository.getProjectVersion( repoId, namespace, projectId,
|
||||
@ -74,7 +67,7 @@ public ProjectVersionMetadata getProjectVersion( String repoId, String namespace
|
||||
// may then work here and be more efficient than always trying again)
|
||||
if ( metadata == null || metadata.isIncomplete() )
|
||||
{
|
||||
metadata = storageResolver.getProjectVersion( repoId, namespace, projectId, projectVersion );
|
||||
metadata = repositoryStorage.readProjectVersionMetadata( repoId, namespace, projectId, projectVersion );
|
||||
if ( metadata != null )
|
||||
{
|
||||
if ( log.isDebugEnabled() )
|
||||
@ -117,16 +110,8 @@ public ProjectVersionMetadata getProjectVersion( String repoId, String namespace
|
||||
return metadata;
|
||||
}
|
||||
|
||||
public Collection<String> getArtifactVersions( String repoId, String namespace, String projectId,
|
||||
String projectVersion )
|
||||
throws MetadataResolutionException
|
||||
{
|
||||
// TODO: intercept
|
||||
return metadataRepository.getArtifactVersions( repoId, namespace, projectId, projectVersion );
|
||||
}
|
||||
|
||||
public Collection<ProjectVersionReference> getProjectReferences( String repoId, String namespace, String projectId,
|
||||
String projectVersion )
|
||||
public Collection<ProjectVersionReference> resolveProjectReferences( String repoId, String namespace,
|
||||
String projectId, String projectVersion )
|
||||
throws MetadataResolutionException
|
||||
{
|
||||
// TODO: is this assumption correct? could a storage mech. actually know all references in a non-Maven scenario?
|
||||
@ -134,11 +119,11 @@ public Collection<ProjectVersionReference> getProjectReferences( String repoId,
|
||||
return metadataRepository.getProjectReferences( repoId, namespace, projectId, projectVersion );
|
||||
}
|
||||
|
||||
public Collection<String> getRootNamespaces( String repoId )
|
||||
public Collection<String> resolveRootNamespaces( String repoId )
|
||||
throws MetadataResolutionException
|
||||
{
|
||||
Collection<String> namespaces = metadataRepository.getRootNamespaces( repoId );
|
||||
Collection<String> storageNamespaces = storageResolver.getRootNamespaces( repoId, new ExcludesFilter<String>(
|
||||
Collection<String> storageNamespaces = repositoryStorage.listRootNamespaces( repoId, new ExcludesFilter<String>(
|
||||
namespaces ) );
|
||||
if ( storageNamespaces != null && !storageNamespaces.isEmpty() )
|
||||
{
|
||||
@ -163,15 +148,15 @@ public Collection<String> getRootNamespaces( String repoId )
|
||||
return namespaces;
|
||||
}
|
||||
|
||||
public Collection<String> getNamespaces( String repoId, String namespace )
|
||||
public Collection<String> resolveNamespaces( String repoId, String namespace )
|
||||
throws MetadataResolutionException
|
||||
{
|
||||
Collection<String> namespaces = metadataRepository.getNamespaces( repoId, namespace );
|
||||
Collection<String> exclusions = new ArrayList<String>( namespaces );
|
||||
exclusions.addAll( metadataRepository.getProjects( repoId, namespace ) );
|
||||
Collection<String> storageNamespaces = storageResolver.getNamespaces( repoId, namespace,
|
||||
new ExcludesFilter<String>(
|
||||
exclusions ) );
|
||||
Collection<String> storageNamespaces = repositoryStorage.listNamespaces( repoId, namespace,
|
||||
new ExcludesFilter<String>(
|
||||
exclusions ) );
|
||||
if ( storageNamespaces != null && !storageNamespaces.isEmpty() )
|
||||
{
|
||||
if ( log.isDebugEnabled() )
|
||||
@ -195,14 +180,14 @@ public Collection<String> getNamespaces( String repoId, String namespace )
|
||||
return namespaces;
|
||||
}
|
||||
|
||||
public Collection<String> getProjects( String repoId, String namespace )
|
||||
public Collection<String> resolveProjects( String repoId, String namespace )
|
||||
throws MetadataResolutionException
|
||||
{
|
||||
Collection<String> projects = metadataRepository.getProjects( repoId, namespace );
|
||||
Collection<String> exclusions = new ArrayList<String>( projects );
|
||||
exclusions.addAll( metadataRepository.getNamespaces( repoId, namespace ) );
|
||||
Collection<String> storageProjects = storageResolver.getProjects( repoId, namespace, new ExcludesFilter<String>(
|
||||
exclusions ) );
|
||||
Collection<String> storageProjects = repositoryStorage.listProjects( repoId, namespace,
|
||||
new ExcludesFilter<String>( exclusions ) );
|
||||
if ( storageProjects != null && !storageProjects.isEmpty() )
|
||||
{
|
||||
if ( log.isDebugEnabled() )
|
||||
@ -211,7 +196,7 @@ public Collection<String> getProjects( String repoId, String namespace )
|
||||
}
|
||||
for ( String projectId : storageProjects )
|
||||
{
|
||||
ProjectMetadata projectMetadata = storageResolver.getProject( repoId, namespace, projectId );
|
||||
ProjectMetadata projectMetadata = repositoryStorage.readProjectMetadata( repoId, namespace, projectId );
|
||||
if ( projectMetadata != null )
|
||||
{
|
||||
try
|
||||
@ -230,13 +215,13 @@ public Collection<String> getProjects( String repoId, String namespace )
|
||||
return projects;
|
||||
}
|
||||
|
||||
public Collection<String> getProjectVersions( String repoId, String namespace, String projectId )
|
||||
public Collection<String> resolveProjectVersions( String repoId, String namespace, String projectId )
|
||||
throws MetadataResolutionException
|
||||
{
|
||||
Collection<String> projectVersions = metadataRepository.getProjectVersions( repoId, namespace, projectId );
|
||||
Collection<String> storageProjectVersions = storageResolver.getProjectVersions( repoId, namespace, projectId,
|
||||
new ExcludesFilter<String>(
|
||||
projectVersions ) );
|
||||
Collection<String> storageProjectVersions = repositoryStorage.listProjectVersions( repoId, namespace, projectId,
|
||||
new ExcludesFilter<String>(
|
||||
projectVersions ) );
|
||||
if ( storageProjectVersions != null && !storageProjectVersions.isEmpty() )
|
||||
{
|
||||
if ( log.isDebugEnabled() )
|
||||
@ -247,9 +232,10 @@ public Collection<String> getProjectVersions( String repoId, String namespace, S
|
||||
{
|
||||
try
|
||||
{
|
||||
ProjectVersionMetadata versionMetadata = storageResolver.getProjectVersion( repoId, namespace,
|
||||
projectId,
|
||||
projectVersion );
|
||||
ProjectVersionMetadata versionMetadata = repositoryStorage.readProjectVersionMetadata( repoId,
|
||||
namespace,
|
||||
projectId,
|
||||
projectVersion );
|
||||
if ( versionMetadata != null )
|
||||
{
|
||||
metadataRepository.updateProjectVersion( repoId, namespace, projectId, versionMetadata );
|
||||
@ -271,17 +257,18 @@ public Collection<String> getProjectVersions( String repoId, String namespace, S
|
||||
return projectVersions;
|
||||
}
|
||||
|
||||
public Collection<ArtifactMetadata> getArtifacts( String repoId, String namespace, String projectId,
|
||||
String projectVersion )
|
||||
public Collection<ArtifactMetadata> resolveArtifacts( String repoId, String namespace, String projectId,
|
||||
String projectVersion )
|
||||
throws MetadataResolutionException
|
||||
{
|
||||
Collection<ArtifactMetadata> artifacts = metadataRepository.getArtifacts( repoId, namespace, projectId,
|
||||
projectVersion );
|
||||
Collection<ArtifactMetadata> storageArtifacts = storageResolver.getArtifacts( repoId, namespace, projectId,
|
||||
projectVersion,
|
||||
new ExcludesFilter<String>(
|
||||
createArtifactIdList(
|
||||
artifacts ) ) );
|
||||
Collection<ArtifactMetadata> storageArtifacts = repositoryStorage.readArtifactsMetadata( repoId, namespace,
|
||||
projectId,
|
||||
projectVersion,
|
||||
new ExcludesFilter<String>(
|
||||
createArtifactIdList(
|
||||
artifacts ) ) );
|
||||
if ( storageArtifacts != null && !storageArtifacts.isEmpty() )
|
||||
{
|
||||
if ( log.isDebugEnabled() )
|
||||
|
@ -30,7 +30,6 @@
|
||||
import java.util.List;
|
||||
|
||||
public interface MetadataRepository
|
||||
extends MetadataResolver
|
||||
{
|
||||
/**
|
||||
* Update metadata for a particular project in the metadata repository, or create it if it does not already exist.
|
||||
@ -81,7 +80,7 @@ Collection<String> getRepositories()
|
||||
List<ArtifactMetadata> getArtifactsByChecksum( String repositoryId, String checksum )
|
||||
throws MetadataRepositoryException;
|
||||
|
||||
void deleteArtifact( String repositoryId, String namespace, String project, String version, String id )
|
||||
void removeArtifact( String repositoryId, String namespace, String project, String version, String id )
|
||||
throws MetadataRepositoryException;
|
||||
|
||||
/**
|
||||
@ -89,9 +88,49 @@ void deleteArtifact( String repositoryId, String namespace, String project, Stri
|
||||
*
|
||||
* @param repositoryId the repository to delete
|
||||
*/
|
||||
void deleteRepository( String repositoryId )
|
||||
void removeRepository( String repositoryId )
|
||||
throws MetadataRepositoryException;
|
||||
|
||||
List<ArtifactMetadata> getArtifacts( String repositoryId )
|
||||
throws MetadataRepositoryException;
|
||||
|
||||
ProjectMetadata getProject( String repoId, String namespace, String projectId )
|
||||
throws MetadataResolutionException;
|
||||
|
||||
ProjectVersionMetadata getProjectVersion( String repoId, String namespace, String projectId, String projectVersion )
|
||||
throws MetadataResolutionException;
|
||||
|
||||
Collection<String> getArtifactVersions( String repoId, String namespace, String projectId, String projectVersion )
|
||||
throws MetadataResolutionException;
|
||||
|
||||
/**
|
||||
* Retrieve project references from the metadata repository. Note that this is not built into the content model for
|
||||
* a project version as a reference may be present (due to reverse-lookup of dependencies) before the actual
|
||||
* project is, and we want to avoid adding a stub model to the content repository.
|
||||
*
|
||||
* @param repoId the repository ID to look within
|
||||
* @param namespace the namespace of the project to get references to
|
||||
* @param projectId the identifier of the project to get references to
|
||||
* @param projectVersion the version of the project to get references to
|
||||
* @return a list of project references
|
||||
*/
|
||||
Collection<ProjectVersionReference> getProjectReferences( String repoId, String namespace, String projectId,
|
||||
String projectVersion )
|
||||
throws MetadataResolutionException;
|
||||
|
||||
Collection<String> getRootNamespaces( String repoId )
|
||||
throws MetadataResolutionException;
|
||||
|
||||
Collection<String> getNamespaces( String repoId, String namespace )
|
||||
throws MetadataResolutionException;
|
||||
|
||||
Collection<String> getProjects( String repoId, String namespace )
|
||||
throws MetadataResolutionException;
|
||||
|
||||
Collection<String> getProjectVersions( String repoId, String namespace, String projectId )
|
||||
throws MetadataResolutionException;
|
||||
|
||||
Collection<ArtifactMetadata> getArtifacts( String repoId, String namespace, String projectId,
|
||||
String projectVersion )
|
||||
throws MetadataResolutionException;
|
||||
}
|
||||
|
@ -20,7 +20,6 @@
|
||||
*/
|
||||
|
||||
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;
|
||||
|
||||
@ -28,13 +27,8 @@
|
||||
|
||||
public interface MetadataResolver
|
||||
{
|
||||
ProjectMetadata getProject( String repoId, String namespace, String projectId )
|
||||
throws MetadataResolutionException;
|
||||
|
||||
ProjectVersionMetadata getProjectVersion( String repoId, String namespace, String projectId, String projectVersion )
|
||||
throws MetadataResolutionException;
|
||||
|
||||
Collection<String> getArtifactVersions( String repoId, String namespace, String projectId, String projectVersion )
|
||||
ProjectVersionMetadata resolveProjectVersion( String repoId, String namespace, String projectId,
|
||||
String projectVersion )
|
||||
throws MetadataResolutionException;
|
||||
|
||||
/**
|
||||
@ -48,23 +42,23 @@ Collection<String> getArtifactVersions( String repoId, String namespace, String
|
||||
* @param projectVersion the version of the project to get references to
|
||||
* @return a list of project references
|
||||
*/
|
||||
Collection<ProjectVersionReference> getProjectReferences( String repoId, String namespace, String projectId,
|
||||
String projectVersion )
|
||||
Collection<ProjectVersionReference> resolveProjectReferences( String repoId, String namespace, String projectId,
|
||||
String projectVersion )
|
||||
throws MetadataResolutionException;
|
||||
|
||||
Collection<String> getRootNamespaces( String repoId )
|
||||
Collection<String> resolveRootNamespaces( String repoId )
|
||||
throws MetadataResolutionException;
|
||||
|
||||
Collection<String> getNamespaces( String repoId, String namespace )
|
||||
Collection<String> resolveNamespaces( String repoId, String namespace )
|
||||
throws MetadataResolutionException;
|
||||
|
||||
Collection<String> getProjects( String repoId, String namespace )
|
||||
Collection<String> resolveProjects( String repoId, String namespace )
|
||||
throws MetadataResolutionException;
|
||||
|
||||
Collection<String> getProjectVersions( String repoId, String namespace, String projectId )
|
||||
Collection<String> resolveProjectVersions( String repoId, String namespace, String projectId )
|
||||
throws MetadataResolutionException;
|
||||
|
||||
Collection<ArtifactMetadata> getArtifacts( String repoId, String namespace, String projectId,
|
||||
String projectVersion )
|
||||
Collection<ArtifactMetadata> resolveArtifacts( String repoId, String namespace, String projectId,
|
||||
String projectVersion )
|
||||
throws MetadataResolutionException;
|
||||
}
|
||||
|
@ -0,0 +1,52 @@
|
||||
package org.apache.archiva.metadata.repository.storage;
|
||||
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
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.repository.MetadataResolutionException;
|
||||
import org.apache.archiva.metadata.repository.filter.Filter;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
public interface RepositoryStorage
|
||||
{
|
||||
ProjectMetadata readProjectMetadata( String repoId, String namespace, String projectId )
|
||||
throws MetadataResolutionException;
|
||||
|
||||
ProjectVersionMetadata readProjectVersionMetadata( String repoId, String namespace, String projectId,
|
||||
String projectVersion )
|
||||
throws MetadataResolutionException;
|
||||
|
||||
Collection<String> listRootNamespaces( String repoId, Filter<String> filter );
|
||||
|
||||
Collection<String> listNamespaces( String repoId, String namespace, Filter<String> filter );
|
||||
|
||||
Collection<String> listProjects( String repoId, String namespace, Filter<String> filter );
|
||||
|
||||
Collection<String> listProjectVersions( String repoId, String namespace, String projectId, Filter<String> filter );
|
||||
|
||||
Collection<ArtifactMetadata> readArtifactsMetadata( String repoId, String namespace, String projectId,
|
||||
String projectVersion, Filter<String> filter );
|
||||
|
||||
// TODO: reconsider this API, do we want to expose storage format in the form of a path?
|
||||
ArtifactMetadata readArtifactMetadataFromPath( String repoId, String path );
|
||||
}
|
@ -1,44 +0,0 @@
|
||||
package org.apache.archiva.metadata.repository.storage;
|
||||
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
import org.apache.archiva.metadata.model.ArtifactMetadata;
|
||||
import org.apache.archiva.metadata.repository.MetadataResolver;
|
||||
import org.apache.archiva.metadata.repository.filter.Filter;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
public interface StorageMetadataResolver
|
||||
extends MetadataResolver
|
||||
{
|
||||
Collection<String> getRootNamespaces( String repoId, Filter<String> filter );
|
||||
|
||||
Collection<String> getNamespaces( String repoId, String namespace, Filter<String> filter );
|
||||
|
||||
Collection<String> getProjects( String repoId, String namespace, 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 );
|
||||
|
||||
// TODO: reconsider this API, do we want to expose storage format in the form of a path?
|
||||
ArtifactMetadata getArtifactForPath( String repoId, String path );
|
||||
}
|
@ -873,7 +873,7 @@ public void testDeleteArtifact()
|
||||
assertEquals( Collections.singletonList( artifact ), new ArrayList<ArtifactMetadata>( repository.getArtifacts(
|
||||
TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, TEST_PROJECT_VERSION ) ) );
|
||||
|
||||
repository.deleteArtifact( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, TEST_PROJECT_VERSION, artifact.getId() );
|
||||
repository.removeArtifact( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, TEST_PROJECT_VERSION, artifact.getId() );
|
||||
|
||||
assertTrue( repository.getArtifacts( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT,
|
||||
TEST_PROJECT_VERSION ).isEmpty() );
|
||||
@ -909,7 +909,7 @@ public void testDeleteRepository()
|
||||
|
||||
assertEquals( expected, actual );
|
||||
|
||||
repository.deleteRepository( TEST_REPO_ID );
|
||||
repository.removeRepository( TEST_REPO_ID );
|
||||
|
||||
assertTrue( repository.getArtifacts( TEST_REPO_ID ).isEmpty() );
|
||||
assertTrue( repository.getRootNamespaces( TEST_REPO_ID ).isEmpty() );
|
||||
|
@ -425,8 +425,8 @@ public List retrieveAvailableVersions( Artifact artifact, ArtifactRepository loc
|
||||
Collection<String> projectVersions;
|
||||
try
|
||||
{
|
||||
projectVersions = metadataResolver.getProjectVersions( repoId, artifact.getGroupId(),
|
||||
artifact.getArtifactId() );
|
||||
projectVersions = metadataResolver.resolveProjectVersions( repoId, artifact.getGroupId(),
|
||||
artifact.getArtifactId() );
|
||||
}
|
||||
catch ( MetadataResolutionException e )
|
||||
{
|
||||
|
@ -24,14 +24,12 @@
|
||||
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;
|
||||
import org.apache.archiva.metadata.repository.MetadataRepository;
|
||||
import org.apache.archiva.metadata.repository.MetadataRepositoryException;
|
||||
import org.apache.archiva.metadata.repository.MetadataResolutionException;
|
||||
import org.apache.archiva.metadata.repository.filter.AllFilter;
|
||||
import org.apache.archiva.metadata.repository.filter.Filter;
|
||||
import org.apache.archiva.metadata.repository.storage.RepositoryPathTranslator;
|
||||
import org.apache.archiva.metadata.repository.storage.StorageMetadataResolver;
|
||||
import org.apache.archiva.metadata.repository.storage.RepositoryStorage;
|
||||
import org.apache.archiva.reports.RepositoryProblemFacet;
|
||||
import org.apache.maven.archiva.common.utils.VersionUtil;
|
||||
import org.apache.maven.archiva.configuration.ArchivaConfiguration;
|
||||
@ -63,10 +61,10 @@
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @plexus.component role="org.apache.archiva.metadata.repository.storage.StorageMetadataResolver" role-hint="maven2"
|
||||
* @plexus.component role="org.apache.archiva.metadata.repository.storage.RepositoryStorage" role-hint="maven2"
|
||||
*/
|
||||
public class Maven2RepositoryMetadataResolver
|
||||
implements StorageMetadataResolver
|
||||
public class Maven2RepositoryStorage
|
||||
implements RepositoryStorage
|
||||
{
|
||||
/**
|
||||
* @plexus.requirement
|
||||
@ -88,12 +86,10 @@ public class Maven2RepositoryMetadataResolver
|
||||
*/
|
||||
private MetadataRepository metadataRepository;
|
||||
|
||||
private final static Logger log = LoggerFactory.getLogger( Maven2RepositoryMetadataResolver.class );
|
||||
private final static Logger log = LoggerFactory.getLogger( Maven2RepositoryStorage.class );
|
||||
|
||||
private static final String METADATA_FILENAME = "maven-metadata.xml";
|
||||
|
||||
private static final Filter<String> ALL = new AllFilter<String>();
|
||||
|
||||
private static final String PROBLEM_MISSING_POM = "missing-pom";
|
||||
|
||||
private static final String PROBLEM_INVALID_POM = "invalid-pom";
|
||||
@ -103,14 +99,14 @@ public class Maven2RepositoryMetadataResolver
|
||||
private static final List<String> POTENTIAL_PROBLEMS = Arrays.asList( PROBLEM_INVALID_POM, PROBLEM_MISSING_POM,
|
||||
PROBLEM_MISLOCATED_POM );
|
||||
|
||||
public ProjectMetadata getProject( String repoId, String namespace, String projectId )
|
||||
public ProjectMetadata readProjectMetadata( String repoId, String namespace, String projectId )
|
||||
{
|
||||
// TODO: could natively implement the "shared model" concept from the browse action to avoid needing it there?
|
||||
return null;
|
||||
}
|
||||
|
||||
public ProjectVersionMetadata getProjectVersion( String repoId, String namespace, String projectId,
|
||||
String projectVersion )
|
||||
public ProjectVersionMetadata readProjectVersionMetadata( String repoId, String namespace, String projectId,
|
||||
String projectVersion )
|
||||
throws MetadataResolutionException
|
||||
{
|
||||
// Remove problems associated with this version, since we'll be re-adding any that still exist
|
||||
@ -372,26 +368,7 @@ private org.apache.archiva.metadata.model.CiManagement convertCiManagement( CiMa
|
||||
return ci;
|
||||
}
|
||||
|
||||
public Collection<String> getArtifactVersions( String repoId, String namespace, String projectId,
|
||||
String projectVersion )
|
||||
{
|
||||
// TODO: useful, but not implemented yet, not called from DefaultMetadataResolver
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
public Collection<ProjectVersionReference> getProjectReferences( String repoId, String namespace, String projectId,
|
||||
String projectVersion )
|
||||
{
|
||||
// Can't be determined on a Maven 2 repository
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
public Collection<String> getRootNamespaces( String repoId )
|
||||
{
|
||||
return getRootNamespaces( repoId, ALL );
|
||||
}
|
||||
|
||||
public Collection<String> getRootNamespaces( String repoId, Filter<String> filter )
|
||||
public Collection<String> listRootNamespaces( String repoId, Filter<String> filter )
|
||||
{
|
||||
File dir = getRepositoryBasedir( repoId );
|
||||
|
||||
@ -422,12 +399,7 @@ private File getRepositoryBasedir( String repoId )
|
||||
return new File( repositoryConfiguration.getLocation() );
|
||||
}
|
||||
|
||||
public Collection<String> getNamespaces( String repoId, String namespace )
|
||||
{
|
||||
return getNamespaces( repoId, namespace, ALL );
|
||||
}
|
||||
|
||||
public Collection<String> getNamespaces( String repoId, String namespace, Filter<String> filter )
|
||||
public Collection<String> listNamespaces( String repoId, String namespace, Filter<String> filter )
|
||||
{
|
||||
File dir = pathTranslator.toFile( getRepositoryBasedir( repoId ), namespace );
|
||||
|
||||
@ -448,12 +420,7 @@ public Collection<String> getNamespaces( String repoId, String namespace, Filter
|
||||
return namespaces;
|
||||
}
|
||||
|
||||
public Collection<String> getProjects( String repoId, String namespace )
|
||||
{
|
||||
return getProjects( repoId, namespace, ALL );
|
||||
}
|
||||
|
||||
public Collection<String> getProjects( String repoId, String namespace, Filter<String> filter )
|
||||
public Collection<String> listProjects( String repoId, String namespace, Filter<String> filter )
|
||||
{
|
||||
File dir = pathTranslator.toFile( getRepositoryBasedir( repoId ), namespace );
|
||||
|
||||
@ -474,19 +441,8 @@ public Collection<String> getProjects( String repoId, String namespace, Filter<S
|
||||
return projects;
|
||||
}
|
||||
|
||||
public Collection<String> getProjectVersions( String repoId, String namespace, String projectId )
|
||||
{
|
||||
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 )
|
||||
public Collection<String> listProjectVersions( String repoId, String namespace, String projectId,
|
||||
Filter<String> filter )
|
||||
{
|
||||
File dir = pathTranslator.toFile( getRepositoryBasedir( repoId ), namespace, projectId );
|
||||
|
||||
@ -494,8 +450,8 @@ public Collection<String> getProjectVersions( String repoId, String namespace, S
|
||||
return getSortedFiles( dir, filter );
|
||||
}
|
||||
|
||||
public Collection<ArtifactMetadata> getArtifacts( String repoId, String namespace, String projectId,
|
||||
String projectVersion, Filter<String> filter )
|
||||
public Collection<ArtifactMetadata> readArtifactsMetadata( String repoId, String namespace, String projectId,
|
||||
String projectVersion, Filter<String> filter )
|
||||
{
|
||||
File dir = pathTranslator.toFile( getRepositoryBasedir( repoId ), namespace, projectId, projectVersion );
|
||||
|
||||
@ -514,7 +470,7 @@ public Collection<ArtifactMetadata> getArtifacts( String repoId, String namespac
|
||||
return artifacts;
|
||||
}
|
||||
|
||||
public ArtifactMetadata getArtifactForPath( String repoId, String path )
|
||||
public ArtifactMetadata readArtifactMetadataFromPath( String repoId, String path )
|
||||
{
|
||||
ArtifactMetadata metadata = pathTranslator.getArtifactForPath( repoId, path );
|
||||
|
||||
@ -653,11 +609,6 @@ private MavenRepositoryMetadata readMetadata( File directory )
|
||||
return metadata;
|
||||
}
|
||||
|
||||
public void setConfiguration( ArchivaConfiguration configuration )
|
||||
{
|
||||
this.archivaConfiguration = configuration;
|
||||
}
|
||||
|
||||
private static class DirectoryFilter
|
||||
implements FilenameFilter
|
||||
{
|
@ -19,6 +19,12 @@
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import org.apache.archiva.metadata.model.ArtifactMetadata;
|
||||
import org.apache.archiva.metadata.model.MetadataFacet;
|
||||
import org.apache.archiva.metadata.model.ProjectMetadata;
|
||||
import org.apache.archiva.metadata.model.ProjectVersionMetadata;
|
||||
import org.apache.archiva.metadata.model.ProjectVersionReference;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Date;
|
||||
@ -26,14 +32,7 @@
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.archiva.metadata.model.ArtifactMetadata;
|
||||
import org.apache.archiva.metadata.model.MetadataFacet;
|
||||
import org.apache.archiva.metadata.model.ProjectMetadata;
|
||||
import org.apache.archiva.metadata.model.ProjectVersionMetadata;
|
||||
import org.apache.archiva.metadata.model.ProjectVersionReference;
|
||||
|
||||
public class TestMetadataRepository
|
||||
extends TestMetadataResolver
|
||||
implements MetadataRepository
|
||||
{
|
||||
private Map<String, MetadataFacet> facets = new HashMap<String, MetadataFacet>();
|
||||
@ -49,7 +48,8 @@ public void updateArtifact( String repoId, String namespace, String projectId, S
|
||||
//To change body of implemented methods use File | Settings | File Templates.
|
||||
}
|
||||
|
||||
public void updateProjectVersion( String repoId, String namespace, String projectId, ProjectVersionMetadata versionMetadata )
|
||||
public void updateProjectVersion( String repoId, String namespace, String projectId,
|
||||
ProjectVersionMetadata versionMetadata )
|
||||
{
|
||||
//To change body of implemented methods use File | Settings | File Templates.
|
||||
}
|
||||
@ -105,16 +105,76 @@ public List<ArtifactMetadata> getArtifactsByChecksum( String repoId, String chec
|
||||
return null; //To change body of implemented methods use File | Settings | File Templates.
|
||||
}
|
||||
|
||||
public void deleteArtifact( String repositoryId, String namespace, String project, String version, String id )
|
||||
public void removeArtifact( String repositoryId, String namespace, String project, String version, String id )
|
||||
{
|
||||
//To change body of implemented methods use File | Settings | File Templates.
|
||||
}
|
||||
|
||||
public void deleteRepository( String repoId )
|
||||
public void removeRepository( String repoId )
|
||||
{
|
||||
//To change body of implemented methods use File | Settings | File Templates.
|
||||
}
|
||||
public List<ArtifactMetadata> getArtifacts(String repositoryId){
|
||||
|
||||
public List<ArtifactMetadata> getArtifacts( String repositoryId )
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
public ProjectMetadata getProject( String repoId, String namespace, String projectId )
|
||||
throws MetadataResolutionException
|
||||
{
|
||||
return null; //To change body of implemented methods use File | Settings | File Templates.
|
||||
}
|
||||
|
||||
public ProjectVersionMetadata getProjectVersion( String repoId, String namespace, String projectId,
|
||||
String projectVersion )
|
||||
throws MetadataResolutionException
|
||||
{
|
||||
return null; //To change body of implemented methods use File | Settings | File Templates.
|
||||
}
|
||||
|
||||
public Collection<String> getArtifactVersions( String repoId, String namespace, String projectId,
|
||||
String projectVersion )
|
||||
throws MetadataResolutionException
|
||||
{
|
||||
return null; //To change body of implemented methods use File | Settings | File Templates.
|
||||
}
|
||||
|
||||
public Collection<ProjectVersionReference> getProjectReferences( String repoId, String namespace, String projectId,
|
||||
String projectVersion )
|
||||
throws MetadataResolutionException
|
||||
{
|
||||
return null; //To change body of implemented methods use File | Settings | File Templates.
|
||||
}
|
||||
|
||||
public Collection<String> getRootNamespaces( String repoId )
|
||||
throws MetadataResolutionException
|
||||
{
|
||||
return null; //To change body of implemented methods use File | Settings | File Templates.
|
||||
}
|
||||
|
||||
public Collection<String> getNamespaces( String repoId, String namespace )
|
||||
throws MetadataResolutionException
|
||||
{
|
||||
return null; //To change body of implemented methods use File | Settings | File Templates.
|
||||
}
|
||||
|
||||
public Collection<String> getProjects( String repoId, String namespace )
|
||||
throws MetadataResolutionException
|
||||
{
|
||||
return null; //To change body of implemented methods use File | Settings | File Templates.
|
||||
}
|
||||
|
||||
public Collection<String> getProjectVersions( String repoId, String namespace, String projectId )
|
||||
throws MetadataResolutionException
|
||||
{
|
||||
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 )
|
||||
throws MetadataResolutionException
|
||||
{
|
||||
return null; //To change body of implemented methods use File | Settings | File Templates.
|
||||
}
|
||||
}
|
@ -19,61 +19,49 @@
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
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;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
public class TestMetadataResolver
|
||||
implements MetadataResolver
|
||||
{
|
||||
public ProjectMetadata getProject( String repoId, String namespace, String projectId )
|
||||
public ProjectVersionMetadata resolveProjectVersion( String repoId, String namespace, String projectId,
|
||||
String projectVersion )
|
||||
{
|
||||
return null; //To change body of implemented methods use File | Settings | File Templates.
|
||||
}
|
||||
|
||||
public ProjectVersionMetadata getProjectVersion( String repoId, String namespace, String projectId,
|
||||
String projectVersion )
|
||||
public Collection<ProjectVersionReference> resolveProjectReferences( String repoId, String namespace,
|
||||
String projectId, String projectVersion )
|
||||
{
|
||||
return null; //To change body of implemented methods use File | Settings | File Templates.
|
||||
}
|
||||
|
||||
public Collection<String> getArtifactVersions( String repoId, String namespace, String projectId,
|
||||
String projectVersion )
|
||||
public Collection<String> resolveRootNamespaces( String repoId )
|
||||
{
|
||||
return null; //To change body of implemented methods use File | Settings | File Templates.
|
||||
}
|
||||
|
||||
public Collection<ProjectVersionReference> getProjectReferences( String repoId, String namespace, String projectId,
|
||||
String projectVersion )
|
||||
public Collection<String> resolveNamespaces( String repoId, String namespace )
|
||||
{
|
||||
return null; //To change body of implemented methods use File | Settings | File Templates.
|
||||
}
|
||||
|
||||
public Collection<String> getRootNamespaces( String repoId )
|
||||
public Collection<String> resolveProjects( String repoId, String namespace )
|
||||
{
|
||||
return null; //To change body of implemented methods use File | Settings | File Templates.
|
||||
}
|
||||
|
||||
public Collection<String> getNamespaces( String repoId, String namespace )
|
||||
public Collection<String> resolveProjectVersions( String repoId, String namespace, String projectId )
|
||||
{
|
||||
return null; //To change body of implemented methods use File | Settings | File Templates.
|
||||
}
|
||||
|
||||
public Collection<String> getProjects( String repoId, String namespace )
|
||||
{
|
||||
return null; //To change body of implemented methods use File | Settings | File Templates.
|
||||
}
|
||||
|
||||
public Collection<String> getProjectVersions( String repoId, String namespace, String projectId )
|
||||
{
|
||||
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 )
|
||||
public Collection<ArtifactMetadata> resolveArtifacts( String repoId, String namespace, String projectId,
|
||||
String projectVersion )
|
||||
{
|
||||
return null; //To change body of implemented methods use File | Settings | File Templates.
|
||||
}
|
||||
|
@ -27,8 +27,10 @@
|
||||
import org.apache.archiva.metadata.model.ProjectVersionMetadata;
|
||||
import org.apache.archiva.metadata.repository.MetadataRepository;
|
||||
import org.apache.archiva.metadata.repository.MetadataResolutionException;
|
||||
import org.apache.archiva.metadata.repository.filter.AllFilter;
|
||||
import org.apache.archiva.metadata.repository.filter.ExcludesFilter;
|
||||
import org.apache.archiva.metadata.repository.storage.StorageMetadataResolver;
|
||||
import org.apache.archiva.metadata.repository.filter.Filter;
|
||||
import org.apache.archiva.metadata.repository.storage.RepositoryStorage;
|
||||
import org.apache.archiva.reports.RepositoryProblemFacet;
|
||||
import org.apache.maven.archiva.configuration.ArchivaConfiguration;
|
||||
import org.apache.maven.archiva.configuration.Configuration;
|
||||
@ -45,7 +47,9 @@
|
||||
public class Maven2RepositoryMetadataResolverTest
|
||||
extends PlexusInSpringTestCase
|
||||
{
|
||||
private Maven2RepositoryMetadataResolver resolver;
|
||||
private static final Filter<String> ALL = new AllFilter<String>();
|
||||
|
||||
private Maven2RepositoryStorage resolver;
|
||||
|
||||
private static final String TEST_REPO_ID = "test";
|
||||
|
||||
@ -74,7 +78,7 @@ public void setUp()
|
||||
c.addManagedRepository( testRepo );
|
||||
configuration.save( c );
|
||||
|
||||
resolver = (Maven2RepositoryMetadataResolver) lookup( StorageMetadataResolver.class, "maven2" );
|
||||
resolver = (Maven2RepositoryStorage) lookup( RepositoryStorage.class, "maven2" );
|
||||
metadataRepository = (MetadataRepository) lookup( MetadataRepository.class );
|
||||
metadataRepository.removeMetadataFacets( TEST_REPO_ID, RepositoryProblemFacet.FACET_ID );
|
||||
}
|
||||
@ -82,8 +86,8 @@ public void setUp()
|
||||
public void testGetProjectVersionMetadata()
|
||||
throws Exception
|
||||
{
|
||||
ProjectVersionMetadata metadata = resolver.getProjectVersion( TEST_REPO_ID, "org.apache.archiva",
|
||||
"archiva-common", "1.2.1" );
|
||||
ProjectVersionMetadata metadata = resolver.readProjectVersionMetadata( TEST_REPO_ID, "org.apache.archiva",
|
||||
"archiva-common", "1.2.1" );
|
||||
MavenProjectFacet facet = (MavenProjectFacet) metadata.getFacet( MavenProjectFacet.FACET_ID );
|
||||
assertEquals( "jar", facet.getPackaging() );
|
||||
assertEquals( "http://archiva.apache.org/ref/1.2.1/archiva-base/archiva-common", metadata.getUrl() );
|
||||
@ -136,8 +140,9 @@ public void testGetProjectVersionMetadata()
|
||||
public void testGetArtifactMetadata()
|
||||
throws Exception
|
||||
{
|
||||
Collection<ArtifactMetadata> springArtifacts = resolver.getArtifacts( TEST_REPO_ID, "org.codehaus.plexus",
|
||||
"plexus-spring", "1.2" );
|
||||
Collection<ArtifactMetadata> springArtifacts = resolver.readArtifactsMetadata( TEST_REPO_ID,
|
||||
"org.codehaus.plexus",
|
||||
"plexus-spring", "1.2", ALL );
|
||||
List<ArtifactMetadata> artifacts = new ArrayList<ArtifactMetadata>( springArtifacts );
|
||||
Collections.sort( artifacts, new Comparator<ArtifactMetadata>()
|
||||
{
|
||||
@ -177,8 +182,9 @@ public int compare( ArtifactMetadata o1, ArtifactMetadata o2 )
|
||||
public void testGetArtifactMetadataSnapshots()
|
||||
throws Exception
|
||||
{
|
||||
Collection<ArtifactMetadata> testArtifacts = resolver.getArtifacts( TEST_REPO_ID, "com.example.test",
|
||||
"test-artifact", "1.0-SNAPSHOT" );
|
||||
Collection<ArtifactMetadata> testArtifacts = resolver.readArtifactsMetadata( TEST_REPO_ID, "com.example.test",
|
||||
"test-artifact", "1.0-SNAPSHOT",
|
||||
ALL );
|
||||
List<ArtifactMetadata> artifacts = new ArrayList<ArtifactMetadata>( testArtifacts );
|
||||
Collections.sort( artifacts, new Comparator<ArtifactMetadata>()
|
||||
{
|
||||
@ -259,8 +265,8 @@ private void assertDependency( Dependency dependency, String groupId, String art
|
||||
public void testGetProjectVersionMetadataForTimestampedSnapshot()
|
||||
throws Exception
|
||||
{
|
||||
ProjectVersionMetadata metadata = resolver.getProjectVersion( TEST_REPO_ID, "org.apache", "apache",
|
||||
"5-SNAPSHOT" );
|
||||
ProjectVersionMetadata metadata = resolver.readProjectVersionMetadata( TEST_REPO_ID, "org.apache", "apache",
|
||||
"5-SNAPSHOT" );
|
||||
MavenProjectFacet facet = (MavenProjectFacet) metadata.getFacet( MavenProjectFacet.FACET_ID );
|
||||
assertEquals( "pom", facet.getPackaging() );
|
||||
assertEquals( "http://www.apache.org/", metadata.getUrl() );
|
||||
@ -296,24 +302,24 @@ public void testGetProjectVersionMetadataForTimestampedSnapshot()
|
||||
public void testGetProjectVersionMetadataForTimestampedSnapshotMissingMetadata()
|
||||
throws Exception
|
||||
{
|
||||
FacetedMetadata metadata = resolver.getProjectVersion( TEST_REPO_ID, "com.example.test", "missing-metadata",
|
||||
"1.0-SNAPSHOT" );
|
||||
FacetedMetadata metadata = resolver.readProjectVersionMetadata( TEST_REPO_ID, "com.example.test",
|
||||
"missing-metadata", "1.0-SNAPSHOT" );
|
||||
assertNull( metadata );
|
||||
}
|
||||
|
||||
public void testGetProjectVersionMetadataForTimestampedSnapshotMalformedMetadata()
|
||||
throws Exception
|
||||
{
|
||||
FacetedMetadata metadata = resolver.getProjectVersion( TEST_REPO_ID, "com.example.test", "malformed-metadata",
|
||||
"1.0-SNAPSHOT" );
|
||||
FacetedMetadata metadata = resolver.readProjectVersionMetadata( TEST_REPO_ID, "com.example.test",
|
||||
"malformed-metadata", "1.0-SNAPSHOT" );
|
||||
assertNull( metadata );
|
||||
}
|
||||
|
||||
public void testGetProjectVersionMetadataForTimestampedSnapshotIncompleteMetadata()
|
||||
throws Exception
|
||||
{
|
||||
FacetedMetadata metadata = resolver.getProjectVersion( TEST_REPO_ID, "com.example.test", "incomplete-metadata",
|
||||
"1.0-SNAPSHOT" );
|
||||
FacetedMetadata metadata = resolver.readProjectVersionMetadata( TEST_REPO_ID, "com.example.test",
|
||||
"incomplete-metadata", "1.0-SNAPSHOT" );
|
||||
assertNull( metadata );
|
||||
}
|
||||
|
||||
@ -324,7 +330,7 @@ public void testGetProjectVersionMetadataForInvalidPom()
|
||||
|
||||
try
|
||||
{
|
||||
resolver.getProjectVersion( TEST_REPO_ID, "com.example.test", "invalid-pom", "1.0" );
|
||||
resolver.readProjectVersionMetadata( TEST_REPO_ID, "com.example.test", "invalid-pom", "1.0" );
|
||||
fail( "Should have received an exception due to invalid POM" );
|
||||
}
|
||||
catch ( MetadataResolutionException e )
|
||||
@ -345,7 +351,7 @@ public void testGetProjectVersionMetadataForMislocatedPom()
|
||||
|
||||
try
|
||||
{
|
||||
resolver.getProjectVersion( TEST_REPO_ID, "com.example.test", "mislocated-pom", "1.0" );
|
||||
resolver.readProjectVersionMetadata( TEST_REPO_ID, "com.example.test", "mislocated-pom", "1.0" );
|
||||
fail( "Should have received an exception due to mislocated POM" );
|
||||
}
|
||||
catch ( MetadataResolutionException e )
|
||||
@ -364,7 +370,8 @@ public void testGetProjectVersionMetadataForMissingPom()
|
||||
{
|
||||
assertTrue( metadataRepository.getMetadataFacets( TEST_REPO_ID, RepositoryProblemFacet.FACET_ID ).isEmpty() );
|
||||
|
||||
FacetedMetadata metadata = resolver.getProjectVersion( TEST_REPO_ID, "com.example.test", "missing-pom", "1.0" );
|
||||
FacetedMetadata metadata = resolver.readProjectVersionMetadata( TEST_REPO_ID, "com.example.test", "missing-pom",
|
||||
"1.0" );
|
||||
assertNull( metadata );
|
||||
|
||||
assertFalse( metadataRepository.getMetadataFacets( TEST_REPO_ID, RepositoryProblemFacet.FACET_ID ).isEmpty() );
|
||||
@ -377,84 +384,87 @@ public void testGetProjectVersionMetadataForMissingPom()
|
||||
|
||||
public void testGetRootNamespaces()
|
||||
{
|
||||
assertEquals( Arrays.asList( "com", "org" ), resolver.getRootNamespaces( TEST_REPO_ID ) );
|
||||
assertEquals( Arrays.asList( "com", "org" ), resolver.listRootNamespaces( TEST_REPO_ID, ALL ) );
|
||||
}
|
||||
|
||||
public void testGetNamespaces()
|
||||
{
|
||||
assertEquals( Arrays.asList( "example" ), resolver.getNamespaces( TEST_REPO_ID, "com" ) );
|
||||
assertEquals( Arrays.asList( "test" ), resolver.getNamespaces( TEST_REPO_ID, "com.example" ) );
|
||||
assertEquals( Collections.<String>emptyList(), resolver.getNamespaces( TEST_REPO_ID, "com.example.test" ) );
|
||||
assertEquals( Arrays.asList( "example" ), resolver.listNamespaces( TEST_REPO_ID, "com", ALL ) );
|
||||
assertEquals( Arrays.asList( "test" ), resolver.listNamespaces( TEST_REPO_ID, "com.example", ALL ) );
|
||||
assertEquals( Collections.<String>emptyList(), resolver.listNamespaces( TEST_REPO_ID, "com.example.test",
|
||||
ALL ) );
|
||||
|
||||
assertEquals( Arrays.asList( "apache", "codehaus" ), resolver.getNamespaces( TEST_REPO_ID, "org" ) );
|
||||
assertEquals( Arrays.asList( "archiva", "maven" ), resolver.getNamespaces( TEST_REPO_ID, "org.apache" ) );
|
||||
assertEquals( Collections.<String>emptyList(), resolver.getNamespaces( TEST_REPO_ID, "org.apache.archiva" ) );
|
||||
assertEquals( Arrays.asList( "plugins", "shared" ), resolver.getNamespaces( TEST_REPO_ID,
|
||||
"org.apache.maven" ) );
|
||||
assertEquals( Collections.<String>emptyList(), resolver.getNamespaces( TEST_REPO_ID,
|
||||
"org.apache.maven.plugins" ) );
|
||||
assertEquals( Collections.<String>emptyList(), resolver.getNamespaces( TEST_REPO_ID,
|
||||
"org.apache.maven.shared" ) );
|
||||
assertEquals( Arrays.asList( "apache", "codehaus" ), resolver.listNamespaces( TEST_REPO_ID, "org", ALL ) );
|
||||
assertEquals( Arrays.asList( "archiva", "maven" ), resolver.listNamespaces( TEST_REPO_ID, "org.apache", ALL ) );
|
||||
assertEquals( Collections.<String>emptyList(), resolver.listNamespaces( TEST_REPO_ID, "org.apache.archiva",
|
||||
ALL ) );
|
||||
assertEquals( Arrays.asList( "plugins", "shared" ), resolver.listNamespaces( TEST_REPO_ID, "org.apache.maven",
|
||||
ALL ) );
|
||||
assertEquals( Collections.<String>emptyList(), resolver.listNamespaces( TEST_REPO_ID,
|
||||
"org.apache.maven.plugins", ALL ) );
|
||||
assertEquals( Collections.<String>emptyList(), resolver.listNamespaces( TEST_REPO_ID, "org.apache.maven.shared",
|
||||
ALL ) );
|
||||
|
||||
assertEquals( Arrays.asList( "plexus" ), resolver.getNamespaces( TEST_REPO_ID, "org.codehaus" ) );
|
||||
assertEquals( Collections.<String>emptyList(), resolver.getNamespaces( TEST_REPO_ID, "org.codehaus.plexus" ) );
|
||||
assertEquals( Arrays.asList( "plexus" ), resolver.listNamespaces( TEST_REPO_ID, "org.codehaus", ALL ) );
|
||||
assertEquals( Collections.<String>emptyList(), resolver.listNamespaces( TEST_REPO_ID, "org.codehaus.plexus",
|
||||
ALL ) );
|
||||
}
|
||||
|
||||
public void testGetProjects()
|
||||
{
|
||||
assertEquals( Collections.<String>emptyList(), resolver.getProjects( TEST_REPO_ID, "com" ) );
|
||||
assertEquals( Collections.<String>emptyList(), resolver.getProjects( TEST_REPO_ID, "com.example" ) );
|
||||
assertEquals( Collections.<String>emptyList(), resolver.listProjects( TEST_REPO_ID, "com", ALL ) );
|
||||
assertEquals( Collections.<String>emptyList(), resolver.listProjects( TEST_REPO_ID, "com.example", ALL ) );
|
||||
assertEquals( Arrays.asList( "incomplete-metadata", "invalid-pom", "malformed-metadata", "mislocated-pom",
|
||||
"missing-metadata", "test-artifact" ), resolver.getProjects( TEST_REPO_ID,
|
||||
"com.example.test" ) );
|
||||
"missing-metadata", "test-artifact" ), resolver.listProjects( TEST_REPO_ID,
|
||||
"com.example.test",
|
||||
ALL ) );
|
||||
|
||||
assertEquals( Collections.<String>emptyList(), resolver.getProjects( TEST_REPO_ID, "org" ) );
|
||||
assertEquals( Arrays.asList( "apache" ), resolver.getProjects( TEST_REPO_ID, "org.apache" ) );
|
||||
assertEquals( Collections.<String>emptyList(), resolver.listProjects( TEST_REPO_ID, "org", ALL ) );
|
||||
assertEquals( Arrays.asList( "apache" ), resolver.listProjects( TEST_REPO_ID, "org.apache", ALL ) );
|
||||
assertEquals( Arrays.asList( "archiva", "archiva-base", "archiva-common", "archiva-modules", "archiva-parent" ),
|
||||
resolver.getProjects( TEST_REPO_ID, "org.apache.archiva" ) );
|
||||
assertEquals( Collections.<String>emptyList(), resolver.getProjects( TEST_REPO_ID, "org.apache.maven" ) );
|
||||
assertEquals( Collections.<String>emptyList(), resolver.getProjects( TEST_REPO_ID,
|
||||
"org.apache.maven.plugins" ) );
|
||||
assertEquals( Arrays.asList( "maven-downloader" ), resolver.getProjects( TEST_REPO_ID,
|
||||
"org.apache.maven.shared" ) );
|
||||
resolver.listProjects( TEST_REPO_ID, "org.apache.archiva", ALL ) );
|
||||
assertEquals( Collections.<String>emptyList(), resolver.listProjects( TEST_REPO_ID, "org.apache.maven", ALL ) );
|
||||
assertEquals( Collections.<String>emptyList(), resolver.listProjects( TEST_REPO_ID, "org.apache.maven.plugins",
|
||||
ALL ) );
|
||||
assertEquals( Arrays.asList( "maven-downloader" ), resolver.listProjects( TEST_REPO_ID,
|
||||
"org.apache.maven.shared", ALL ) );
|
||||
}
|
||||
|
||||
public void testGetProjectVersions()
|
||||
{
|
||||
assertEquals( Arrays.asList( "1.0-SNAPSHOT" ), resolver.getProjectVersions( TEST_REPO_ID, "com.example.test",
|
||||
"incomplete-metadata" ) );
|
||||
assertEquals( Arrays.asList( "1.0-SNAPSHOT" ), resolver.getProjectVersions( TEST_REPO_ID, "com.example.test",
|
||||
"malformed-metadata" ) );
|
||||
assertEquals( Arrays.asList( "1.0-SNAPSHOT" ), resolver.getProjectVersions( TEST_REPO_ID, "com.example.test",
|
||||
"missing-metadata" ) );
|
||||
assertEquals( Arrays.asList( "1.0" ), resolver.getProjectVersions( TEST_REPO_ID, "com.example.test",
|
||||
"invalid-pom" ) );
|
||||
assertEquals( Arrays.asList( "1.0-SNAPSHOT" ), resolver.listProjectVersions( TEST_REPO_ID, "com.example.test",
|
||||
"incomplete-metadata", ALL ) );
|
||||
assertEquals( Arrays.asList( "1.0-SNAPSHOT" ), resolver.listProjectVersions( TEST_REPO_ID, "com.example.test",
|
||||
"malformed-metadata", ALL ) );
|
||||
assertEquals( Arrays.asList( "1.0-SNAPSHOT" ), resolver.listProjectVersions( TEST_REPO_ID, "com.example.test",
|
||||
"missing-metadata", ALL ) );
|
||||
assertEquals( Arrays.asList( "1.0" ), resolver.listProjectVersions( TEST_REPO_ID, "com.example.test",
|
||||
"invalid-pom", ALL ) );
|
||||
|
||||
assertEquals( Arrays.asList( "4", "5-SNAPSHOT" ), resolver.getProjectVersions( TEST_REPO_ID, "org.apache",
|
||||
"apache" ) );
|
||||
assertEquals( Arrays.asList( "4", "5-SNAPSHOT" ), resolver.listProjectVersions( TEST_REPO_ID, "org.apache",
|
||||
"apache", ALL ) );
|
||||
|
||||
assertEquals( Arrays.asList( "1.2.1", "1.2.2" ), resolver.getProjectVersions( TEST_REPO_ID, "org.apache.archiva",
|
||||
"archiva" ) );
|
||||
assertEquals( Arrays.asList( "1.2.1" ), resolver.getProjectVersions( TEST_REPO_ID, "org.apache.archiva",
|
||||
"archiva-base" ) );
|
||||
assertEquals( Arrays.asList( "1.2.1" ), resolver.getProjectVersions( TEST_REPO_ID, "org.apache.archiva",
|
||||
"archiva-common" ) );
|
||||
assertEquals( Arrays.asList( "1.2.1" ), resolver.getProjectVersions( TEST_REPO_ID, "org.apache.archiva",
|
||||
"archiva-modules" ) );
|
||||
assertEquals( Arrays.asList( "3" ), resolver.getProjectVersions( TEST_REPO_ID, "org.apache.archiva",
|
||||
"archiva-parent" ) );
|
||||
assertEquals( Arrays.asList( "1.2.1", "1.2.2" ), resolver.listProjectVersions( TEST_REPO_ID,
|
||||
"org.apache.archiva", "archiva",
|
||||
ALL ) );
|
||||
assertEquals( Arrays.asList( "1.2.1" ), resolver.listProjectVersions( TEST_REPO_ID, "org.apache.archiva",
|
||||
"archiva-base", ALL ) );
|
||||
assertEquals( Arrays.asList( "1.2.1" ), resolver.listProjectVersions( TEST_REPO_ID, "org.apache.archiva",
|
||||
"archiva-common", ALL ) );
|
||||
assertEquals( Arrays.asList( "1.2.1" ), resolver.listProjectVersions( TEST_REPO_ID, "org.apache.archiva",
|
||||
"archiva-modules", ALL ) );
|
||||
assertEquals( Arrays.asList( "3" ), resolver.listProjectVersions( TEST_REPO_ID, "org.apache.archiva",
|
||||
"archiva-parent", ALL ) );
|
||||
|
||||
assertEquals( Collections.<String>emptyList(), resolver.getProjectVersions( TEST_REPO_ID,
|
||||
"org.apache.maven.shared",
|
||||
"maven-downloader" ) );
|
||||
assertEquals( Collections.<String>emptyList(), resolver.listProjectVersions( TEST_REPO_ID,
|
||||
"org.apache.maven.shared",
|
||||
"maven-downloader", ALL ) );
|
||||
}
|
||||
|
||||
public void testGetArtifacts()
|
||||
{
|
||||
List<ArtifactMetadata> artifacts = new ArrayList<ArtifactMetadata>( resolver.getArtifacts( TEST_REPO_ID,
|
||||
"org.codehaus.plexus",
|
||||
"plexus-spring",
|
||||
"1.2" ) );
|
||||
List<ArtifactMetadata> artifacts = new ArrayList<ArtifactMetadata>( resolver.readArtifactsMetadata(
|
||||
TEST_REPO_ID, "org.codehaus.plexus", "plexus-spring", "1.2", ALL ) );
|
||||
assertEquals( 3, artifacts.size() );
|
||||
Collections.sort( artifacts, new Comparator<ArtifactMetadata>()
|
||||
{
|
||||
@ -474,10 +484,8 @@ 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 ) );
|
||||
List<ArtifactMetadata> artifacts = new ArrayList<ArtifactMetadata>( resolver.readArtifactsMetadata(
|
||||
TEST_REPO_ID, "org.codehaus.plexus", "plexus-spring", "1.2", filter ) );
|
||||
assertEquals( 2, artifacts.size() );
|
||||
Collections.sort( artifacts, new Comparator<ArtifactMetadata>()
|
||||
{
|
||||
@ -493,10 +501,8 @@ public int compare( ArtifactMetadata o1, ArtifactMetadata o2 )
|
||||
|
||||
public void testGetArtifactsTimestampedSnapshots()
|
||||
{
|
||||
List<ArtifactMetadata> artifacts = new ArrayList<ArtifactMetadata>( resolver.getArtifacts( TEST_REPO_ID,
|
||||
"com.example.test",
|
||||
"missing-metadata",
|
||||
"1.0-SNAPSHOT" ) );
|
||||
List<ArtifactMetadata> artifacts = new ArrayList<ArtifactMetadata>( resolver.readArtifactsMetadata(
|
||||
TEST_REPO_ID, "com.example.test", "missing-metadata", "1.0-SNAPSHOT", ALL ) );
|
||||
assertEquals( 1, artifacts.size() );
|
||||
|
||||
ArtifactMetadata artifact = artifacts.get( 0 );
|
||||
|
@ -565,7 +565,7 @@ public List<ArtifactMetadata> getArtifactsByChecksum( String repositoryId, Strin
|
||||
return artifacts;
|
||||
}
|
||||
|
||||
public void deleteArtifact( String repoId, String namespace, String project, String version, String id )
|
||||
public void removeArtifact( String repoId, String namespace, String project, String version, String id )
|
||||
{
|
||||
File directory = new File( getDirectory( repoId ), namespace + "/" + project + "/" + version );
|
||||
|
||||
@ -600,7 +600,7 @@ public void deleteArtifact( String repoId, String namespace, String project, Str
|
||||
}
|
||||
}
|
||||
|
||||
public void deleteRepository( String repoId )
|
||||
public void removeRepository( String repoId )
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -589,7 +589,7 @@ public List<ArtifactMetadata> getArtifactsByChecksum( String repositoryId, Strin
|
||||
return artifacts;
|
||||
}
|
||||
|
||||
public void deleteArtifact( String repositoryId, String namespace, String projectId, String projectVersion,
|
||||
public void removeArtifact( String repositoryId, String namespace, String projectId, String projectVersion,
|
||||
String id )
|
||||
throws MetadataRepositoryException
|
||||
{
|
||||
@ -608,7 +608,7 @@ public void deleteArtifact( String repositoryId, String namespace, String projec
|
||||
}
|
||||
}
|
||||
|
||||
public void deleteRepository( String repositoryId )
|
||||
public void removeRepository( String repositoryId )
|
||||
throws MetadataRepositoryException
|
||||
{
|
||||
try
|
||||
|
Loading…
x
Reference in New Issue
Block a user