mirror of
https://github.com/apache/archiva.git
synced 2025-02-21 01:15:08 +00:00
[MRM-1282] fix some problems with the metadata repository
git-svn-id: https://svn.apache.org/repos/asf/archiva/branches/MRM-1025@884134 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
b6cf0bf5fa
commit
91cb91a8a2
@ -156,6 +156,6 @@ public void addFacet( ProjectVersionFacet mavenProjectFacet )
|
||||
|
||||
public ProjectVersionFacet getFacet( String facetId )
|
||||
{
|
||||
return this.facets.get( facetId );
|
||||
return this.facets != null ? this.facets.get( facetId ) : null;
|
||||
}
|
||||
}
|
||||
|
@ -37,7 +37,8 @@ public class DefaultMetadataResolver
|
||||
|
||||
/**
|
||||
* FIXME: this needs to be configurable based on storage type, and availability of proxy module
|
||||
* ... could be a different type since we need methods to modify the storage metadata
|
||||
* ... could be a different type since we need methods to modify the storage metadata
|
||||
*
|
||||
* @plexus.requirement role-hint="maven2"
|
||||
*/
|
||||
private MetadataResolver storageResolver;
|
||||
@ -48,21 +49,27 @@ public ProjectMetadata getProject( String repoId, String namespace, String proje
|
||||
return metadataRepository.getProject( repoId, namespace, projectId );
|
||||
}
|
||||
|
||||
public ProjectVersionMetadata getProjectVersion( String repoId, String namespace, String projectId, String projectVersion )
|
||||
public ProjectVersionMetadata getProjectVersion( String repoId, String namespace, String projectId,
|
||||
String projectVersion )
|
||||
throws MetadataResolverException
|
||||
{
|
||||
ProjectVersionMetadata metadata = metadataRepository.getProjectVersion( repoId, namespace, projectId, projectVersion );
|
||||
ProjectVersionMetadata metadata =
|
||||
metadataRepository.getProjectVersion( repoId, namespace, projectId, projectVersion );
|
||||
// TODO: do we want to detect changes as well by comparing timestamps? isProjectVersionNewerThan(updated)
|
||||
// in such cases we might also remove/update stale metadata, including adjusting plugin-based facets
|
||||
if ( metadata == null )
|
||||
{
|
||||
metadata = storageResolver.getProjectVersion( repoId, namespace, projectId, projectVersion );
|
||||
metadataRepository.updateProjectVersion( repoId, namespace, projectId, metadata );
|
||||
if ( metadata != null )
|
||||
{
|
||||
metadataRepository.updateProjectVersion( repoId, namespace, projectId, metadata );
|
||||
}
|
||||
}
|
||||
return metadata;
|
||||
}
|
||||
|
||||
public Collection<String> getArtifactVersions( String repoId, String namespace, String projectId, String projectVersion )
|
||||
public Collection<String> getArtifactVersions( String repoId, String namespace, String projectId,
|
||||
String projectVersion )
|
||||
{
|
||||
// TODO: intercept
|
||||
return metadataRepository.getArtifactVersions( repoId, namespace, projectId, projectVersion );
|
||||
|
@ -134,9 +134,9 @@ private Properties readProperties( File directory )
|
||||
return properties;
|
||||
}
|
||||
|
||||
public ProjectMetadata getProject( String repoId, String groupId, String projectId )
|
||||
public ProjectMetadata getProject( String repoId, String namespace, String projectId )
|
||||
{
|
||||
File directory = new File( this.directory, repoId + "/" + projectId );
|
||||
File directory = new File( this.directory, repoId + "/" + namespace + "/" + projectId );
|
||||
|
||||
Properties properties = readProperties( directory );
|
||||
|
||||
@ -146,22 +146,26 @@ public ProjectMetadata getProject( String repoId, String groupId, String project
|
||||
return project;
|
||||
}
|
||||
|
||||
public ProjectVersionMetadata getProjectVersion( String repoId, String groupId, String projectId,
|
||||
public ProjectVersionMetadata getProjectVersion( String repoId, String namespace, String projectId,
|
||||
String projectVersion )
|
||||
{
|
||||
File directory = new File( this.directory, repoId + "/" + projectId + "/" + projectVersion );
|
||||
File directory = new File( this.directory, repoId + "/" + namespace + "/" + projectId + "/" + projectVersion );
|
||||
|
||||
Properties properties = readProperties( directory );
|
||||
|
||||
ProjectVersionMetadata versionMetadata = new ProjectVersionMetadata();
|
||||
versionMetadata.setId( properties.getProperty( "id" ) );
|
||||
String id = properties.getProperty( "id" );
|
||||
ProjectVersionMetadata versionMetadata = null;
|
||||
if ( id != null )
|
||||
{
|
||||
versionMetadata = new ProjectVersionMetadata();
|
||||
versionMetadata.setId( id );
|
||||
}
|
||||
return versionMetadata;
|
||||
}
|
||||
|
||||
public Collection<String> getArtifactVersions( String repoId, String namespace, String projectId,
|
||||
String projectVersion )
|
||||
{
|
||||
File directory = new File( this.directory, repoId + "/" + projectId + "/" + projectVersion );
|
||||
File directory = new File( this.directory, repoId + "/" + namespace + "/" + projectId + "/" + projectVersion );
|
||||
|
||||
Properties properties = readProperties( directory );
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user