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 )
{