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