You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ol...@apache.org on 2013/06/05 15:19:35 UTC
svn commit: r1489849 -
/archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepository.java
Author: olamy
Date: Wed Jun 5 13:19:35 2013
New Revision: 1489849
URL: http://svn.apache.org/r1489849
Log:
fix getNamespaces with sparse depth
Modified:
archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepository.java
Modified: archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepository.java
URL: http://svn.apache.org/viewvc/archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepository.java?rev=1489849&r1=1489848&r2=1489849&view=diff
==============================================================================
--- archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepository.java (original)
+++ archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepository.java Wed Jun 5 13:19:35 2013
@@ -460,7 +460,7 @@ public class CassandraMetadataRepository
{
try
{
- final Set<Namespace> namespaces = new HashSet<Namespace>();
+ final Set<String> namespaces = new HashSet<String>();
namespaceEntityManager.visitAll( new Function<Namespace, Boolean>()
{
@@ -471,23 +471,17 @@ public class CassandraMetadataRepository
if ( namespace != null && namespace.getRepository() != null && StringUtils.equalsIgnoreCase( repoId,
namespace.getRepository().getId() ) )
{
- if ( !StringUtils.contains( namespace.getName(), "." ) )
+ String name = namespace.getName();
+ if ( StringUtils.isNotEmpty( name ) )
{
- namespaces.add( namespace );
+ namespaces.add( StringUtils.substringBefore( name, "." ) );
}
}
return Boolean.TRUE;
}
} );
- List<String> namespaceNames = new ArrayList<String>( namespaces.size() );
-
- for ( Namespace namespace : namespaces )
- {
- namespaceNames.add( namespace.getName() );
- }
-
- return namespaceNames;
+ return namespaces;
}
catch ( PersistenceException e )
{
@@ -501,7 +495,7 @@ public class CassandraMetadataRepository
{
try
{
- final Set<Namespace> namespaces = new HashSet<Namespace>();
+ final Set<String> namespaces = new HashSet<String>();
namespaceEntityManager.visitAll( new Function<Namespace, Boolean>()
{
@@ -517,21 +511,23 @@ public class CassandraMetadataRepository
if ( StringUtils.startsWith( currentNamespace, namespaceId ) && (
StringUtils.length( currentNamespace ) > StringUtils.length( namespaceId ) ) )
{
- namespaces.add( namespace );
+ // store after namespaceId '.' but before next '.'
+ // call org namespace org.apache.maven.shared -> stored apache
+
+ String calledNamespace =
+ StringUtils.endsWith( namespaceId, "." ) ? namespaceId : namespaceId + ".";
+ String storedNamespace = StringUtils.substringAfter( currentNamespace, calledNamespace );
+
+ storedNamespace = StringUtils.substringBefore( storedNamespace, "." );
+
+ namespaces.add( storedNamespace );
}
}
return Boolean.TRUE;
}
} );
- List<String> namespaceNames = new ArrayList<String>( namespaces.size() );
-
- for ( Namespace namespace : namespaces )
- {
- namespaceNames.add( namespace.getName() );
- }
-
- return namespaceNames;
+ return namespaces;
}
catch ( PersistenceException e )
{