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