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;
+        }
+    }
 }


Reply via email to