You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by bt...@apache.org on 2021/04/23 03:00:06 UTC

[james-project] branch master updated: JAME-3314 Extracts name of default BucketName to Blobstore

This is an automated email from the ASF dual-hosted git repository.

btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git


The following commit(s) were added to refs/heads/master by this push:
     new 03b656c  JAME-3314 Extracts name of default BucketName to Blobstore
03b656c is described below

commit 03b656c16e1a6a5b7b7f658fa5f32ffa46117c41
Author: Jean Helou <jh...@codamens.fr>
AuthorDate: Thu Dec 31 16:56:30 2020 +0100

    JAME-3314 Extracts name of default BucketName to Blobstore
    
    This avoids explicit dependencies on bucket strategy in modules which
    need a bucket.
---
 .../blob-api/src/main/java/org/apache/james/blob/api/BlobStore.java   | 1 +
 .../java/org/apache/james/blob/cassandra/CassandraBlobStoreDAO.java   | 3 ++-
 .../james/server/blob/deduplication/DeDuplicationBlobStore.scala      | 3 +--
 .../apache/james/server/blob/deduplication/PassThroughBlobStore.scala | 2 +-
 .../src/main/java/org/apache/james/modules/BlobMemoryModule.java      | 2 +-
 .../java/org/apache/james/modules/mailbox/CassandraBucketModule.java  | 4 ++--
 6 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/server/blob/blob-api/src/main/java/org/apache/james/blob/api/BlobStore.java b/server/blob/blob-api/src/main/java/org/apache/james/blob/api/BlobStore.java
index e65fc33..3f7cd67 100644
--- a/server/blob/blob-api/src/main/java/org/apache/james/blob/api/BlobStore.java
+++ b/server/blob/blob-api/src/main/java/org/apache/james/blob/api/BlobStore.java
@@ -26,6 +26,7 @@ import org.reactivestreams.Publisher;
 import com.google.common.io.ByteSource;
 
 public interface BlobStore {
+    String DEFAULT_BUCKET_NAME_QUALIFIER = "defaultBucket";
 
     enum StoragePolicy {
         SIZE_BASED,
diff --git a/server/blob/blob-cassandra/src/main/java/org/apache/james/blob/cassandra/CassandraBlobStoreDAO.java b/server/blob/blob-cassandra/src/main/java/org/apache/james/blob/cassandra/CassandraBlobStoreDAO.java
index 5755607..5c0b069 100644
--- a/server/blob/blob-cassandra/src/main/java/org/apache/james/blob/cassandra/CassandraBlobStoreDAO.java
+++ b/server/blob/blob-cassandra/src/main/java/org/apache/james/blob/cassandra/CassandraBlobStoreDAO.java
@@ -32,6 +32,7 @@ import javax.inject.Named;
 import org.apache.commons.lang3.tuple.Pair;
 import org.apache.james.backends.cassandra.init.configuration.CassandraConfiguration;
 import org.apache.james.blob.api.BlobId;
+import org.apache.james.blob.api.BlobStore;
 import org.apache.james.blob.api.BlobStoreDAO;
 import org.apache.james.blob.api.BucketName;
 import org.apache.james.blob.api.ObjectNotFoundException;
@@ -60,7 +61,7 @@ public class CassandraBlobStoreDAO implements BlobStoreDAO {
     public CassandraBlobStoreDAO(CassandraDefaultBucketDAO defaultBucketDAO,
                                  CassandraBucketDAO bucketDAO,
                                  CassandraConfiguration cassandraConfiguration,
-                                 @Named("defaultBucket") BucketName defaultBucket) {
+                                 @Named(BlobStore.DEFAULT_BUCKET_NAME_QUALIFIER) BucketName defaultBucket) {
         this.defaultBucketDAO = defaultBucketDAO;
         this.bucketDAO = bucketDAO;
         this.configuration = cassandraConfiguration;
diff --git a/server/blob/blob-storage-strategy/src/main/scala/org/apache/james/server/blob/deduplication/DeDuplicationBlobStore.scala b/server/blob/blob-storage-strategy/src/main/scala/org/apache/james/server/blob/deduplication/DeDuplicationBlobStore.scala
index f37de9d..618beb4 100644
--- a/server/blob/blob-storage-strategy/src/main/scala/org/apache/james/server/blob/deduplication/DeDuplicationBlobStore.scala
+++ b/server/blob/blob-storage-strategy/src/main/scala/org/apache/james/server/blob/deduplication/DeDuplicationBlobStore.scala
@@ -36,13 +36,12 @@ import reactor.util.function.{Tuple2, Tuples}
 import scala.compat.java8.FunctionConverters._
 
 object DeDuplicationBlobStore {
-  val DEFAULT_BUCKET = "defaultBucket"
   val LAZY_RESOURCE_CLEANUP = false
   val FILE_THRESHOLD = 10000
 }
 
 class DeDuplicationBlobStore @Inject()(blobStoreDAO: BlobStoreDAO,
-                                       @Named("defaultBucket") defaultBucketName: BucketName,
+                                       @Named(BlobStore.DEFAULT_BUCKET_NAME_QUALIFIER) defaultBucketName: BucketName,
                                        blobIdFactory: BlobId.Factory) extends BlobStore {
 
   override def save(bucketName: BucketName, data: Array[Byte], storagePolicy: BlobStore.StoragePolicy): Publisher[BlobId] = {
diff --git a/server/blob/blob-storage-strategy/src/main/scala/org/apache/james/server/blob/deduplication/PassThroughBlobStore.scala b/server/blob/blob-storage-strategy/src/main/scala/org/apache/james/server/blob/deduplication/PassThroughBlobStore.scala
index b4a0f14..6cb73e4 100644
--- a/server/blob/blob-storage-strategy/src/main/scala/org/apache/james/server/blob/deduplication/PassThroughBlobStore.scala
+++ b/server/blob/blob-storage-strategy/src/main/scala/org/apache/james/server/blob/deduplication/PassThroughBlobStore.scala
@@ -30,7 +30,7 @@ import reactor.core.scala.publisher.SMono
 
 
 class PassThroughBlobStore @Inject()(blobStoreDAO: BlobStoreDAO,
-                                     @Named("defaultBucket") defaultBucketName: BucketName,
+                                     @Named(BlobStore.DEFAULT_BUCKET_NAME_QUALIFIER) defaultBucketName: BucketName,
                                      blobIdFactory: BlobId.Factory) extends BlobStore {
 
   override def save(bucketName: BucketName, data: Array[Byte], storagePolicy: BlobStore.StoragePolicy): Publisher[BlobId] = {
diff --git a/server/container/guice/blob/memory/src/main/java/org/apache/james/modules/BlobMemoryModule.java b/server/container/guice/blob/memory/src/main/java/org/apache/james/modules/BlobMemoryModule.java
index fd1c9df..dc36531 100644
--- a/server/container/guice/blob/memory/src/main/java/org/apache/james/modules/BlobMemoryModule.java
+++ b/server/container/guice/blob/memory/src/main/java/org/apache/james/modules/BlobMemoryModule.java
@@ -45,7 +45,7 @@ public class BlobMemoryModule extends AbstractModule {
         bind(BlobStoreDAO.class).to(MemoryBlobStoreDAO.class);
 
         bind(BucketName.class)
-            .annotatedWith(Names.named(DeDuplicationBlobStore.DEFAULT_BUCKET()))
+            .annotatedWith(Names.named(BlobStore.DEFAULT_BUCKET_NAME_QUALIFIER))
             .toInstance(BucketName.DEFAULT);
     }
 }
diff --git a/server/container/guice/cassandra/src/main/java/org/apache/james/modules/mailbox/CassandraBucketModule.java b/server/container/guice/cassandra/src/main/java/org/apache/james/modules/mailbox/CassandraBucketModule.java
index fd52218..29b2eb1 100644
--- a/server/container/guice/cassandra/src/main/java/org/apache/james/modules/mailbox/CassandraBucketModule.java
+++ b/server/container/guice/cassandra/src/main/java/org/apache/james/modules/mailbox/CassandraBucketModule.java
@@ -19,8 +19,8 @@
 
 package org.apache.james.modules.mailbox;
 
+import org.apache.james.blob.api.BlobStore;
 import org.apache.james.blob.api.BucketName;
-import org.apache.james.server.blob.deduplication.DeDuplicationBlobStore;
 
 import com.google.inject.AbstractModule;
 import com.google.inject.name.Names;
@@ -29,7 +29,7 @@ public class CassandraBucketModule extends AbstractModule {
     @Override
     protected void configure() {
         bind(BucketName.class)
-            .annotatedWith(Names.named(DeDuplicationBlobStore.DEFAULT_BUCKET()))
+            .annotatedWith(Names.named(BlobStore.DEFAULT_BUCKET_NAME_QUALIFIER))
             .toInstance(BucketName.DEFAULT);
     }
 }

---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org