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

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

commit 05326ae6d651d7a89386689cdab4fa3341000608
Author: Matthieu Baechler <matth...@apache.org>
AuthorDate: Mon Jan 13 14:25:11 2020 +0100

    JAMES-3028 bind CassandraDumbBlobStore to make the product to work
---
 .../apache/james/mailbox/cassandra/mail/utils/GuiceUtils.java | 11 ++++++++++-
 .../org/apache/james/blob/cassandra/CassandraBlobStore.java   |  6 +++++-
 .../apache/james/blob/cassandra/CassandraDumbBlobStore.java   |  3 ++-
 .../james/modules/mailbox/CassandraBlobStoreModule.java       |  7 +++++++
 4 files changed, 24 insertions(+), 3 deletions(-)

diff --git 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/utils/GuiceUtils.java
 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/utils/GuiceUtils.java
index 889b032..e3218c3 100644
--- 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/utils/GuiceUtils.java
+++ 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/utils/GuiceUtils.java
@@ -19,19 +19,24 @@
 
 package org.apache.james.mailbox.cassandra.mail.utils;
 
+import static com.google.inject.Scopes.SINGLETON;
+
 import org.apache.james.backends.cassandra.CassandraCluster;
 import org.apache.james.backends.cassandra.init.CassandraTypesProvider;
 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.BucketName;
 import org.apache.james.blob.api.HashBlobId;
 import org.apache.james.blob.cassandra.CassandraBlobStore;
+import org.apache.james.blob.cassandra.CassandraDumbBlobStore;
 import org.apache.james.mailbox.cassandra.ids.CassandraMessageId;
 import org.apache.james.mailbox.model.MessageId;
 
 import com.datastax.driver.core.Session;
 import com.google.inject.Guice;
 import com.google.inject.Injector;
+import com.google.inject.name.Names;
 import com.google.inject.util.Modules;
 
 public class GuiceUtils {
@@ -49,7 +54,11 @@ public class GuiceUtils {
             Modules.combine(
                 binder -> 
binder.bind(MessageId.Factory.class).toInstance(messageIdFactory),
                 binder -> binder.bind(BlobId.Factory.class).toInstance(new 
HashBlobId.Factory()),
-                binder -> 
binder.bind(BlobStore.class).to(CassandraBlobStore.class),
+                binder -> 
binder.bind(BlobStore.class).to(CassandraBlobStore.class).in(SINGLETON),
+                binder -> 
binder.bind(CassandraDumbBlobStore.class).in(SINGLETON),
+                binder -> binder.bind(BucketName.class)
+                    
.annotatedWith(Names.named(CassandraDumbBlobStore.DEFAULT_BUCKET))
+                    .toInstance(BucketName.DEFAULT),
                 binder -> binder.bind(Session.class).toInstance(session),
                 binder -> 
binder.bind(CassandraTypesProvider.class).toInstance(typesProvider),
                 binder -> 
binder.bind(CassandraConfiguration.class).toInstance(configuration)));
diff --git 
a/server/blob/blob-cassandra/src/main/java/org/apache/james/blob/cassandra/CassandraBlobStore.java
 
b/server/blob/blob-cassandra/src/main/java/org/apache/james/blob/cassandra/CassandraBlobStore.java
index 4a7d876..cccee34 100644
--- 
a/server/blob/blob-cassandra/src/main/java/org/apache/james/blob/cassandra/CassandraBlobStore.java
+++ 
b/server/blob/blob-cassandra/src/main/java/org/apache/james/blob/cassandra/CassandraBlobStore.java
@@ -22,6 +22,7 @@ package org.apache.james.blob.cassandra;
 import java.io.InputStream;
 
 import javax.inject.Inject;
+import javax.inject.Named;
 
 import org.apache.commons.io.IOUtils;
 import 
org.apache.james.backends.cassandra.init.configuration.CassandraConfiguration;
@@ -50,7 +51,10 @@ public class CassandraBlobStore implements BlobStore {
     private final CassandraDumbBlobStore dumbBlobStore;
 
     @Inject
-    CassandraBlobStore(HashBlobId.Factory blobIdFactory, BucketName 
defaultBucketName, CassandraDumbBlobStore dumbBlobStore) {
+    CassandraBlobStore(HashBlobId.Factory blobIdFactory,
+                       @Named(CassandraDumbBlobStore.DEFAULT_BUCKET) 
BucketName defaultBucketName,
+                       CassandraDumbBlobStore dumbBlobStore) {
+
         this.blobIdFactory = blobIdFactory;
         this.defaultBucketName = defaultBucketName;
         this.dumbBlobStore = dumbBlobStore;
diff --git 
a/server/blob/blob-cassandra/src/main/java/org/apache/james/blob/cassandra/CassandraDumbBlobStore.java
 
b/server/blob/blob-cassandra/src/main/java/org/apache/james/blob/cassandra/CassandraDumbBlobStore.java
index 581c4f1..94e2bde 100644
--- 
a/server/blob/blob-cassandra/src/main/java/org/apache/james/blob/cassandra/CassandraDumbBlobStore.java
+++ 
b/server/blob/blob-cassandra/src/main/java/org/apache/james/blob/cassandra/CassandraDumbBlobStore.java
@@ -25,6 +25,7 @@ import java.util.List;
 import java.util.NoSuchElementException;
 
 import javax.inject.Inject;
+import javax.inject.Named;
 
 import org.apache.commons.lang3.tuple.Pair;
 import 
org.apache.james.backends.cassandra.init.configuration.CassandraConfiguration;
@@ -58,7 +59,7 @@ public class CassandraDumbBlobStore implements DumbBlobStore {
     CassandraDumbBlobStore(CassandraDefaultBucketDAO defaultBucketDAO,
                            CassandraBucketDAO bucketDAO,
                            CassandraConfiguration cassandraConfiguration,
-                           BucketName defaultBucket) {
+                           @Named(DEFAULT_BUCKET) BucketName defaultBucket) {
         this.defaultBucketDAO = defaultBucketDAO;
         this.bucketDAO = bucketDAO;
         this.configuration = cassandraConfiguration;
diff --git 
a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraBlobStoreModule.java
 
b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraBlobStoreModule.java
index 8c1d3c5..97f5eb6 100644
--- 
a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraBlobStoreModule.java
+++ 
b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraBlobStoreModule.java
@@ -21,10 +21,12 @@ package org.apache.james.modules.mailbox;
 
 import org.apache.james.backends.cassandra.components.CassandraModule;
 import org.apache.james.blob.api.BlobStore;
+import org.apache.james.blob.api.BucketName;
 import org.apache.james.blob.api.MetricableBlobStore;
 import org.apache.james.blob.cassandra.CassandraBlobModule;
 import org.apache.james.blob.cassandra.CassandraBlobStore;
 import org.apache.james.blob.cassandra.CassandraDefaultBucketDAO;
+import org.apache.james.blob.cassandra.CassandraDumbBlobStore;
 
 import com.google.inject.AbstractModule;
 import com.google.inject.Scopes;
@@ -36,6 +38,11 @@ public class CassandraBlobStoreModule extends AbstractModule 
{
     protected void configure() {
         bind(CassandraDefaultBucketDAO.class).in(Scopes.SINGLETON);
         bind(CassandraBlobStore.class).in(Scopes.SINGLETON);
+        bind(CassandraDumbBlobStore.class).in(Scopes.SINGLETON);
+
+        bind(BucketName.class)
+            .annotatedWith(Names.named(CassandraDumbBlobStore.DEFAULT_BUCKET))
+            .toInstance(BucketName.DEFAULT);
 
         bind(BlobStore.class)
             
.annotatedWith(Names.named(MetricableBlobStore.BLOB_STORE_IMPLEMENTATION))


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to