Author: brett
Date: Sat Nov 28 14:51:55 2009
New Revision: 885100
URL: http://svn.apache.org/viewvc?rev=885100&view=rev
Log:
[MRM-1283] a further slight improvement to performance of on-demand resolution
from storage
Modified:
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/DefaultMetadataResolver.java
Modified:
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/DefaultMetadataResolver.java
URL:
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/DefaultMetadataResolver.java?rev=885100&r1=885099&r2=885100&view=diff
==============================================================================
---
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/DefaultMetadataResolver.java
(original)
+++
archiva/branches/MRM-1025/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/DefaultMetadataResolver.java
Sat Nov 28 14:51:55 2009
@@ -125,8 +125,10 @@
public Collection<String> getNamespaces( String repoId, String namespace )
{
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>( namespaces ) );
+ storageResolver.getNamespaces( repoId, namespace, new
ExcludesFilter<String>( exclusions ) );
if ( storageNamespaces != null && !storageNamespaces.isEmpty() )
{
for ( String n : storageNamespaces )
@@ -142,8 +144,10 @@
public Collection<String> getProjects( String repoId, String namespace )
{
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>( projects ) );
+ storageResolver.getProjects( repoId, namespace, new
ExcludesFilter<String>( exclusions ) );
if ( storageProjects != null && !storageProjects.isEmpty() )
{
for ( String projectId : storageProjects )