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/05/16 14:26:43 UTC
svn commit: r1483318 - in
/archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/jpa:
CassandraMetadataRepository.java model/Namespace.java
Author: olamy
Date: Thu May 16 12:26:42 2013
New Revision: 1483318
URL: http://svn.apache.org/r1483318
Log:
add Namespace.KeyBuilder
Modified:
archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/jpa/CassandraMetadataRepository.java
archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/jpa/model/Namespace.java
Modified: archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/jpa/CassandraMetadataRepository.java
URL: http://svn.apache.org/viewvc/archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/jpa/CassandraMetadataRepository.java?rev=1483318&r1=1483317&r2=1483318&view=diff
==============================================================================
--- archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/jpa/CassandraMetadataRepository.java (original)
+++ archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/jpa/CassandraMetadataRepository.java Thu May 16 12:26:42 2013
@@ -116,7 +116,8 @@ public class CassandraMetadataRepository
this.namespaceEntityManager.put( namespace );
}
// FIXME add a Namespace id builder
- Namespace namespace = namespaceEntityManager.get( namespaceId + "-" + repositoryId );
+ Namespace namespace = namespaceEntityManager.get(
+ new Namespace.KeyBuilder().withNamespace( namespaceId ).withRepositoryId( repositoryId ).build() );
if ( namespace == null )
{
namespace = new Namespace( namespaceId, repository );
@@ -130,7 +131,8 @@ public class CassandraMetadataRepository
public void removeNamespace( String repositoryId, String namespaceId )
throws MetadataRepositoryException
{
- Namespace namespace = namespaceEntityManager.get( namespaceId + "-" + repositoryId );
+ Namespace namespace = namespaceEntityManager.get(
+ new Namespace.KeyBuilder().withNamespace( namespaceId ).withRepositoryId( repositoryId ).build() );
if ( namespace != null )
{
namespaceEntityManager.remove( namespace );
Modified: archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/jpa/model/Namespace.java
URL: http://svn.apache.org/viewvc/archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/jpa/model/Namespace.java?rev=1483318&r1=1483317&r2=1483318&view=diff
==============================================================================
--- archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/jpa/model/Namespace.java (original)
+++ archiva/sandbox/trunk/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/jpa/model/Namespace.java Thu May 16 12:26:42 2013
@@ -64,7 +64,7 @@ public class Namespace
public Namespace( String id, Repository repository )
{
- this.id = id + "-" + repository.getId();
+ this.id = new KeyBuilder().withNamespace( id ).withRepositoryId( repository.getId() ).build();
this.name = id;
this.repository = repository;
}
@@ -151,8 +151,45 @@ public class Namespace
sb.append( "id='" ).append( id ).append( '\'' );
sb.append( ", name='" ).append( name ).append( '\'' );
sb.append( ", repository='" ).append( repository ).append( '\'' );
- //sb.append( ", repository=" ).append( repository );
sb.append( '}' );
return sb.toString();
}
+
+ public static class KeyBuilder
+ {
+
+ private String namespace;
+
+ private String repositoryId;
+
+ public KeyBuilder()
+ {
+
+ }
+
+ public KeyBuilder withNamespace( Namespace namespace )
+ {
+ this.namespace = namespace.getId();
+ this.repositoryId = namespace.getRepository().getId();
+ return this;
+ }
+
+ public KeyBuilder withNamespace( String namespace )
+ {
+ this.namespace = namespace;
+ return this;
+ }
+
+ public KeyBuilder withRepositoryId( String repositoryId )
+ {
+ this.repositoryId = repositoryId;
+ return this;
+ }
+
+ public String build()
+ {
+ // FIXME add some controls
+ return this.namespace + "-" + this.repositoryId;
+ }
+ }
}