You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2018/07/26 07:02:19 UTC
[01/27] james-project git commit: upgrade org.testcontainers:mariadb
Repository: james-project
Updated Branches:
refs/heads/master 0271026d6 -> e86b5ae88
upgrade org.testcontainers:mariadb
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/2395e41e
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/2395e41e
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/2395e41e
Branch: refs/heads/master
Commit: 2395e41e3acdb4eb7754558a0e862aa99ed03b2e
Parents: 65a02c5
Author: duc <dt...@linagora.com>
Authored: Wed Jul 25 15:18:08 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Jul 26 13:46:51 2018 +0700
----------------------------------------------------------------------
server/container/guice/jpa-smtp-mariadb/pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/2395e41e/server/container/guice/jpa-smtp-mariadb/pom.xml
----------------------------------------------------------------------
diff --git a/server/container/guice/jpa-smtp-mariadb/pom.xml b/server/container/guice/jpa-smtp-mariadb/pom.xml
index 9135bf3..74ad54c 100644
--- a/server/container/guice/jpa-smtp-mariadb/pom.xml
+++ b/server/container/guice/jpa-smtp-mariadb/pom.xml
@@ -70,7 +70,7 @@
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>mariadb</artifactId>
- <version>1.7.3</version>
+ <version>1.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[20/27] james-project git commit: MAILBOX-342 CassandraModule.Builder
should enforce comments
Posted by bt...@apache.org.
MAILBOX-342 CassandraModule.Builder should enforce comments
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/f6fda76d
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/f6fda76d
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/f6fda76d
Branch: refs/heads/master
Commit: f6fda76d8d6ac7ad4137a2e020cfe446562ee2c4
Parents: 7ad4f42
Author: benwa <bt...@linagora.com>
Authored: Wed Jul 25 10:57:16 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Jul 26 13:47:57 2018 +0700
----------------------------------------------------------------------
.../cassandra/components/CassandraModule.java | 33 ++++++++++++++---
.../backends/cassandra/utils/PaggingTest.java | 1 +
.../cassandra/CassandraEventStoreModule.java | 10 ++---
.../cassandra/modules/CassandraAclModule.java | 20 +++++-----
.../modules/CassandraAnnotationModule.java | 12 +++---
.../modules/CassandraApplicableFlagsModule.java | 12 +++---
.../modules/CassandraAttachmentModule.java | 39 ++++++++++----------
.../modules/CassandraDeletedMessageModule.java | 10 ++---
.../modules/CassandraFirstUnseenModule.java | 10 ++---
.../modules/CassandraMailboxCounterModule.java | 12 +++---
.../modules/CassandraMailboxModule.java | 30 +++++++--------
.../modules/CassandraMailboxRecentsModule.java | 12 +++---
.../modules/CassandraMessageModule.java | 29 +++++++--------
.../modules/CassandraModSeqModule.java | 10 ++---
.../cassandra/modules/CassandraQuotaModule.java | 34 ++++++++---------
.../modules/CassandraRegistrationModule.java | 7 ++--
.../modules/CassandraSubscriptionModule.java | 10 ++---
.../cassandra/modules/CassandraUidModule.java | 10 ++---
.../blob/cassandra/CassandraBlobModule.java | 14 +++----
.../cassandra/CassandraDomainListModule.java | 12 +++---
.../CassandraMailRepositoryUrlModule.java | 12 +++---
.../james/rrt/cassandra/CassandraRRTModule.java | 14 +++----
.../CassandraSieveRepositoryModule.java | 30 +++++++--------
.../CassandraUsersRepositoryModule.java | 11 ++----
.../cassandra/access/CassandraAccessModule.java | 14 +++----
.../CassandraNotificationRegistryModule.java | 14 +++----
.../vacation/CassandraVacationModule.java | 14 +++----
.../CassandraMailRepositoryModule.java | 9 +++--
28 files changed, 232 insertions(+), 213 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/f6fda76d/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/components/CassandraModule.java
----------------------------------------------------------------------
diff --git a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/components/CassandraModule.java b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/components/CassandraModule.java
index 63e2f89..7afb82f 100644
--- a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/components/CassandraModule.java
+++ b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/components/CassandraModule.java
@@ -20,12 +20,14 @@
package org.apache.james.backends.cassandra.components;
import java.util.List;
+import java.util.Optional;
import java.util.function.Function;
-import com.datastax.driver.core.Statement;
import com.datastax.driver.core.schemabuilder.Create;
import com.datastax.driver.core.schemabuilder.CreateType;
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
+import com.google.common.base.Preconditions;
+import com.google.common.base.Strings;
import com.google.common.collect.ImmutableList;
public interface CassandraModule {
@@ -87,17 +89,38 @@ public interface CassandraModule {
class TableBuilder {
private final Builder originalBuilderReference;
private final String tableName;
+ private Optional<String> comment;
+ private Optional<Function<Create.Options, Create.Options>> options;
private TableBuilder(Builder originalBuilderReference, String tableName) {
this.originalBuilderReference = originalBuilderReference;
this.tableName = tableName;
+ comment = Optional.empty();
}
- public Builder statement(Function<Create, Statement> createStatement) {
+ public TableBuilder comment(String comment) {
+ Preconditions.checkArgument(!Strings.isNullOrEmpty(comment), "`comment` can not be null or empty");
+
+ this.comment = Optional.of(comment);
+ return this;
+ }
+
+ public TableBuilder options(Function<Create.Options, Create.Options> options) {
+ this.options = Optional.of(options);
+ return this;
+ }
+
+ public Builder statement(Function<Create, Create> toCreateStatement) {
+ Preconditions.checkState(comment.isPresent(), "`comment` is compulsory");
+
+ Create createStatement = toCreateStatement.apply(
+ SchemaBuilder.createTable(tableName)
+ .ifNotExists());
+
return originalBuilderReference.addTable(
- new CassandraTable(tableName, createStatement.apply(
- SchemaBuilder.createTable(tableName)
- .ifNotExists())));
+ new CassandraTable(tableName,
+ options.orElse(Function.identity())
+ .apply(createStatement.withOptions().comment(comment.get()))));
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/f6fda76d/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/utils/PaggingTest.java
----------------------------------------------------------------------
diff --git a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/utils/PaggingTest.java b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/utils/PaggingTest.java
index 946c338..f9049f9 100644
--- a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/utils/PaggingTest.java
+++ b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/utils/PaggingTest.java
@@ -56,6 +56,7 @@ public class PaggingTest {
@BeforeClass
public static void setUpClass() {
CassandraModule modules = CassandraModule.table(TABLE_NAME)
+ .comment("Testing table")
.statement(statement -> statement
.addPartitionKey(ID, DataType.timeuuid())
.addClusteringColumn(CLUSTERING, DataType.bigint()))
http://git-wip-us.apache.org/repos/asf/james-project/blob/f6fda76d/event-sourcing/event-store-cassandra/src/main/java/org/apache/james/eventsourcing/eventstore/cassandra/CassandraEventStoreModule.java
----------------------------------------------------------------------
diff --git a/event-sourcing/event-store-cassandra/src/main/java/org/apache/james/eventsourcing/eventstore/cassandra/CassandraEventStoreModule.java b/event-sourcing/event-store-cassandra/src/main/java/org/apache/james/eventsourcing/eventstore/cassandra/CassandraEventStoreModule.java
index 194a0d4..17c147a 100644
--- a/event-sourcing/event-store-cassandra/src/main/java/org/apache/james/eventsourcing/eventstore/cassandra/CassandraEventStoreModule.java
+++ b/event-sourcing/event-store-cassandra/src/main/java/org/apache/james/eventsourcing/eventstore/cassandra/CassandraEventStoreModule.java
@@ -27,13 +27,13 @@ import com.datastax.driver.core.schemabuilder.SchemaBuilder;
public interface CassandraEventStoreModule {
CassandraModule MODULE = CassandraModule.table(CassandraEventStoreTable.EVENTS_TABLE)
+ .comment("Store events of a EventSourcing aggregate")
+ .options(options -> options
+ .caching(SchemaBuilder.KeyCaching.ALL,
+ SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
.statement(statement -> statement
.addPartitionKey(CassandraEventStoreTable.AGGREGATE_ID, DataType.varchar())
.addClusteringColumn(CassandraEventStoreTable.EVENT_ID, DataType.cint())
- .addColumn(CassandraEventStoreTable.EVENT, DataType.text())
- .withOptions()
- .comment("Store events of a EventSourcing aggregate")
- .caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
+ .addColumn(CassandraEventStoreTable.EVENT, DataType.text()))
.build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/f6fda76d/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAclModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAclModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAclModule.java
index acb2205..abdecab 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAclModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAclModule.java
@@ -34,23 +34,23 @@ public interface CassandraAclModule {
CassandraModule MODULE = CassandraModule
.builder()
.table(CassandraACLTable.TABLE_NAME)
+ .comment("Holds mailbox ACLs")
+ .options(options -> options
+ .caching(SchemaBuilder.KeyCaching.ALL,
+ SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
.statement(statement -> statement
.addPartitionKey(CassandraACLTable.ID, timeuuid())
.addColumn(CassandraACLTable.ACL, text())
- .addColumn(CassandraACLTable.VERSION, bigint())
- .withOptions()
- .comment("Holds mailbox ACLs")
+ .addColumn(CassandraACLTable.VERSION, bigint()))
+ .table(CassandraUserMailboxRightsTable.TABLE_NAME)
+ .comment("Denormalisation table. Allow to retrieve non personal mailboxIds a user has right on")
+ .options(options -> options
+ .compactionOptions(SchemaBuilder.leveledStrategy())
.caching(SchemaBuilder.KeyCaching.ALL,
SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
- .table(CassandraUserMailboxRightsTable.TABLE_NAME)
.statement(statement -> statement
.addPartitionKey(CassandraUserMailboxRightsTable.USER_NAME, text())
.addClusteringColumn(CassandraUserMailboxRightsTable.MAILBOX_ID, timeuuid())
- .addColumn(CassandraUserMailboxRightsTable.RIGHTS, text())
- .withOptions()
- .compactionOptions(SchemaBuilder.leveledStrategy())
- .caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION))
- .comment("Denormalisation table. Allow to retrieve non personal mailboxIds a user has right on"))
+ .addColumn(CassandraUserMailboxRightsTable.RIGHTS, text()))
.build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/f6fda76d/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAnnotationModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAnnotationModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAnnotationModule.java
index 88ccdab..fdd1a52 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAnnotationModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAnnotationModule.java
@@ -30,14 +30,14 @@ import com.datastax.driver.core.schemabuilder.SchemaBuilder;
public interface CassandraAnnotationModule {
CassandraModule MODULE = CassandraModule.table(CassandraAnnotationTable.TABLE_NAME)
- .statement(statement -> statement
- .addPartitionKey(CassandraAnnotationTable.MAILBOX_ID, timeuuid())
- .addClusteringColumn(CassandraAnnotationTable.KEY, text())
- .addColumn(CassandraAnnotationTable.VALUE, text())
- .withOptions()
- .comment("Holds Cassandra mailbox annotations")
+ .comment("Holds Cassandra mailbox annotations")
+ .options(options -> options
.compactionOptions(SchemaBuilder.leveledStrategy())
.caching(SchemaBuilder.KeyCaching.ALL,
SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
+ .statement(statement -> statement
+ .addPartitionKey(CassandraAnnotationTable.MAILBOX_ID, timeuuid())
+ .addClusteringColumn(CassandraAnnotationTable.KEY, text())
+ .addColumn(CassandraAnnotationTable.VALUE, text()))
.build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/f6fda76d/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraApplicableFlagsModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraApplicableFlagsModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraApplicableFlagsModule.java
index 9dc2721..afc7470 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraApplicableFlagsModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraApplicableFlagsModule.java
@@ -32,14 +32,14 @@ import com.datastax.driver.core.schemabuilder.SchemaBuilder;
public interface CassandraApplicableFlagsModule {
CassandraModule MODULE = CassandraModule.table(CassandraApplicableFlagTable.TABLE_NAME)
- .statement(statement -> statement
- .addPartitionKey(CassandraApplicableFlagTable.MAILBOX_ID, timeuuid())
- .addColumn(Flag.USER_FLAGS, set(text()))
- .withOptions()
- .comment("Holds flags being used on specific mailboxes. As system flags are implicit, this table " +
- "stores user flags.")
+ .comment("Holds flags being used on specific mailboxes. As system flags are implicit, this table " +
+ "stores user flags.")
+ .options(options -> options
.compactionOptions(SchemaBuilder.leveledStrategy())
.caching(SchemaBuilder.KeyCaching.ALL,
SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
+ .statement(statement -> statement
+ .addPartitionKey(CassandraApplicableFlagTable.MAILBOX_ID, timeuuid())
+ .addColumn(Flag.USER_FLAGS, set(text())))
.build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/f6fda76d/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAttachmentModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAttachmentModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAttachmentModule.java
index 8a94f1d..4699cae 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAttachmentModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAttachmentModule.java
@@ -36,44 +36,43 @@ import com.datastax.driver.core.schemabuilder.SchemaBuilder;
public interface CassandraAttachmentModule {
CassandraModule MODULE = CassandraModule.table(CassandraAttachmentTable.TABLE_NAME)
+ .comment("Holds attachment for fast attachment retrieval")
.statement(statement -> statement
.addPartitionKey(CassandraAttachmentTable.ID, text())
.addColumn(CassandraAttachmentTable.PAYLOAD, blob())
.addColumn(CassandraAttachmentTable.TYPE, text())
- .addColumn(CassandraAttachmentTable.SIZE, bigint())
- .withOptions()
- .comment("Holds attachment for fast attachment retrieval"))
+ .addColumn(CassandraAttachmentTable.SIZE, bigint()))
.table(CassandraAttachmentV2Table.TABLE_NAME)
+ .comment("Holds attachment for fast attachment retrieval. Content of messages is stored" +
+ "in `blobs` and `blobparts` tables.")
+ .options(options -> options
+ .compactionOptions(SchemaBuilder.leveledStrategy())
+ .caching(SchemaBuilder.KeyCaching.ALL,
+ SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
.statement(statement -> statement
.addPartitionKey(CassandraAttachmentV2Table.ID_AS_UUID, uuid())
.addColumn(CassandraAttachmentV2Table.ID, text())
.addColumn(CassandraAttachmentV2Table.BLOB_ID, text())
.addColumn(CassandraAttachmentV2Table.TYPE, text())
- .addColumn(CassandraAttachmentV2Table.SIZE, bigint())
- .withOptions()
+ .addColumn(CassandraAttachmentV2Table.SIZE, bigint()))
+ .table(CassandraAttachmentMessageIdTable.TABLE_NAME)
+ .comment("Holds ids of messages owning the attachment")
+ .options(options -> options
.compactionOptions(SchemaBuilder.leveledStrategy())
.caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION))
- .comment("Holds attachment for fast attachment retrieval. Content of messages is stored" +
- "in `blobs` and `blobparts` tables."))
- .table(CassandraAttachmentMessageIdTable.TABLE_NAME)
+ SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
.statement(statement -> statement
.addPartitionKey(CassandraAttachmentMessageIdTable.ATTACHMENT_ID_AS_UUID, uuid())
.addColumn(CassandraAttachmentMessageIdTable.ATTACHMENT_ID, text())
- .addClusteringColumn(CassandraAttachmentMessageIdTable.MESSAGE_ID, text())
- .withOptions()
+ .addClusteringColumn(CassandraAttachmentMessageIdTable.MESSAGE_ID, text()))
+ .table(CassandraAttachmentOwnerTable.TABLE_NAME)
+ .comment("Holds explicit owners of some attachments")
+ .options(options -> options
.compactionOptions(SchemaBuilder.leveledStrategy())
.caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION))
- .comment("Holds ids of messages owning the attachment"))
- .table(CassandraAttachmentOwnerTable.TABLE_NAME)
+ SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
.statement(statement -> statement
.addPartitionKey(CassandraAttachmentOwnerTable.ID, uuid())
- .addClusteringColumn(CassandraAttachmentOwnerTable.OWNER, text())
- .withOptions()
- .compactionOptions(SchemaBuilder.leveledStrategy())
- .caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION))
- .comment("Holds explicit owners of some attachments"))
+ .addClusteringColumn(CassandraAttachmentOwnerTable.OWNER, text()))
.build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/f6fda76d/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraDeletedMessageModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraDeletedMessageModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraDeletedMessageModule.java
index 4997417..2bd334b 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraDeletedMessageModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraDeletedMessageModule.java
@@ -31,13 +31,13 @@ import com.datastax.driver.core.schemabuilder.SchemaBuilder;
public interface CassandraDeletedMessageModule {
CassandraModule MODULE = CassandraModule.table(TABLE_NAME)
- .statement(statement -> statement
- .addPartitionKey(MAILBOX_ID, DataType.timeuuid())
- .addClusteringColumn(UID, DataType.bigint())
- .withOptions()
- .comment("Denormalisation table. Allows to retrieve UID marked as DELETED in specific mailboxes.")
+ .comment("Denormalisation table. Allows to retrieve UID marked as DELETED in specific mailboxes.")
+ .options(options -> options
.compactionOptions(SchemaBuilder.leveledStrategy())
.caching(SchemaBuilder.KeyCaching.ALL,
SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
+ .statement(statement -> statement
+ .addPartitionKey(MAILBOX_ID, DataType.timeuuid())
+ .addClusteringColumn(UID, DataType.bigint()))
.build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/f6fda76d/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraFirstUnseenModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraFirstUnseenModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraFirstUnseenModule.java
index 75c1595..ec4a844 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraFirstUnseenModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraFirstUnseenModule.java
@@ -28,14 +28,14 @@ import com.datastax.driver.core.schemabuilder.SchemaBuilder;
public interface CassandraFirstUnseenModule {
CassandraModule MODULE = CassandraModule.table(CassandraFirstUnseenTable.TABLE_NAME)
- .statement(statement -> statement
- .addPartitionKey(CassandraFirstUnseenTable.MAILBOX_ID, DataType.timeuuid())
- .addClusteringColumn(CassandraFirstUnseenTable.UID, DataType.bigint())
- .withOptions()
- .comment("Denormalisation table. Allow to quickly retrieve the first UNSEEN UID of a specific mailbox.")
+ .comment("Denormalisation table. Allow to quickly retrieve the first UNSEEN UID of a specific mailbox.")
+ .options(options -> options
.compactionOptions(SchemaBuilder.leveledStrategy())
.caching(SchemaBuilder.KeyCaching.ALL,
SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION))
.clusteringOrder(CassandraFirstUnseenTable.UID, SchemaBuilder.Direction.ASC))
+ .statement(statement -> statement
+ .addPartitionKey(CassandraFirstUnseenTable.MAILBOX_ID, DataType.timeuuid())
+ .addClusteringColumn(CassandraFirstUnseenTable.UID, DataType.bigint()))
.build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/f6fda76d/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxCounterModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxCounterModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxCounterModule.java
index 46d3798..74661c2 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxCounterModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxCounterModule.java
@@ -30,14 +30,14 @@ import com.datastax.driver.core.schemabuilder.SchemaBuilder;
public interface CassandraMailboxCounterModule {
CassandraModule MODULE = CassandraModule.table(CassandraMailboxCountersTable.TABLE_NAME)
- .statement(statement -> statement
- .addPartitionKey(CassandraMailboxCountersTable.MAILBOX_ID, timeuuid())
- .addColumn(CassandraMailboxCountersTable.COUNT, counter())
- .addColumn(CassandraMailboxCountersTable.UNSEEN, counter())
- .withOptions()
- .comment("Holds messages count and unseen message count for each mailbox.")
+ .comment("Holds messages count and unseen message count for each mailbox.")
+ .options(options -> options
.compactionOptions(SchemaBuilder.leveledStrategy())
.caching(SchemaBuilder.KeyCaching.ALL,
SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
+ .statement(statement -> statement
+ .addPartitionKey(CassandraMailboxCountersTable.MAILBOX_ID, timeuuid())
+ .addColumn(CassandraMailboxCountersTable.COUNT, counter())
+ .addColumn(CassandraMailboxCountersTable.UNSEEN, counter()))
.build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/f6fda76d/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxModule.java
index 5e4e663..d4341aa 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxModule.java
@@ -38,35 +38,35 @@ public interface CassandraMailboxModule {
.addColumn(CassandraMailboxTable.MailboxBase.NAMESPACE, text())
.addColumn(CassandraMailboxTable.MailboxBase.USER, text()))
.table(CassandraMailboxTable.TABLE_NAME)
+ .comment("Holds the mailboxes information.")
+ .options(options -> options
+ .caching(SchemaBuilder.KeyCaching.ALL,
+ SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
.statement(statement -> statement
.addPartitionKey(CassandraMailboxTable.ID, timeuuid())
.addUDTColumn(CassandraMailboxTable.MAILBOX_BASE, SchemaBuilder.frozen(CassandraMailboxTable.MAILBOX_BASE))
.addColumn(CassandraMailboxTable.NAME, text())
- .addColumn(CassandraMailboxTable.UIDVALIDITY, bigint())
- .withOptions()
- .comment("Holds the mailboxes information.")
+ .addColumn(CassandraMailboxTable.UIDVALIDITY, bigint()))
+ .table(CassandraMailboxPathTable.TABLE_NAME)
+ .comment("Denormalisation table. Allow to retrieve mailboxes belonging to a certain user. This is a " +
+ "LIST optimisation.")
+ .options(options -> options
.caching(SchemaBuilder.KeyCaching.ALL,
SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
- .table(CassandraMailboxPathTable.TABLE_NAME)
.statement(statement -> statement
.addUDTPartitionKey(CassandraMailboxPathTable.NAMESPACE_AND_USER, SchemaBuilder.frozen(CassandraMailboxTable.MAILBOX_BASE))
.addClusteringColumn(CassandraMailboxPathTable.MAILBOX_NAME, text())
- .addColumn(CassandraMailboxPathTable.MAILBOX_ID, timeuuid())
- .withOptions()
- .comment("Denormalisation table. Allow to retrieve mailboxes belonging to a certain user. This is a " +
- "LIST optimisation.")
+ .addColumn(CassandraMailboxPathTable.MAILBOX_ID, timeuuid()))
+ .table(CassandraMailboxPathV2Table.TABLE_NAME)
+ .comment("Denormalisation table. Allow to retrieve mailboxes belonging to a certain user. This is a " +
+ "LIST optimisation.")
+ .options(options -> options
.caching(SchemaBuilder.KeyCaching.ALL,
SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
- .table(CassandraMailboxPathV2Table.TABLE_NAME)
.statement(statement -> statement
.addPartitionKey(CassandraMailboxPathV2Table.NAMESPACE, text())
.addPartitionKey(CassandraMailboxPathV2Table.USER, text())
.addClusteringColumn(CassandraMailboxPathV2Table.MAILBOX_NAME, text())
- .addColumn(CassandraMailboxPathV2Table.MAILBOX_ID, timeuuid())
- .withOptions()
- .comment("Denormalisation table. Allow to retrieve mailboxes belonging to a certain user. This is a " +
- "LIST optimisation.")
- .caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
+ .addColumn(CassandraMailboxPathV2Table.MAILBOX_ID, timeuuid()))
.build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/f6fda76d/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxRecentsModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxRecentsModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxRecentsModule.java
index b79082c..c81f4d0 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxRecentsModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxRecentsModule.java
@@ -30,14 +30,14 @@ import com.datastax.driver.core.schemabuilder.SchemaBuilder;
public interface CassandraMailboxRecentsModule {
CassandraModule MODULE = CassandraModule.table(CassandraMailboxRecentsTable.TABLE_NAME)
- .statement(statement -> statement
- .addPartitionKey(CassandraMailboxRecentsTable.MAILBOX_ID, timeuuid())
- .addClusteringColumn(CassandraMailboxRecentsTable.RECENT_MESSAGE_UID, bigint())
- .withOptions()
- .comment("Denormalisation table. This table holds for each mailbox the messages marked as RECENT. This" +
- " is a SELECT optimisation.")
+ .comment("Denormalisation table. This table holds for each mailbox the messages marked as RECENT. This" +
+ " is a SELECT optimisation.")
+ .options(options -> options
.compactionOptions(SchemaBuilder.leveledStrategy())
.caching(SchemaBuilder.KeyCaching.ALL,
SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
+ .statement(statement -> statement
+ .addPartitionKey(CassandraMailboxRecentsTable.MAILBOX_ID, timeuuid())
+ .addClusteringColumn(CassandraMailboxRecentsTable.RECENT_MESSAGE_UID, bigint()))
.build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/f6fda76d/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMessageModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMessageModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMessageModule.java
index da6dfb0..f3193f5 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMessageModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMessageModule.java
@@ -43,6 +43,11 @@ public interface CassandraMessageModule {
CassandraModule MODULE = CassandraModule.builder()
.table(CassandraMessageIdTable.TABLE_NAME)
+ .comment("Holds mailbox and flags for each message, lookup by mailbox ID + UID")
+ .options(options -> options
+ .compactionOptions(SchemaBuilder.leveledStrategy())
+ .caching(SchemaBuilder.KeyCaching.ALL,
+ SchemaBuilder.rows(CACHED_MESSAGE_ID_ROWS)))
.statement(statement -> statement
.addPartitionKey(CassandraMessageIds.MAILBOX_ID, timeuuid())
.addClusteringColumn(CassandraMessageIds.IMAP_UID, bigint())
@@ -55,13 +60,13 @@ public interface CassandraMessageModule {
.addColumn(Flag.RECENT, cboolean())
.addColumn(Flag.SEEN, cboolean())
.addColumn(Flag.USER, cboolean())
- .addColumn(Flag.USER_FLAGS, set(text()))
- .withOptions()
- .comment("Holds mailbox and flags for each message, lookup by mailbox ID + UID")
+ .addColumn(Flag.USER_FLAGS, set(text())))
+ .table(MessageIdToImapUid.TABLE_NAME)
+ .comment("Holds mailbox and flags for each message, lookup by message ID")
+ .options(options -> options
.compactionOptions(SchemaBuilder.leveledStrategy())
.caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CACHED_MESSAGE_ID_ROWS)))
- .table(MessageIdToImapUid.TABLE_NAME)
+ SchemaBuilder.rows(CACHED_IMAP_UID_ROWS)))
.statement(statement -> statement
.addPartitionKey(CassandraMessageIds.MESSAGE_ID, timeuuid())
.addClusteringColumn(CassandraMessageIds.MAILBOX_ID, timeuuid())
@@ -74,13 +79,10 @@ public interface CassandraMessageModule {
.addColumn(Flag.RECENT, cboolean())
.addColumn(Flag.SEEN, cboolean())
.addColumn(Flag.USER, cboolean())
- .addColumn(Flag.USER_FLAGS, set(text()))
- .withOptions()
- .comment("Holds mailbox and flags for each message, lookup by message ID")
- .compactionOptions(SchemaBuilder.leveledStrategy())
- .caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CACHED_IMAP_UID_ROWS)))
+ .addColumn(Flag.USER_FLAGS, set(text())))
.table(CassandraMessageV2Table.TABLE_NAME)
+ .comment("Holds message metadata, independently of any mailboxes. Content of messages is stored " +
+ "in `blobs` and `blobparts` tables.")
.statement(statement -> statement
.addPartitionKey(CassandraMessageIds.MESSAGE_ID, timeuuid())
.addColumn(CassandraMessageV2Table.INTERNAL_DATE, timestamp())
@@ -91,10 +93,7 @@ public interface CassandraMessageModule {
.addColumn(CassandraMessageV2Table.BODY_CONTENT, text())
.addColumn(CassandraMessageV2Table.HEADER_CONTENT, text())
.addUDTListColumn(CassandraMessageV2Table.ATTACHMENTS, SchemaBuilder.frozen(CassandraMessageV2Table.ATTACHMENTS))
- .addUDTListColumn(CassandraMessageV2Table.PROPERTIES, SchemaBuilder.frozen(CassandraMessageV2Table.PROPERTIES))
- .withOptions()
- .comment("Holds message metadata, independently of any mailboxes. Content of messages is stored " +
- "in `blobs` and `blobparts` tables."))
+ .addUDTListColumn(CassandraMessageV2Table.PROPERTIES, SchemaBuilder.frozen(CassandraMessageV2Table.PROPERTIES)))
.type(CassandraMessageV2Table.PROPERTIES)
.statement(statement -> statement
.addColumn(CassandraMessageV2Table.Properties.NAMESPACE, text())
http://git-wip-us.apache.org/repos/asf/james-project/blob/f6fda76d/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraModSeqModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraModSeqModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraModSeqModule.java
index b8cd359..459a03a 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraModSeqModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraModSeqModule.java
@@ -30,13 +30,13 @@ import com.datastax.driver.core.schemabuilder.SchemaBuilder;
public interface CassandraModSeqModule {
CassandraModule MODULE = CassandraModule.table(CassandraMessageModseqTable.TABLE_NAME)
- .statement(statement -> statement
- .addPartitionKey(CassandraMessageModseqTable.MAILBOX_ID, timeuuid())
- .addColumn(CassandraMessageModseqTable.NEXT_MODSEQ, bigint())
- .withOptions()
- .comment("Holds and is used to generate MODSEQ. A monotic counter is implemented on top of this table.")
+ .comment("Holds and is used to generate MODSEQ. A monotic counter is implemented on top of this table.")
+ .options(options -> options
.compactionOptions(SchemaBuilder.leveledStrategy())
.caching(SchemaBuilder.KeyCaching.ALL,
SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
+ .statement(statement -> statement
+ .addPartitionKey(CassandraMessageModseqTable.MAILBOX_ID, timeuuid())
+ .addColumn(CassandraMessageModseqTable.NEXT_MODSEQ, bigint()))
.build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/f6fda76d/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraQuotaModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraQuotaModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraQuotaModule.java
index 59b8bd0..c6c0893 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraQuotaModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraQuotaModule.java
@@ -35,39 +35,39 @@ import com.datastax.driver.core.schemabuilder.SchemaBuilder;
public interface CassandraQuotaModule {
CassandraModule MODULE = CassandraModule.builder()
.table(CassandraCurrentQuota.TABLE_NAME)
+ .comment("Holds per quota-root current values. Quota-roots defines groups of mailboxes which shares quotas limitations.")
+ .options(options -> options
+ .caching(SchemaBuilder.KeyCaching.ALL,
+ SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
.statement(statement -> statement
.addPartitionKey(CassandraCurrentQuota.QUOTA_ROOT, text())
.addColumn(CassandraCurrentQuota.MESSAGE_COUNT, counter())
- .addColumn(CassandraCurrentQuota.STORAGE, counter())
- .withOptions()
- .comment("Holds per quota-root current values. Quota-roots defines groups of mailboxes which shares quotas limitations.")
+ .addColumn(CassandraCurrentQuota.STORAGE, counter()))
+ .table(CassandraMaxQuota.TABLE_NAME)
+ .comment("Holds per quota-root limitations. Limitations can concern the number of messages in a quota-root or the total size of a quota-root.")
+ .options(options -> options
.caching(SchemaBuilder.KeyCaching.ALL,
SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
- .table(CassandraMaxQuota.TABLE_NAME)
.statement(statement -> statement
.addPartitionKey(CassandraMaxQuota.QUOTA_ROOT, text())
.addColumn(CassandraMaxQuota.MESSAGE_COUNT, bigint())
- .addColumn(CassandraMaxQuota.STORAGE, bigint())
- .withOptions()
- .comment("Holds per quota-root limitations. Limitations can concern the number of messages in a quota-root or the total size of a quota-root.")
+ .addColumn(CassandraMaxQuota.STORAGE, bigint()))
+ .table(CassandraDomainMaxQuota.TABLE_NAME)
+ .comment("Holds per domain limitations. Limitations can concern the number of messages in a quota-root or the total size of a quota-root.")
+ .options(options -> options
.caching(SchemaBuilder.KeyCaching.ALL,
SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
- .table(CassandraDomainMaxQuota.TABLE_NAME)
.statement(statement -> statement
.addPartitionKey(CassandraDomainMaxQuota.DOMAIN, text())
.addColumn(CassandraDomainMaxQuota.MESSAGE_COUNT, bigint())
- .addColumn(CassandraDomainMaxQuota.STORAGE, bigint())
- .withOptions()
- .comment("Holds per domain limitations. Limitations can concern the number of messages in a quota-root or the total size of a quota-root.")
+ .addColumn(CassandraDomainMaxQuota.STORAGE, bigint()))
+ .table(CassandraGlobalMaxQuota.TABLE_NAME)
+ .comment("Holds defaults limitations definition.")
+ .options(options -> options
.caching(SchemaBuilder.KeyCaching.ALL,
SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
- .table(CassandraGlobalMaxQuota.TABLE_NAME)
.statement(statement -> statement
.addPartitionKey(CassandraGlobalMaxQuota.TYPE, text())
- .addColumn(CassandraGlobalMaxQuota.VALUE, bigint())
- .withOptions()
- .comment("Holds defaults limitations definition.")
- .caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
+ .addColumn(CassandraGlobalMaxQuota.VALUE, bigint()))
.build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/f6fda76d/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraRegistrationModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraRegistrationModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraRegistrationModule.java
index 94997c1..2f39dfb 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraRegistrationModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraRegistrationModule.java
@@ -34,10 +34,11 @@ public interface CassandraRegistrationModule {
.addColumn(CassandraMailboxPathRegisterTable.MailboxPath.NAME, text())
.addColumn(CassandraMailboxPathRegisterTable.MailboxPath.USER, text()))
.table(CassandraMailboxPathRegisterTable.TABLE_NAME)
+ .comment("Holds node mailboxPath registration for distributed events")
+ .options(options -> options
+ .compactionOptions(SchemaBuilder.dateTieredStrategy()))
.statement(statement -> statement
.addUDTPartitionKey(CassandraMailboxPathRegisterTable.MAILBOX_PATH, SchemaBuilder.frozen(CassandraMailboxPathRegisterTable.MAILBOX_PATH))
- .addClusteringColumn(CassandraMailboxPathRegisterTable.TOPIC, text())
- .withOptions()
- .compactionOptions(SchemaBuilder.dateTieredStrategy()))
+ .addClusteringColumn(CassandraMailboxPathRegisterTable.TOPIC, text()))
.build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/f6fda76d/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraSubscriptionModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraSubscriptionModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraSubscriptionModule.java
index e35e373..eb3cb8b 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraSubscriptionModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraSubscriptionModule.java
@@ -31,12 +31,12 @@ public interface CassandraSubscriptionModule {
int PER_USER_CACHED_SUBSCRIPTIONS = 100;
CassandraModule MODULE = CassandraModule.table(CassandraSubscriptionTable.TABLE_NAME)
- .statement(statement -> statement
- .addPartitionKey(CassandraSubscriptionTable.USER, text())
- .addClusteringColumn(CassandraSubscriptionTable.MAILBOX, text())
- .withOptions()
- .comment("Holds per user list of IMAP subscriptions")
+ .comment("Holds per user list of IMAP subscriptions")
+ .options(options -> options
.caching(SchemaBuilder.KeyCaching.ALL,
SchemaBuilder.rows(PER_USER_CACHED_SUBSCRIPTIONS)))
+ .statement(statement -> statement
+ .addPartitionKey(CassandraSubscriptionTable.USER, text())
+ .addClusteringColumn(CassandraSubscriptionTable.MAILBOX, text()))
.build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/f6fda76d/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraUidModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraUidModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraUidModule.java
index efa3bce..614f10d 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraUidModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraUidModule.java
@@ -30,13 +30,13 @@ import com.datastax.driver.core.schemabuilder.SchemaBuilder;
public interface CassandraUidModule {
CassandraModule MODULE = CassandraModule.table(CassandraMessageUidTable.TABLE_NAME)
- .statement(statement -> statement
- .addPartitionKey(CassandraMessageUidTable.MAILBOX_ID, timeuuid())
- .addColumn(CassandraMessageUidTable.NEXT_UID, bigint())
- .withOptions()
- .comment("Holds and is used to generate UID. A monotic counter is implemented on top of this table.")
+ .comment("Holds and is used to generate UID. A monotic counter is implemented on top of this table.")
+ .options(options -> options
.compactionOptions(SchemaBuilder.leveledStrategy())
.caching(SchemaBuilder.KeyCaching.ALL,
SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
+ .statement(statement -> statement
+ .addPartitionKey(CassandraMessageUidTable.MAILBOX_ID, timeuuid())
+ .addColumn(CassandraMessageUidTable.NEXT_UID, bigint()))
.build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/f6fda76d/server/blob/blob-cassandra/src/main/java/org/apache/james/blob/cassandra/CassandraBlobModule.java
----------------------------------------------------------------------
diff --git a/server/blob/blob-cassandra/src/main/java/org/apache/james/blob/cassandra/CassandraBlobModule.java b/server/blob/blob-cassandra/src/main/java/org/apache/james/blob/cassandra/CassandraBlobModule.java
index fb3623a..df2424e 100644
--- a/server/blob/blob-cassandra/src/main/java/org/apache/james/blob/cassandra/CassandraBlobModule.java
+++ b/server/blob/blob-cassandra/src/main/java/org/apache/james/blob/cassandra/CassandraBlobModule.java
@@ -27,19 +27,17 @@ public interface CassandraBlobModule {
CassandraModule MODULE = CassandraModule
.builder()
.table(BlobTable.BlobParts.TABLE_NAME)
+ .comment("Holds blob parts composing blobs ." +
+ "Messages` headers and bodies are stored, chunked in blobparts.")
.statement(statement -> statement
.addPartitionKey(BlobTable.ID, DataType.text())
.addClusteringColumn(BlobTable.BlobParts.CHUNK_NUMBER, DataType.cint())
- .addColumn(BlobTable.BlobParts.DATA, DataType.blob())
- .withOptions()
- .comment("Holds blob parts composing blobs ." +
- "Messages` headers and bodies are stored, chunked in blobparts."))
+ .addColumn(BlobTable.BlobParts.DATA, DataType.blob()))
.table(BlobTable.TABLE_NAME)
+ .comment("Holds information for retrieving all blob parts composing this blob. " +
+ "Messages` headers and bodies are stored as blobparts.")
.statement(statement -> statement
.addPartitionKey(BlobTable.ID, DataType.text())
- .addClusteringColumn(BlobTable.NUMBER_OF_CHUNK, DataType.cint())
- .withOptions()
- .comment("Holds information for retrieving all blob parts composing this blob. " +
- "Messages` headers and bodies are stored as blobparts."))
+ .addClusteringColumn(BlobTable.NUMBER_OF_CHUNK, DataType.cint()))
.build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/f6fda76d/server/data/data-cassandra/src/main/java/org/apache/james/domainlist/cassandra/CassandraDomainListModule.java
----------------------------------------------------------------------
diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/domainlist/cassandra/CassandraDomainListModule.java b/server/data/data-cassandra/src/main/java/org/apache/james/domainlist/cassandra/CassandraDomainListModule.java
index 8d05add..e435a13 100644
--- a/server/data/data-cassandra/src/main/java/org/apache/james/domainlist/cassandra/CassandraDomainListModule.java
+++ b/server/data/data-cassandra/src/main/java/org/apache/james/domainlist/cassandra/CassandraDomainListModule.java
@@ -27,13 +27,13 @@ import org.apache.james.domainlist.cassandra.tables.CassandraDomainsTable;
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
-public class CassandraDomainListModule {
- public static final CassandraModule MODULE = CassandraModule.table(CassandraDomainsTable.TABLE_NAME)
- .statement(statement -> statement
- .addPartitionKey(CassandraDomainsTable.DOMAIN, text())
- .withOptions()
- .comment("Holds domains this James server is operating on.")
+public interface CassandraDomainListModule {
+ CassandraModule MODULE = CassandraModule.table(CassandraDomainsTable.TABLE_NAME)
+ .comment("Holds domains this James server is operating on.")
+ .options(options -> options
.caching(SchemaBuilder.KeyCaching.ALL,
SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
+ .statement(statement -> statement
+ .addPartitionKey(CassandraDomainsTable.DOMAIN, text()))
.build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/f6fda76d/server/data/data-cassandra/src/main/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryUrlModule.java
----------------------------------------------------------------------
diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryUrlModule.java b/server/data/data-cassandra/src/main/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryUrlModule.java
index 7523451..6d7b17b 100644
--- a/server/data/data-cassandra/src/main/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryUrlModule.java
+++ b/server/data/data-cassandra/src/main/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryUrlModule.java
@@ -26,13 +26,13 @@ import org.apache.james.backends.cassandra.utils.CassandraConstants;
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
-public class CassandraMailRepositoryUrlModule {
- public static final CassandraModule MODULE = CassandraModule.table(UrlsTable.TABLE_NAME)
- .statement(statement -> statement
- .addPartitionKey(UrlsTable.URL, text())
- .withOptions()
- .comment("Holds the list of available mail repository")
+public interface CassandraMailRepositoryUrlModule {
+ CassandraModule MODULE = CassandraModule.table(UrlsTable.TABLE_NAME)
+ .comment("Holds the list of available mail repository")
+ .options(options -> options
.caching(SchemaBuilder.KeyCaching.ALL,
SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
+ .statement(statement -> statement
+ .addPartitionKey(UrlsTable.URL, text()))
.build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/f6fda76d/server/data/data-cassandra/src/main/java/org/apache/james/rrt/cassandra/CassandraRRTModule.java
----------------------------------------------------------------------
diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/rrt/cassandra/CassandraRRTModule.java b/server/data/data-cassandra/src/main/java/org/apache/james/rrt/cassandra/CassandraRRTModule.java
index 0970ce1..87a469b 100644
--- a/server/data/data-cassandra/src/main/java/org/apache/james/rrt/cassandra/CassandraRRTModule.java
+++ b/server/data/data-cassandra/src/main/java/org/apache/james/rrt/cassandra/CassandraRRTModule.java
@@ -27,15 +27,15 @@ import org.apache.james.rrt.cassandra.tables.CassandraRecipientRewriteTableTable
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
-public class CassandraRRTModule {
- public static final CassandraModule MODULE = CassandraModule.table(CassandraRecipientRewriteTableTable.TABLE_NAME)
+public interface CassandraRRTModule {
+ CassandraModule MODULE = CassandraModule.table(CassandraRecipientRewriteTableTable.TABLE_NAME)
+ .comment("Holds address re-writing rules.")
+ .options(options -> options
+ .caching(SchemaBuilder.KeyCaching.ALL,
+ SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
.statement(statement -> statement
.addPartitionKey(CassandraRecipientRewriteTableTable.USER, text())
.addClusteringColumn(CassandraRecipientRewriteTableTable.DOMAIN, text())
- .addClusteringColumn(CassandraRecipientRewriteTableTable.MAPPING, text())
- .withOptions()
- .comment("Holds address re-writing rules.")
- .caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
+ .addClusteringColumn(CassandraRecipientRewriteTableTable.MAPPING, text()))
.build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/f6fda76d/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraSieveRepositoryModule.java
----------------------------------------------------------------------
diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraSieveRepositoryModule.java b/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraSieveRepositoryModule.java
index 799e972..0000dab 100644
--- a/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraSieveRepositoryModule.java
+++ b/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraSieveRepositoryModule.java
@@ -36,39 +36,39 @@ public interface CassandraSieveRepositoryModule {
CassandraModule MODULE = CassandraModule.builder()
.table(CassandraSieveTable.TABLE_NAME)
+ .comment("Holds SIEVE scripts.")
+ .options(options -> options)
.statement(statement -> statement
.addPartitionKey(CassandraSieveTable.USER_NAME, text())
.addClusteringColumn(CassandraSieveTable.SCRIPT_NAME, text())
.addColumn(CassandraSieveTable.SCRIPT_CONTENT, text())
.addColumn(CassandraSieveTable.IS_ACTIVE, cboolean())
- .addColumn(CassandraSieveTable.SIZE, bigint())
- .withOptions()
- .comment("Holds SIEVE scripts."))
+ .addColumn(CassandraSieveTable.SIZE, bigint()))
.table(CassandraSieveSpaceTable.TABLE_NAME)
+ .comment("Holds per user current space occupied by SIEVE scripts.")
+ .options(options -> options)
.statement(statement -> statement
.addPartitionKey(CassandraSieveSpaceTable.USER_NAME, text())
- .addColumn(CassandraSieveSpaceTable.SPACE_USED, counter())
- .withOptions()
- .comment("Holds per user current space occupied by SIEVE scripts."))
+ .addColumn(CassandraSieveSpaceTable.SPACE_USED, counter()))
.table(CassandraSieveQuotaTable.TABLE_NAME)
+ .comment("Holds per user size limitations for SIEVE script storage.")
+ .options(options -> options)
.statement(statement -> statement
.addPartitionKey(CassandraSieveQuotaTable.USER_NAME, text())
- .addColumn(CassandraSieveQuotaTable.QUOTA, bigint())
- .withOptions()
- .comment("Holds per user size limitations for SIEVE script storage."))
+ .addColumn(CassandraSieveQuotaTable.QUOTA, bigint()))
.table(CassandraSieveClusterQuotaTable.TABLE_NAME)
+ .comment("Holds default size limitations for SIEVE script storage.")
+ .options(options -> options)
.statement(statement -> statement
.addPartitionKey(CassandraSieveClusterQuotaTable.NAME, text())
- .addColumn(CassandraSieveClusterQuotaTable.VALUE, bigint())
- .withOptions()
- .comment("Holds default size limitations for SIEVE script storage."))
+ .addColumn(CassandraSieveClusterQuotaTable.VALUE, bigint()))
.table(CassandraSieveActiveTable.TABLE_NAME)
+ .comment("Denormalisation table. Allows per user direct active SIEVE script retrieval.")
+ .options(options -> options)
.statement(statement -> statement
.addPartitionKey(CassandraSieveActiveTable.USER_NAME, text())
.addColumn(CassandraSieveActiveTable.SCRIPT_NAME, text())
- .addColumn(CassandraSieveActiveTable.DATE, timestamp())
- .withOptions()
- .comment("Denormalisation table. Allows per user direct active SIEVE script retrieval."))
+ .addColumn(CassandraSieveActiveTable.DATE, timestamp()))
.build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/f6fda76d/server/data/data-cassandra/src/main/java/org/apache/james/user/cassandra/CassandraUsersRepositoryModule.java
----------------------------------------------------------------------
diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/user/cassandra/CassandraUsersRepositoryModule.java b/server/data/data-cassandra/src/main/java/org/apache/james/user/cassandra/CassandraUsersRepositoryModule.java
index 473cb02..0f04fb4 100644
--- a/server/data/data-cassandra/src/main/java/org/apache/james/user/cassandra/CassandraUsersRepositoryModule.java
+++ b/server/data/data-cassandra/src/main/java/org/apache/james/user/cassandra/CassandraUsersRepositoryModule.java
@@ -24,16 +24,13 @@ import static com.datastax.driver.core.DataType.text;
import org.apache.james.backends.cassandra.components.CassandraModule;
import org.apache.james.user.cassandra.tables.CassandraUserTable;
-public class CassandraUsersRepositoryModule {
-
- public static final CassandraModule MODULE = CassandraModule.table(CassandraUserTable.TABLE_NAME)
+public interface CassandraUsersRepositoryModule {
+ CassandraModule MODULE = CassandraModule.table(CassandraUserTable.TABLE_NAME)
+ .comment("Holds users of this James server.")
.statement(statement -> statement
.addPartitionKey(CassandraUserTable.NAME, text())
.addColumn(CassandraUserTable.REALNAME, text())
.addColumn(CassandraUserTable.PASSWORD, text())
- .addColumn(CassandraUserTable.ALGORITHM, text())
- .withOptions()
- .comment("Holds users of this James server."))
+ .addColumn(CassandraUserTable.ALGORITHM, text()))
.build();
-
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/f6fda76d/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/access/CassandraAccessModule.java
----------------------------------------------------------------------
diff --git a/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/access/CassandraAccessModule.java b/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/access/CassandraAccessModule.java
index 6fe4583..f7267fd 100644
--- a/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/access/CassandraAccessModule.java
+++ b/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/access/CassandraAccessModule.java
@@ -28,14 +28,14 @@ import org.apache.james.jmap.cassandra.access.table.CassandraAccessTokenTable;
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
-public class CassandraAccessModule {
- public static final CassandraModule MODULE = CassandraModule.table(CassandraAccessTokenTable.TABLE_NAME)
- .statement(statement -> statement
- .addPartitionKey(CassandraAccessTokenTable.TOKEN, uuid())
- .addColumn(CassandraAccessTokenTable.USERNAME, text())
- .withOptions()
- .comment("Holds JMAP access token required to process to authentication.")
+public interface CassandraAccessModule {
+ CassandraModule MODULE = CassandraModule.table(CassandraAccessTokenTable.TABLE_NAME)
+ .comment("Holds JMAP access token required to process to authentication.")
+ .options(options -> options
.caching(SchemaBuilder.KeyCaching.ALL,
SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
+ .statement(statement -> statement
+ .addPartitionKey(CassandraAccessTokenTable.TOKEN, uuid())
+ .addColumn(CassandraAccessTokenTable.USERNAME, text()))
.build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/f6fda76d/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/vacation/CassandraNotificationRegistryModule.java
----------------------------------------------------------------------
diff --git a/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/vacation/CassandraNotificationRegistryModule.java b/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/vacation/CassandraNotificationRegistryModule.java
index 0cb2abb..e73e0a1 100644
--- a/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/vacation/CassandraNotificationRegistryModule.java
+++ b/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/vacation/CassandraNotificationRegistryModule.java
@@ -27,15 +27,15 @@ import org.apache.james.jmap.cassandra.vacation.tables.CassandraNotificationTabl
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
-public class CassandraNotificationRegistryModule {
- public static final CassandraModule MODULE = CassandraModule.table(CassandraNotificationTable.TABLE_NAME)
- .statement(statement -> statement
- .addPartitionKey(CassandraNotificationTable.ACCOUNT_ID, text())
- .addClusteringColumn(CassandraNotificationTable.RECIPIENT_ID, text())
- .withOptions()
- .comment("Stores registry of vacation notification being sent.")
+public interface CassandraNotificationRegistryModule {
+ CassandraModule MODULE = CassandraModule.table(CassandraNotificationTable.TABLE_NAME)
+ .comment("Stores registry of vacation notification being sent.")
+ .options(options -> options
.compactionOptions(SchemaBuilder.dateTieredStrategy())
.caching(SchemaBuilder.KeyCaching.ALL,
SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
+ .statement(statement -> statement
+ .addPartitionKey(CassandraNotificationTable.ACCOUNT_ID, text())
+ .addClusteringColumn(CassandraNotificationTable.RECIPIENT_ID, text()))
.build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/f6fda76d/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/vacation/CassandraVacationModule.java
----------------------------------------------------------------------
diff --git a/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/vacation/CassandraVacationModule.java b/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/vacation/CassandraVacationModule.java
index a55d71a..9fb922b 100644
--- a/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/vacation/CassandraVacationModule.java
+++ b/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/vacation/CassandraVacationModule.java
@@ -29,8 +29,12 @@ import org.apache.james.jmap.cassandra.vacation.tables.CassandraVacationTable;
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
-public class CassandraVacationModule {
- public static final CassandraModule MODULE = CassandraModule.table(CassandraVacationTable.TABLE_NAME)
+public interface CassandraVacationModule {
+ CassandraModule MODULE = CassandraModule.table(CassandraVacationTable.TABLE_NAME)
+ .comment("Holds vacation definition. Allow one to automatically respond to emails with a custom message.")
+ .options(options -> options
+ .caching(SchemaBuilder.KeyCaching.ALL,
+ SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
.statement(statement -> statement
.addPartitionKey(CassandraVacationTable.ACCOUNT_ID, text())
.addColumn(CassandraVacationTable.IS_ENABLED, cboolean())
@@ -38,10 +42,6 @@ public class CassandraVacationModule {
.addUDTColumn(CassandraVacationTable.TO_DATE, SchemaBuilder.frozen(CassandraZonedDateTimeModule.ZONED_DATE_TIME))
.addColumn(CassandraVacationTable.TEXT, text())
.addColumn(CassandraVacationTable.SUBJECT, text())
- .addColumn(CassandraVacationTable.HTML, text())
- .withOptions()
- .comment("Holds vacation definition. Allow one to automatically respond to emails with a custom message.")
- .caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
+ .addColumn(CassandraVacationTable.HTML, text()))
.build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/f6fda76d/server/mailrepository/mailrepository-cassandra/src/main/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryModule.java
----------------------------------------------------------------------
diff --git a/server/mailrepository/mailrepository-cassandra/src/main/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryModule.java b/server/mailrepository/mailrepository-cassandra/src/main/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryModule.java
index a2b7661..cfbcdf4 100644
--- a/server/mailrepository/mailrepository-cassandra/src/main/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryModule.java
+++ b/server/mailrepository/mailrepository-cassandra/src/main/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryModule.java
@@ -37,14 +37,18 @@ public interface CassandraMailRepositoryModule {
.addColumn(MailRepositoryTable.HEADER_NAME, text())
.addColumn(MailRepositoryTable.HEADER_VALUE, text()))
.table(MailRepositoryTable.COUNT_TABLE)
+ .comment("Projection maintaining per mail repository mail counter")
.statement(statement -> statement
.addPartitionKey(MailRepositoryTable.REPOSITORY_NAME, text())
.addColumn(MailRepositoryTable.COUNT, counter()))
.table(MailRepositoryTable.KEYS_TABLE_NAME)
+ .comment("Per-mailRepository mail key list")
.statement(statement -> statement
.addPartitionKey(MailRepositoryTable.REPOSITORY_NAME, text())
.addClusteringColumn(MailRepositoryTable.MAIL_KEY, text()))
.table(MailRepositoryTable.CONTENT_TABLE_NAME)
+ .comment("Stores the mails for a given repository. " +
+ "Content is stored with other blobs")
.statement(statement -> statement
.addPartitionKey(MailRepositoryTable.REPOSITORY_NAME, text())
.addPartitionKey(MailRepositoryTable.MAIL_KEY, text())
@@ -59,9 +63,6 @@ public interface CassandraMailRepositoryModule {
.addColumn(MailRepositoryTable.REMOTE_HOST, text())
.addColumn(MailRepositoryTable.REMOTE_ADDR, text())
.addColumn(MailRepositoryTable.LAST_UPDATED, timestamp())
- .addUDTMapColumn(MailRepositoryTable.PER_RECIPIENT_SPECIFIC_HEADERS, text(), frozen(MailRepositoryTable.HEADER_TYPE))
- .withOptions()
- .comment("Stores the mails for a given repository. " +
- "Content is stored with other blobs"))
+ .addUDTMapColumn(MailRepositoryTable.PER_RECIPIENT_SPECIFIC_HEADERS, text(), frozen(MailRepositoryTable.HEADER_TYPE)))
.build();
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[14/27] james-project git commit: MAILBOX-342 Use
CassandraModule.Builder for Cassandra mailbox
Posted by bt...@apache.org.
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMessageIdManagerQuotaTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMessageIdManagerQuotaTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMessageIdManagerQuotaTest.java
index 2103071..0c8d9f4 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMessageIdManagerQuotaTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMessageIdManagerQuotaTest.java
@@ -21,22 +21,7 @@ package org.apache.james.mailbox.cassandra;
import org.apache.james.backends.cassandra.CassandraCluster;
import org.apache.james.backends.cassandra.DockerCassandraRule;
-import org.apache.james.backends.cassandra.init.CassandraModuleComposite;
-import org.apache.james.blob.cassandra.CassandraBlobModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraAclModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraAnnotationModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraApplicableFlagsModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraAttachmentModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraDeletedMessageModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraFirstUnseenModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMailboxCounterModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMailboxModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMailboxRecentsModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMessageModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraModSeqModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraQuotaModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraSubscriptionModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraUidModule;
+import org.apache.james.mailbox.cassandra.mail.MailboxAggregateModule;
import org.apache.james.mailbox.quota.CurrentQuotaManager;
import org.apache.james.mailbox.quota.MaxQuotaManager;
import org.apache.james.mailbox.quota.QuotaManager;
@@ -57,23 +42,7 @@ public class CassandraMessageIdManagerQuotaTest extends AbstractMessageIdManager
@BeforeClass
public static void setUpClass() {
- CassandraModuleComposite modules = new CassandraModuleComposite(
- new CassandraAclModule(),
- new CassandraMailboxModule(),
- new CassandraMessageModule(),
- new CassandraBlobModule(),
- new CassandraMailboxCounterModule(),
- new CassandraMailboxRecentsModule(),
- new CassandraFirstUnseenModule(),
- new CassandraUidModule(),
- new CassandraModSeqModule(),
- new CassandraSubscriptionModule(),
- new CassandraAttachmentModule(),
- new CassandraDeletedMessageModule(),
- new CassandraAnnotationModule(),
- new CassandraApplicableFlagsModule(),
- new CassandraQuotaModule());
- cassandra = CassandraCluster.create(modules, cassandraServer.getHost());
+ cassandra = CassandraCluster.create(MailboxAggregateModule.MODULE_WITH_QUOTA, cassandraServer.getHost());
}
@Override
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMessageIdManagerSideEffectTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMessageIdManagerSideEffectTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMessageIdManagerSideEffectTest.java
index 952f1f7..8553355 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMessageIdManagerSideEffectTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMessageIdManagerSideEffectTest.java
@@ -21,20 +21,7 @@ package org.apache.james.mailbox.cassandra;
import org.apache.james.backends.cassandra.CassandraCluster;
import org.apache.james.backends.cassandra.DockerCassandraRule;
-import org.apache.james.backends.cassandra.init.CassandraModuleComposite;
-import org.apache.james.blob.cassandra.CassandraBlobModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraAclModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraAnnotationModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraApplicableFlagsModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraAttachmentModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraDeletedMessageModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraFirstUnseenModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMailboxCounterModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMailboxModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMailboxRecentsModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMessageModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraModSeqModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraUidModule;
+import org.apache.james.mailbox.cassandra.mail.MailboxAggregateModule;
import org.apache.james.mailbox.quota.QuotaManager;
import org.apache.james.mailbox.store.AbstractMessageIdManagerSideEffectTest;
import org.apache.james.mailbox.store.MessageIdManagerTestSystem;
@@ -53,21 +40,7 @@ public class CassandraMessageIdManagerSideEffectTest extends AbstractMessageIdMa
@BeforeClass
public static void setUpClass() {
- CassandraModuleComposite modules = new CassandraModuleComposite(
- new CassandraAclModule(),
- new CassandraMailboxModule(),
- new CassandraMessageModule(),
- new CassandraMailboxCounterModule(),
- new CassandraMailboxRecentsModule(),
- new CassandraFirstUnseenModule(),
- new CassandraDeletedMessageModule(),
- new CassandraUidModule(),
- new CassandraModSeqModule(),
- new CassandraAttachmentModule(),
- new CassandraAnnotationModule(),
- new CassandraApplicableFlagsModule(),
- new CassandraBlobModule());
- cassandra = CassandraCluster.create(modules, cassandraServer.getHost());
+ cassandra = CassandraCluster.create(MailboxAggregateModule.MODULE, cassandraServer.getHost());
}
@Override
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMessageIdManagerStorageTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMessageIdManagerStorageTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMessageIdManagerStorageTest.java
index 95cb7c7..ae35def 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMessageIdManagerStorageTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMessageIdManagerStorageTest.java
@@ -23,21 +23,8 @@ import static org.mockito.Mockito.mock;
import org.apache.james.backends.cassandra.CassandraCluster;
import org.apache.james.backends.cassandra.DockerCassandraRule;
-import org.apache.james.backends.cassandra.init.CassandraModuleComposite;
-import org.apache.james.blob.cassandra.CassandraBlobModule;
import org.apache.james.mailbox.MailboxListener;
-import org.apache.james.mailbox.cassandra.modules.CassandraAclModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraAnnotationModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraApplicableFlagsModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraAttachmentModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraDeletedMessageModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraFirstUnseenModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMailboxCounterModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMailboxModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMailboxRecentsModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMessageModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraModSeqModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraUidModule;
+import org.apache.james.mailbox.cassandra.mail.MailboxAggregateModule;
import org.apache.james.mailbox.store.AbstractMessageIdManagerStorageTest;
import org.apache.james.mailbox.store.MessageIdManagerTestSystem;
import org.apache.james.mailbox.store.event.MailboxEventDispatcher;
@@ -56,21 +43,7 @@ public class CassandraMessageIdManagerStorageTest extends AbstractMessageIdManag
@BeforeClass
public static void setUpClass() {
- CassandraModuleComposite modules = new CassandraModuleComposite(
- new CassandraAclModule(),
- new CassandraMailboxModule(),
- new CassandraMessageModule(),
- new CassandraMailboxCounterModule(),
- new CassandraMailboxRecentsModule(),
- new CassandraFirstUnseenModule(),
- new CassandraDeletedMessageModule(),
- new CassandraUidModule(),
- new CassandraModSeqModule(),
- new CassandraAttachmentModule(),
- new CassandraAnnotationModule(),
- new CassandraApplicableFlagsModule(),
- new CassandraBlobModule());
- cassandra = CassandraCluster.create(modules, cassandraServer.getHost());
+ cassandra = CassandraCluster.create(MailboxAggregateModule.MODULE, cassandraServer.getHost());
}
@Override
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManagerTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManagerTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManagerTest.java
index b0df27d..736dcdc 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManagerTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManagerTest.java
@@ -21,7 +21,6 @@ package org.apache.james.mailbox.cassandra;
import org.apache.james.backends.cassandra.CassandraCluster;
import org.apache.james.backends.cassandra.DockerCassandraRule;
-import org.apache.james.backends.cassandra.init.CassandraModuleComposite;
import org.apache.james.backends.cassandra.init.configuration.CassandraConfiguration;
import org.apache.james.backends.cassandra.utils.CassandraUtils;
import org.apache.james.blob.api.ObjectStore;
@@ -46,7 +45,6 @@ import org.apache.james.mailbox.cassandra.mail.CassandraMessageIdToImapUidDAO;
import org.apache.james.mailbox.cassandra.mail.CassandraModSeqProvider;
import org.apache.james.mailbox.cassandra.mail.CassandraUidProvider;
import org.apache.james.mailbox.cassandra.mail.CassandraUserMailboxRightsDAO;
-import org.apache.james.mailbox.cassandra.modules.CassandraMailboxCounterModule;
import org.apache.james.mailbox.cassandra.modules.CassandraSubscriptionModule;
import org.apache.james.mailbox.exception.SubscriptionException;
import org.junit.After;
@@ -66,10 +64,7 @@ public class CassandraSubscriptionManagerTest extends AbstractSubscriptionManage
@BeforeClass
public static void setUpClass() {
- CassandraModuleComposite modules = new CassandraModuleComposite(
- new CassandraSubscriptionModule(),
- new CassandraMailboxCounterModule());
- cassandra = CassandraCluster.create(modules, cassandraServer.getHost());
+ cassandra = CassandraCluster.create(CassandraSubscriptionModule.MODULE, cassandraServer.getHost());
}
@Before
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/event/distributed/CassandraBasedRegisteredDistributedMailboxDelegatingListenerTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/event/distributed/CassandraBasedRegisteredDistributedMailboxDelegatingListenerTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/event/distributed/CassandraBasedRegisteredDistributedMailboxDelegatingListenerTest.java
index ab2293f..ca6dc84 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/event/distributed/CassandraBasedRegisteredDistributedMailboxDelegatingListenerTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/event/distributed/CassandraBasedRegisteredDistributedMailboxDelegatingListenerTest.java
@@ -85,7 +85,7 @@ public class CassandraBasedRegisteredDistributedMailboxDelegatingListenerTest {
@BeforeClass
public static void setUpClass() {
- cassandra = CassandraCluster.create(new CassandraRegistrationModule(), cassandraServer.getHost());
+ cassandra = CassandraCluster.create(CassandraRegistrationModule.MODULE, cassandraServer.getHost());
}
@Before
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/event/distributed/CassandraMailboxPathRegistrerMapperTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/event/distributed/CassandraMailboxPathRegistrerMapperTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/event/distributed/CassandraMailboxPathRegistrerMapperTest.java
index 1459edb..9a412ea 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/event/distributed/CassandraMailboxPathRegistrerMapperTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/event/distributed/CassandraMailboxPathRegistrerMapperTest.java
@@ -39,7 +39,7 @@ import org.junit.Test;
public class CassandraMailboxPathRegistrerMapperTest {
@ClassRule public static DockerCassandraRule cassandraServer = new DockerCassandraRule();
-
+
private static CassandraCluster cassandra;
private static final MailboxPath MAILBOX_PATH = new MailboxPath("namespace", "user", "name");
@@ -52,7 +52,7 @@ public class CassandraMailboxPathRegistrerMapperTest {
@BeforeClass
public static void setUpClass() {
- cassandra = CassandraCluster.create(new CassandraRegistrationModule(), cassandraServer.getHost());
+ cassandra = CassandraCluster.create(CassandraRegistrationModule.MODULE, cassandraServer.getHost());
}
@Before
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraACLMapperTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraACLMapperTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraACLMapperTest.java
index c8169a8..b38c212 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraACLMapperTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraACLMapperTest.java
@@ -59,7 +59,7 @@ public class CassandraACLMapperTest {
@BeforeClass
public static void setUpClass() {
- cassandra = CassandraCluster.create(new CassandraAclModule(), cassandraServer.getHost());
+ cassandra = CassandraCluster.create(CassandraAclModule.MODULE, cassandraServer.getHost());
}
@Before
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraAnnotationMapperTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraAnnotationMapperTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraAnnotationMapperTest.java
index 7bde1a7..f0f5550 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraAnnotationMapperTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraAnnotationMapperTest.java
@@ -40,7 +40,7 @@ public class CassandraAnnotationMapperTest extends AnnotationMapperTest {
@BeforeClass
public static void setUpClass() {
- cassandra = CassandraCluster.create(new CassandraAnnotationModule(), cassandraServer.getHost());
+ cassandra = CassandraCluster.create(CassandraAnnotationModule.MODULE, cassandraServer.getHost());
}
@Override
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraApplicableFlagDAOTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraApplicableFlagDAOTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraApplicableFlagDAOTest.java
index 87b1701..911d0d0 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraApplicableFlagDAOTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraApplicableFlagDAOTest.java
@@ -51,7 +51,7 @@ public class CassandraApplicableFlagDAOTest {
@BeforeClass
public static void setUpClass() {
- cassandra = CassandraCluster.create(new CassandraApplicableFlagsModule(), cassandraServer.getHost());
+ cassandra = CassandraCluster.create(CassandraApplicableFlagsModule.MODULE, cassandraServer.getHost());
}
@Before
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraAttachmentDAOTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraAttachmentDAOTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraAttachmentDAOTest.java
index eefdaff..f88406e 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraAttachmentDAOTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraAttachmentDAOTest.java
@@ -53,7 +53,7 @@ public class CassandraAttachmentDAOTest {
@BeforeClass
public static void setUpClass() {
- cassandra = CassandraCluster.create(new CassandraAttachmentModule(), cassandraServer.getHost());
+ cassandra = CassandraCluster.create(CassandraAttachmentModule.MODULE, cassandraServer.getHost());
}
@Before
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraAttachmentDAOV2Test.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraAttachmentDAOV2Test.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraAttachmentDAOV2Test.java
index 38619d0..e7874d1 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraAttachmentDAOV2Test.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraAttachmentDAOV2Test.java
@@ -52,7 +52,7 @@ public class CassandraAttachmentDAOV2Test {
@BeforeClass
public static void setUpClass() {
- cassandra = CassandraCluster.create(new CassandraAttachmentModule(), cassandraServer.getHost());
+ cassandra = CassandraCluster.create(CassandraAttachmentModule.MODULE, cassandraServer.getHost());
}
@Before
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraAttachmentFallbackTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraAttachmentFallbackTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraAttachmentFallbackTest.java
index fc1794a..5c15145 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraAttachmentFallbackTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraAttachmentFallbackTest.java
@@ -26,7 +26,7 @@ import java.nio.charset.StandardCharsets;
import org.apache.james.backends.cassandra.CassandraCluster;
import org.apache.james.backends.cassandra.DockerCassandraRule;
-import org.apache.james.backends.cassandra.init.CassandraModuleComposite;
+import org.apache.james.backends.cassandra.components.CassandraModule;
import org.apache.james.backends.cassandra.init.configuration.CassandraConfiguration;
import org.apache.james.backends.cassandra.utils.CassandraUtils;
import org.apache.james.blob.api.BlobId;
@@ -64,9 +64,9 @@ public class CassandraAttachmentFallbackTest {
@BeforeClass
public static void setUpClass() {
- CassandraModuleComposite modules = new CassandraModuleComposite(
- new CassandraAttachmentModule(),
- new CassandraBlobModule());
+ CassandraModule modules = CassandraModule.aggregateModules(
+ CassandraAttachmentModule.MODULE,
+ CassandraBlobModule.MODULE);
cassandra = CassandraCluster.create(modules, cassandraServer.getHost());
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraAttachmentMapperTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraAttachmentMapperTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraAttachmentMapperTest.java
index 745edbc..e0d7be7 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraAttachmentMapperTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraAttachmentMapperTest.java
@@ -21,7 +21,7 @@ package org.apache.james.mailbox.cassandra.mail;
import org.apache.james.backends.cassandra.CassandraCluster;
import org.apache.james.backends.cassandra.DockerCassandraRule;
-import org.apache.james.backends.cassandra.init.CassandraModuleComposite;
+import org.apache.james.backends.cassandra.components.CassandraModule;
import org.apache.james.blob.cassandra.CassandraBlobModule;
import org.apache.james.mailbox.cassandra.ids.CassandraMessageId;
import org.apache.james.mailbox.cassandra.mail.utils.GuiceUtils;
@@ -44,9 +44,9 @@ public class CassandraAttachmentMapperTest extends AttachmentMapperTest {
@BeforeClass
public static void setUpClass() {
- CassandraModuleComposite modules = new CassandraModuleComposite(
- new CassandraAttachmentModule(),
- new CassandraBlobModule());
+ CassandraModule modules = CassandraModule.aggregateModules(
+ CassandraAttachmentModule.MODULE,
+ CassandraBlobModule.MODULE);
cassandra = CassandraCluster.create(modules, cassandraServer.getHost());
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraAttachmentOwnerDAOTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraAttachmentOwnerDAOTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraAttachmentOwnerDAOTest.java
index adf73b1..0164508 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraAttachmentOwnerDAOTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraAttachmentOwnerDAOTest.java
@@ -52,7 +52,7 @@ public class CassandraAttachmentOwnerDAOTest {
@BeforeClass
public static void setUpClass() {
- cassandra = CassandraCluster.create(new CassandraAttachmentModule(), cassandraServer.getHost());
+ cassandra = CassandraCluster.create(CassandraAttachmentModule.MODULE, cassandraServer.getHost());
}
@Before
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraDeletedMessageDAOTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraDeletedMessageDAOTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraDeletedMessageDAOTest.java
index 4d2ae8d..913aef7 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraDeletedMessageDAOTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraDeletedMessageDAOTest.java
@@ -56,7 +56,7 @@ public class CassandraDeletedMessageDAOTest {
@BeforeClass
public static void setUpClass() {
- cassandra = CassandraCluster.create(new CassandraDeletedMessageModule(), cassandraServer.getHost());
+ cassandra = CassandraCluster.create(CassandraDeletedMessageModule.MODULE, cassandraServer.getHost());
}
@Before
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraFirstUnseenDAOTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraFirstUnseenDAOTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraFirstUnseenDAOTest.java
index e2bbeb0..6aef33f 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraFirstUnseenDAOTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraFirstUnseenDAOTest.java
@@ -46,7 +46,7 @@ public class CassandraFirstUnseenDAOTest {
@BeforeClass
public static void setUpClass() {
- cassandra = CassandraCluster.create(new CassandraFirstUnseenModule(), cassandraServer.getHost());
+ cassandra = CassandraCluster.create(CassandraFirstUnseenModule.MODULE, cassandraServer.getHost());
}
@Before
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraGenericMailboxMapperTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraGenericMailboxMapperTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraGenericMailboxMapperTest.java
index 16e2620..0de81d2 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraGenericMailboxMapperTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraGenericMailboxMapperTest.java
@@ -21,7 +21,7 @@ package org.apache.james.mailbox.cassandra.mail;
import org.apache.james.backends.cassandra.CassandraCluster;
import org.apache.james.backends.cassandra.DockerCassandraRule;
-import org.apache.james.backends.cassandra.init.CassandraModuleComposite;
+import org.apache.james.backends.cassandra.components.CassandraModule;
import org.apache.james.mailbox.cassandra.ids.CassandraId;
import org.apache.james.mailbox.cassandra.mail.utils.GuiceUtils;
import org.apache.james.mailbox.cassandra.modules.CassandraAclModule;
@@ -45,11 +45,11 @@ public class CassandraGenericMailboxMapperTest extends MailboxMapperTest {
@BeforeClass
public static void setUpClass() {
- CassandraModuleComposite modules = new CassandraModuleComposite(
- new CassandraAclModule(),
- new CassandraMailboxModule(),
- new CassandraModSeqModule(),
- new CassandraUidModule());
+ CassandraModule modules = CassandraModule.aggregateModules(
+ CassandraAclModule.MODULE,
+ CassandraMailboxModule.MODULE,
+ CassandraModSeqModule.MODULE,
+ CassandraUidModule.MODULE);
cassandra = CassandraCluster.create(modules, cassandraServer.getHost());
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraIndexTableHandlerTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraIndexTableHandlerTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraIndexTableHandlerTest.java
index 8b6c3f2..ca9f314 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraIndexTableHandlerTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraIndexTableHandlerTest.java
@@ -29,7 +29,7 @@ import javax.mail.Flags;
import org.apache.james.backends.cassandra.CassandraCluster;
import org.apache.james.backends.cassandra.DockerCassandraRule;
-import org.apache.james.backends.cassandra.init.CassandraModuleComposite;
+import org.apache.james.backends.cassandra.components.CassandraModule;
import org.apache.james.mailbox.FlagsBuilder;
import org.apache.james.mailbox.MessageUid;
import org.apache.james.mailbox.cassandra.ids.CassandraId;
@@ -77,12 +77,12 @@ public class CassandraIndexTableHandlerTest {
@BeforeClass
public static void setUpClass() {
- CassandraModuleComposite modules = new CassandraModuleComposite(
- new CassandraMailboxCounterModule(),
- new CassandraMailboxRecentsModule(),
- new CassandraFirstUnseenModule(),
- new CassandraApplicableFlagsModule(),
- new CassandraDeletedMessageModule());
+ CassandraModule modules = CassandraModule.aggregateModules(
+ CassandraMailboxCounterModule.MODULE,
+ CassandraMailboxRecentsModule.MODULE,
+ CassandraFirstUnseenModule.MODULE,
+ CassandraApplicableFlagsModule.MODULE,
+ CassandraDeletedMessageModule.MODULE);
cassandra = CassandraCluster.create(modules, cassandraServer.getHost());
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxCounterDAOTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxCounterDAOTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxCounterDAOTest.java
index 7f0ac27..fb14a1e 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxCounterDAOTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxCounterDAOTest.java
@@ -46,7 +46,7 @@ public class CassandraMailboxCounterDAOTest {
@BeforeClass
public static void setUpClass() {
- cassandra = CassandraCluster.create(new CassandraMailboxCounterModule(), cassandraServer.getHost());
+ cassandra = CassandraCluster.create(CassandraMailboxCounterModule.MODULE, cassandraServer.getHost());
}
@Before
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxDAOTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxDAOTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxDAOTest.java
index 35565e3..6844f5e 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxDAOTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxDAOTest.java
@@ -26,7 +26,7 @@ import java.util.Optional;
import org.apache.james.backends.cassandra.CassandraCluster;
import org.apache.james.backends.cassandra.DockerCassandraRule;
-import org.apache.james.backends.cassandra.init.CassandraModuleComposite;
+import org.apache.james.backends.cassandra.components.CassandraModule;
import org.apache.james.mailbox.cassandra.ids.CassandraId;
import org.apache.james.mailbox.cassandra.modules.CassandraAclModule;
import org.apache.james.mailbox.cassandra.modules.CassandraMailboxModule;
@@ -58,7 +58,7 @@ public class CassandraMailboxDAOTest {
@BeforeClass
public static void setUpClass() {
- CassandraModuleComposite modules = new CassandraModuleComposite(new CassandraMailboxModule(), new CassandraAclModule());
+ CassandraModule modules = CassandraModule.aggregateModules(CassandraMailboxModule.MODULE, CassandraAclModule.MODULE);
cassandra = CassandraCluster.create(modules, cassandraServer.getHost());
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxManagerAttachmentTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxManagerAttachmentTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxManagerAttachmentTest.java
index 210911d..13ca350 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxManagerAttachmentTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxManagerAttachmentTest.java
@@ -24,8 +24,6 @@ import static org.mockito.Mockito.when;
import org.apache.james.backends.cassandra.CassandraCluster;
import org.apache.james.backends.cassandra.DockerCassandraRule;
-import org.apache.james.backends.cassandra.init.CassandraModuleComposite;
-import org.apache.james.blob.cassandra.CassandraBlobModule;
import org.apache.james.mailbox.MailboxManager;
import org.apache.james.mailbox.acl.SimpleGroupMembershipResolver;
import org.apache.james.mailbox.acl.UnionMailboxACLResolver;
@@ -33,17 +31,6 @@ import org.apache.james.mailbox.cassandra.CassandraMailboxManager;
import org.apache.james.mailbox.cassandra.CassandraMailboxSessionMapperFactory;
import org.apache.james.mailbox.cassandra.TestCassandraMailboxSessionMapperFactory;
import org.apache.james.mailbox.cassandra.ids.CassandraMessageId;
-import org.apache.james.mailbox.cassandra.modules.CassandraAclModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraApplicableFlagsModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraAttachmentModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraDeletedMessageModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraFirstUnseenModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMailboxCounterModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMailboxModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMailboxRecentsModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMessageModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraModSeqModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraUidModule;
import org.apache.james.mailbox.store.AbstractMailboxManagerAttachmentTest;
import org.apache.james.mailbox.store.Authenticator;
import org.apache.james.mailbox.store.Authorizator;
@@ -72,21 +59,7 @@ public class CassandraMailboxManagerAttachmentTest extends AbstractMailboxManage
@BeforeClass
public static void setUpClass() {
- CassandraModuleComposite modules =
- new CassandraModuleComposite(
- new CassandraAclModule(),
- new CassandraMailboxModule(),
- new CassandraMessageModule(),
- new CassandraBlobModule(),
- new CassandraMailboxCounterModule(),
- new CassandraMailboxRecentsModule(),
- new CassandraFirstUnseenModule(),
- new CassandraDeletedMessageModule(),
- new CassandraModSeqModule(),
- new CassandraUidModule(),
- new CassandraAttachmentModule(),
- new CassandraApplicableFlagsModule());
- cassandra = CassandraCluster.create(modules, cassandraServer.getHost());
+ cassandra = CassandraCluster.create(MailboxAggregateModule.MODULE, cassandraServer.getHost());
}
@Before
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapperAclTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapperAclTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapperAclTest.java
index d111653..57b854f 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapperAclTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapperAclTest.java
@@ -21,7 +21,7 @@ package org.apache.james.mailbox.cassandra.mail;
import org.apache.james.backends.cassandra.CassandraCluster;
import org.apache.james.backends.cassandra.DockerCassandraRule;
-import org.apache.james.backends.cassandra.init.CassandraModuleComposite;
+import org.apache.james.backends.cassandra.components.CassandraModule;
import org.apache.james.mailbox.cassandra.ids.CassandraId;
import org.apache.james.mailbox.cassandra.mail.utils.GuiceUtils;
import org.apache.james.mailbox.cassandra.modules.CassandraAclModule;
@@ -43,9 +43,9 @@ public class CassandraMailboxMapperAclTest extends MailboxMapperACLTest {
@BeforeClass
public static void setUpClass() {
- CassandraModuleComposite modules = new CassandraModuleComposite(
- new CassandraAclModule(),
- new CassandraMailboxModule());
+ CassandraModule modules = CassandraModule.aggregateModules(
+ CassandraAclModule.MODULE,
+ CassandraMailboxModule.MODULE);
cassandra = CassandraCluster.create(modules, cassandraServer.getHost());
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapperConcurrencyTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapperConcurrencyTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapperConcurrencyTest.java
index 020dd22..ef7b1b1 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapperConcurrencyTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapperConcurrencyTest.java
@@ -26,7 +26,7 @@ import java.util.concurrent.TimeUnit;
import org.apache.james.backends.cassandra.CassandraCluster;
import org.apache.james.backends.cassandra.DockerCassandraRule;
-import org.apache.james.backends.cassandra.init.CassandraModuleComposite;
+import org.apache.james.backends.cassandra.components.CassandraModule;
import org.apache.james.mailbox.cassandra.mail.utils.GuiceUtils;
import org.apache.james.mailbox.cassandra.modules.CassandraAclModule;
import org.apache.james.mailbox.cassandra.modules.CassandraMailboxModule;
@@ -56,7 +56,7 @@ public class CassandraMailboxMapperConcurrencyTest {
@BeforeClass
public static void setUpClass() {
- CassandraModuleComposite modules = new CassandraModuleComposite(new CassandraMailboxModule(), new CassandraAclModule());
+ CassandraModule modules = CassandraModule.aggregateModules(CassandraMailboxModule.MODULE, CassandraAclModule.MODULE);
cassandra = CassandraCluster.create(modules, cassandraServer.getHost());
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapperTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapperTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapperTest.java
index 7e3d439..4953a11 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapperTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapperTest.java
@@ -27,7 +27,7 @@ import java.util.List;
import org.apache.commons.lang3.StringUtils;
import org.apache.james.backends.cassandra.CassandraCluster;
import org.apache.james.backends.cassandra.DockerCassandraRule;
-import org.apache.james.backends.cassandra.init.CassandraModuleComposite;
+import org.apache.james.backends.cassandra.components.CassandraModule;
import org.apache.james.backends.cassandra.init.configuration.CassandraConfiguration;
import org.apache.james.backends.cassandra.utils.CassandraUtils;
import org.apache.james.mailbox.cassandra.ids.CassandraId;
@@ -71,7 +71,7 @@ public class CassandraMailboxMapperTest {
@BeforeClass
public static void setUpClass() {
- CassandraModuleComposite modules = new CassandraModuleComposite(new CassandraMailboxModule(), new CassandraAclModule());
+ CassandraModule modules = CassandraModule.aggregateModules(CassandraMailboxModule.MODULE, CassandraAclModule.MODULE);
cassandra = CassandraCluster.create(modules, cassandraServer.getHost());
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxPathDAOTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxPathDAOTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxPathDAOTest.java
index 8468aa9..1488a0b 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxPathDAOTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxPathDAOTest.java
@@ -60,7 +60,7 @@ public abstract class CassandraMailboxPathDAOTest {
abstract CassandraMailboxPathDAO testee();
@BeforeClass
public static void setUpClass() {
- cassandra = CassandraCluster.create(new CassandraMailboxModule(), cassandraServer.getHost());
+ cassandra = CassandraCluster.create(CassandraMailboxModule.MODULE, cassandraServer.getHost());
}
@Before
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxPathV2DAOTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxPathV2DAOTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxPathV2DAOTest.java
index fdae69a..1840821 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxPathV2DAOTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxPathV2DAOTest.java
@@ -22,7 +22,6 @@ package org.apache.james.mailbox.cassandra.mail;
import org.apache.james.backends.cassandra.utils.CassandraUtils;
public class CassandraMailboxPathV2DAOTest extends CassandraMailboxPathDAOTest {
-
@Override
CassandraMailboxPathDAO testee() {
return new CassandraMailboxPathV2DAO(cassandra.getConf(), CassandraUtils.WITH_DEFAULT_CONFIGURATION);
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxRecentDAOTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxRecentDAOTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxRecentDAOTest.java
index a8935db..d5767eb 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxRecentDAOTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxRecentDAOTest.java
@@ -50,7 +50,7 @@ public class CassandraMailboxRecentDAOTest {
@BeforeClass
public static void setUpClass() {
- cassandra = CassandraCluster.create(new CassandraMailboxRecentsModule(), cassandraServer.getHost());
+ cassandra = CassandraCluster.create(CassandraMailboxRecentsModule.MODULE, cassandraServer.getHost());
}
@Before
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageDAOTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageDAOTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageDAOTest.java
index 1230441..e49f317 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageDAOTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageDAOTest.java
@@ -36,7 +36,7 @@ import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.tuple.Pair;
import org.apache.james.backends.cassandra.CassandraCluster;
import org.apache.james.backends.cassandra.DockerCassandraRule;
-import org.apache.james.backends.cassandra.init.CassandraModuleComposite;
+import org.apache.james.backends.cassandra.components.CassandraModule;
import org.apache.james.backends.cassandra.utils.CassandraUtils;
import org.apache.james.blob.cassandra.CassandraBlobId;
import org.apache.james.blob.cassandra.CassandraBlobModule;
@@ -87,7 +87,7 @@ public class CassandraMessageDAOTest {
@BeforeClass
public static void setUpClass() {
- CassandraModuleComposite modules = new CassandraModuleComposite(new CassandraMessageModule(), new CassandraBlobModule());
+ CassandraModule modules = CassandraModule.aggregateModules(CassandraMessageModule.MODULE, CassandraBlobModule.MODULE);
cassandra = CassandraCluster.create(modules, cassandraServer.getHost());
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdDAOTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdDAOTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdDAOTest.java
index 13ec4b2..d4514ca 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdDAOTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdDAOTest.java
@@ -55,7 +55,7 @@ public class CassandraMessageIdDAOTest {
@BeforeClass
public static void setUpClass() {
- cassandra = CassandraCluster.create(new CassandraMessageModule(), cassandraServer.getHost());
+ cassandra = CassandraCluster.create(CassandraMessageModule.MODULE, cassandraServer.getHost());
}
@Before
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdMapperTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdMapperTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdMapperTest.java
index ea978e1..52488f9 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdMapperTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdMapperTest.java
@@ -25,24 +25,10 @@ import java.util.List;
import org.apache.james.backends.cassandra.CassandraCluster;
import org.apache.james.backends.cassandra.DockerCassandraRule;
-import org.apache.james.backends.cassandra.init.CassandraModuleComposite;
import org.apache.james.backends.cassandra.init.configuration.CassandraConfiguration;
-import org.apache.james.blob.cassandra.CassandraBlobModule;
import org.apache.james.mailbox.cassandra.CassandraMailboxSessionMapperFactory;
import org.apache.james.mailbox.cassandra.TestCassandraMailboxSessionMapperFactory;
import org.apache.james.mailbox.cassandra.ids.CassandraMessageId;
-import org.apache.james.mailbox.cassandra.modules.CassandraAclModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraAnnotationModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraApplicableFlagsModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraAttachmentModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraDeletedMessageModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraFirstUnseenModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMailboxCounterModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMailboxModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMailboxRecentsModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMessageModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraModSeqModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraUidModule;
import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.mock.MockMailboxSession;
import org.apache.james.mailbox.store.mail.MessageMapper;
@@ -66,21 +52,7 @@ public class CassandraMessageIdMapperTest extends MessageIdMapperTest {
@BeforeClass
public static void setUpClass() {
- CassandraModuleComposite modules = new CassandraModuleComposite(
- new CassandraAclModule(),
- new CassandraMailboxModule(),
- new CassandraMessageModule(),
- new CassandraMailboxCounterModule(),
- new CassandraMailboxRecentsModule(),
- new CassandraModSeqModule(),
- new CassandraUidModule(),
- new CassandraAttachmentModule(),
- new CassandraAnnotationModule(),
- new CassandraFirstUnseenModule(),
- new CassandraApplicableFlagsModule(),
- new CassandraDeletedMessageModule(),
- new CassandraBlobModule());
- cassandra = CassandraCluster.create(modules, cassandraServer.getHost());
+ cassandra = CassandraCluster.create(MailboxAggregateModule.MODULE, cassandraServer.getHost());
}
@Override
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdToImapUidDAOTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdToImapUidDAOTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdToImapUidDAOTest.java
index 0c57801..a273fb4 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdToImapUidDAOTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdToImapUidDAOTest.java
@@ -57,7 +57,7 @@ public class CassandraMessageIdToImapUidDAOTest {
@BeforeClass
public static void setUpClass() {
- cassandra = CassandraCluster.create(new CassandraMessageModule(), cassandraServer.getHost());
+ cassandra = CassandraCluster.create(CassandraMessageModule.MODULE, cassandraServer.getHost());
}
@Before
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapperTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapperTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapperTest.java
index f49f6d5..25a850e 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapperTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapperTest.java
@@ -21,20 +21,6 @@ package org.apache.james.mailbox.cassandra.mail;
import org.apache.james.backends.cassandra.CassandraCluster;
import org.apache.james.backends.cassandra.DockerCassandraRule;
-import org.apache.james.backends.cassandra.init.CassandraModuleComposite;
-import org.apache.james.blob.cassandra.CassandraBlobModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraAclModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraAnnotationModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraApplicableFlagsModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraAttachmentModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraDeletedMessageModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraFirstUnseenModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMailboxCounterModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMailboxModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMailboxRecentsModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMessageModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraModSeqModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraUidModule;
import org.apache.james.mailbox.store.mail.model.MapperProvider;
import org.apache.james.mailbox.store.mail.model.MessageMapperTest;
import org.junit.After;
@@ -51,21 +37,7 @@ public class CassandraMessageMapperTest extends MessageMapperTest {
@BeforeClass
public static void setUpClass() {
- CassandraModuleComposite modules = new CassandraModuleComposite(
- new CassandraAclModule(),
- new CassandraMailboxModule(),
- new CassandraMessageModule(),
- new CassandraMailboxCounterModule(),
- new CassandraMailboxRecentsModule(),
- new CassandraModSeqModule(),
- new CassandraUidModule(),
- new CassandraAttachmentModule(),
- new CassandraAnnotationModule(),
- new CassandraFirstUnseenModule(),
- new CassandraApplicableFlagsModule(),
- new CassandraDeletedMessageModule(),
- new CassandraBlobModule());
- cassandra = CassandraCluster.create(modules, cassandraServer.getHost());
+ cassandra = CassandraCluster.create(MailboxAggregateModule.MODULE, cassandraServer.getHost());
}
@Override
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMoveTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMoveTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMoveTest.java
index 53a6b5f..0d5d264 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMoveTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMoveTest.java
@@ -21,20 +21,6 @@ package org.apache.james.mailbox.cassandra.mail;
import org.apache.james.backends.cassandra.CassandraCluster;
import org.apache.james.backends.cassandra.DockerCassandraRule;
-import org.apache.james.backends.cassandra.init.CassandraModuleComposite;
-import org.apache.james.blob.cassandra.CassandraBlobModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraAclModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraAnnotationModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraApplicableFlagsModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraAttachmentModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraDeletedMessageModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraFirstUnseenModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMailboxCounterModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMailboxModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMailboxRecentsModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMessageModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraModSeqModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraUidModule;
import org.apache.james.mailbox.store.mail.model.MapperProvider;
import org.apache.james.mailbox.store.mail.model.MessageMoveTest;
import org.junit.After;
@@ -51,21 +37,7 @@ public class CassandraMessageMoveTest extends MessageMoveTest {
@BeforeClass
public static void setUpClass() {
- CassandraModuleComposite modules = new CassandraModuleComposite(
- new CassandraAclModule(),
- new CassandraMailboxModule(),
- new CassandraMessageModule(),
- new CassandraMailboxCounterModule(),
- new CassandraMailboxRecentsModule(),
- new CassandraModSeqModule(),
- new CassandraUidModule(),
- new CassandraAttachmentModule(),
- new CassandraAnnotationModule(),
- new CassandraFirstUnseenModule(),
- new CassandraApplicableFlagsModule(),
- new CassandraDeletedMessageModule(),
- new CassandraBlobModule());
- cassandra = CassandraCluster.create(modules, cassandraServer.getHost());
+ cassandra = CassandraCluster.create(MailboxAggregateModule.MODULE, cassandraServer.getHost());
}
@Override
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageWithAttachmentMapperTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageWithAttachmentMapperTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageWithAttachmentMapperTest.java
index bdbb3db..25dfc0c 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageWithAttachmentMapperTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageWithAttachmentMapperTest.java
@@ -21,20 +21,6 @@ package org.apache.james.mailbox.cassandra.mail;
import org.apache.james.backends.cassandra.CassandraCluster;
import org.apache.james.backends.cassandra.DockerCassandraRule;
-import org.apache.james.backends.cassandra.init.CassandraModuleComposite;
-import org.apache.james.blob.cassandra.CassandraBlobModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraAclModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraAnnotationModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraApplicableFlagsModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraAttachmentModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraDeletedMessageModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraFirstUnseenModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMailboxCounterModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMailboxModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMailboxRecentsModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMessageModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraModSeqModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraUidModule;
import org.apache.james.mailbox.store.mail.model.MapperProvider;
import org.apache.james.mailbox.store.mail.model.MessageWithAttachmentMapperTest;
import org.junit.After;
@@ -51,21 +37,7 @@ public class CassandraMessageWithAttachmentMapperTest extends MessageWithAttachm
@BeforeClass
public static void setUpClass() {
- CassandraModuleComposite modules = new CassandraModuleComposite(
- new CassandraAclModule(),
- new CassandraMailboxModule(),
- new CassandraMessageModule(),
- new CassandraMailboxCounterModule(),
- new CassandraMailboxRecentsModule(),
- new CassandraModSeqModule(),
- new CassandraUidModule(),
- new CassandraAttachmentModule(),
- new CassandraAnnotationModule(),
- new CassandraFirstUnseenModule(),
- new CassandraApplicableFlagsModule(),
- new CassandraDeletedMessageModule(),
- new CassandraBlobModule());
- cassandra = CassandraCluster.create(modules, cassandraServer.getHost());
+ cassandra = CassandraCluster.create(MailboxAggregateModule.MODULE, cassandraServer.getHost());
}
@Override
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraModSeqProviderTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraModSeqProviderTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraModSeqProviderTest.java
index f044385..9ae65ad 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraModSeqProviderTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraModSeqProviderTest.java
@@ -50,7 +50,7 @@ public class CassandraModSeqProviderTest {
@BeforeClass
public static void setUpClass() {
- cassandra = CassandraCluster.create(new CassandraModSeqModule(), cassandraServer.getHost());
+ cassandra = CassandraCluster.create(CassandraModSeqModule.MODULE, cassandraServer.getHost());
}
@Before
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProviderTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProviderTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProviderTest.java
index 45b75b7..fe0d6a1 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProviderTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProviderTest.java
@@ -51,7 +51,7 @@ public class CassandraUidProviderTest {
@BeforeClass
public static void setUpClass() {
- cassandra = CassandraCluster.create(new CassandraUidModule(), cassandraServer.getHost());
+ cassandra = CassandraCluster.create(CassandraUidModule.MODULE, cassandraServer.getHost());
}
@Before
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraUserMailboxRightsDAOTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraUserMailboxRightsDAOTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraUserMailboxRightsDAOTest.java
index 2d57219..d8a4c2d 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraUserMailboxRightsDAOTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraUserMailboxRightsDAOTest.java
@@ -54,7 +54,7 @@ public class CassandraUserMailboxRightsDAOTest {
@BeforeClass
public static void setUpClass() {
- cassandra = CassandraCluster.create(new CassandraAclModule(), cassandraServer.getHost());
+ cassandra = CassandraCluster.create(CassandraAclModule.MODULE, cassandraServer.getHost());
}
@Before
@@ -73,7 +73,7 @@ public class CassandraUserMailboxRightsDAOTest {
}
@Test
- public void saveShouldInsertNewEntry() throws Exception {
+ public void saveShouldInsertNewEntry() {
testee.update(MAILBOX_ID, ACLDiff.computeDiff(
MailboxACL.EMPTY,
new MailboxACL(new Entry(ENTRY_KEY, RIGHTS))))
@@ -84,7 +84,7 @@ public class CassandraUserMailboxRightsDAOTest {
}
@Test
- public void saveOnSecondShouldOverwrite() throws Exception {
+ public void saveOnSecondShouldOverwrite() {
testee.update(MAILBOX_ID, ACLDiff.computeDiff(
MailboxACL.EMPTY,
new MailboxACL(new Entry(ENTRY_KEY, RIGHTS))))
@@ -100,13 +100,13 @@ public class CassandraUserMailboxRightsDAOTest {
}
@Test
- public void listRightsForUserShouldReturnEmptyWhenEmptyData() throws Exception {
+ public void listRightsForUserShouldReturnEmptyWhenEmptyData() {
assertThat(testee.listRightsForUser(USER_NAME).join())
.isEmpty();
}
@Test
- public void deleteShouldDeleteWhenExisting() throws Exception {
+ public void deleteShouldDeleteWhenExisting() {
testee.update(MAILBOX_ID, ACLDiff.computeDiff(
MailboxACL.EMPTY,
new MailboxACL(new Entry(ENTRY_KEY, RIGHTS))))
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/MailboxAggregateModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/MailboxAggregateModule.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/MailboxAggregateModule.java
new file mode 100644
index 0000000..d2514cb
--- /dev/null
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/MailboxAggregateModule.java
@@ -0,0 +1,55 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one *
+ * or more contributor license agreements. See the NOTICE file *
+ * distributed with this work for additional information *
+ * regarding copyright ownership. The ASF licenses this file *
+ * to you under the Apache License, Version 2.0 (the *
+ * "License"); you may not use this file except in compliance *
+ * with the License. You may obtain a copy of the License at *
+ * *
+ * http://www.apache.org/licenses/LICENSE-2.0 *
+ * *
+ * Unless required by applicable law or agreed to in writing, *
+ * software distributed under the License is distributed on an *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
+ * KIND, either express or implied. See the License for the *
+ * specific language governing permissions and limitations *
+ * under the License. *
+ ****************************************************************/
+
+package org.apache.james.mailbox.cassandra.mail;
+
+import org.apache.james.backends.cassandra.components.CassandraModule;
+import org.apache.james.backends.cassandra.init.CassandraModuleComposite;
+import org.apache.james.blob.cassandra.CassandraBlobModule;
+import org.apache.james.mailbox.cassandra.modules.CassandraAclModule;
+import org.apache.james.mailbox.cassandra.modules.CassandraAnnotationModule;
+import org.apache.james.mailbox.cassandra.modules.CassandraApplicableFlagsModule;
+import org.apache.james.mailbox.cassandra.modules.CassandraAttachmentModule;
+import org.apache.james.mailbox.cassandra.modules.CassandraDeletedMessageModule;
+import org.apache.james.mailbox.cassandra.modules.CassandraFirstUnseenModule;
+import org.apache.james.mailbox.cassandra.modules.CassandraMailboxCounterModule;
+import org.apache.james.mailbox.cassandra.modules.CassandraMailboxModule;
+import org.apache.james.mailbox.cassandra.modules.CassandraMailboxRecentsModule;
+import org.apache.james.mailbox.cassandra.modules.CassandraMessageModule;
+import org.apache.james.mailbox.cassandra.modules.CassandraModSeqModule;
+import org.apache.james.mailbox.cassandra.modules.CassandraSubscriptionModule;
+import org.apache.james.mailbox.cassandra.modules.CassandraUidModule;
+
+public class MailboxAggregateModule {
+ public static CassandraModule MODULE = new CassandraModuleComposite(
+ CassandraAclModule.MODULE,
+ CassandraMailboxModule.MODULE,
+ CassandraMessageModule.MODULE,
+ CassandraBlobModule.MODULE,
+ CassandraAttachmentModule.MODULE,
+ CassandraMailboxCounterModule.MODULE,
+ CassandraMailboxRecentsModule.MODULE,
+ CassandraFirstUnseenModule.MODULE,
+ CassandraUidModule.MODULE,
+ CassandraModSeqModule.MODULE,
+ CassandraSubscriptionModule.MODULE,
+ CassandraDeletedMessageModule.MODULE,
+ CassandraAnnotationModule.MODULE,
+ CassandraApplicableFlagsModule.MODULE);
+}
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/migration/AttachmentMessageIdCreationTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/migration/AttachmentMessageIdCreationTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/migration/AttachmentMessageIdCreationTest.java
index 1c9b135..7cd3f71 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/migration/AttachmentMessageIdCreationTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/migration/AttachmentMessageIdCreationTest.java
@@ -36,7 +36,7 @@ import javax.mail.util.SharedByteArrayInputStream;
import org.apache.james.backends.cassandra.CassandraCluster;
import org.apache.james.backends.cassandra.DockerCassandraRule;
-import org.apache.james.backends.cassandra.init.CassandraModuleComposite;
+import org.apache.james.backends.cassandra.components.CassandraModule;
import org.apache.james.backends.cassandra.migration.Migration;
import org.apache.james.backends.cassandra.utils.CassandraUtils;
import org.apache.james.blob.cassandra.CassandraBlobId;
@@ -81,10 +81,10 @@ public class AttachmentMessageIdCreationTest {
@BeforeClass
public static void setUpClass() {
- CassandraModuleComposite modules = new CassandraModuleComposite(
- new CassandraMessageModule(),
- new CassandraAttachmentModule(),
- new CassandraBlobModule());
+ CassandraModule modules = CassandraModule.aggregateModules(
+ CassandraMessageModule.MODULE,
+ CassandraAttachmentModule.MODULE,
+ CassandraBlobModule.MODULE);
cassandra = CassandraCluster.create(modules, cassandraServer.getHost());
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/migration/AttachmentV2MigrationTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/migration/AttachmentV2MigrationTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/migration/AttachmentV2MigrationTest.java
index a110fe8..76f2099 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/migration/AttachmentV2MigrationTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/migration/AttachmentV2MigrationTest.java
@@ -30,7 +30,7 @@ import java.util.stream.Stream;
import org.apache.james.backends.cassandra.CassandraCluster;
import org.apache.james.backends.cassandra.DockerCassandraRule;
-import org.apache.james.backends.cassandra.init.CassandraModuleComposite;
+import org.apache.james.backends.cassandra.components.CassandraModule;
import org.apache.james.backends.cassandra.init.configuration.CassandraConfiguration;
import org.apache.james.backends.cassandra.migration.Migration;
import org.apache.james.backends.cassandra.utils.CassandraUtils;
@@ -67,9 +67,9 @@ public class AttachmentV2MigrationTest {
@BeforeClass
public static void setUpClass() {
- CassandraModuleComposite modules = new CassandraModuleComposite(
- new CassandraAttachmentModule(),
- new CassandraBlobModule());
+ CassandraModule modules = CassandraModule.aggregateModules(
+ CassandraAttachmentModule.MODULE,
+ CassandraBlobModule.MODULE);
cassandra = CassandraCluster.create(modules, cassandraServer.getHost());
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/migration/MailboxPathV2MigrationTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/migration/MailboxPathV2MigrationTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/migration/MailboxPathV2MigrationTest.java
index f37259d..92cdb5e 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/migration/MailboxPathV2MigrationTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/migration/MailboxPathV2MigrationTest.java
@@ -23,7 +23,7 @@ import static org.assertj.core.api.Assertions.assertThat;
import org.apache.james.backends.cassandra.CassandraCluster;
import org.apache.james.backends.cassandra.DockerCassandraRule;
-import org.apache.james.backends.cassandra.init.CassandraModuleComposite;
+import org.apache.james.backends.cassandra.components.CassandraModule;
import org.apache.james.backends.cassandra.init.configuration.CassandraConfiguration;
import org.apache.james.backends.cassandra.utils.CassandraUtils;
import org.apache.james.mailbox.cassandra.ids.CassandraId;
@@ -67,9 +67,9 @@ public class MailboxPathV2MigrationTest {
MAILBOX_1.setMailboxId(MAILBOX_ID_1);
cassandra = CassandraCluster.create(
- new CassandraModuleComposite(
- new CassandraMailboxModule(),
- new CassandraAclModule()),
+ CassandraModule.aggregateModules(
+ CassandraMailboxModule.MODULE,
+ CassandraAclModule.MODULE),
cassandraServer.getHost());
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/quota/CassandraCurrentQuotaManagerTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/quota/CassandraCurrentQuotaManagerTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/quota/CassandraCurrentQuotaManagerTest.java
index 004b76d..949b7e1 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/quota/CassandraCurrentQuotaManagerTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/quota/CassandraCurrentQuotaManagerTest.java
@@ -37,7 +37,7 @@ public class CassandraCurrentQuotaManagerTest extends StoreCurrentQuotaManagerTe
@BeforeClass
public static void setUpClass() {
- cassandra = CassandraCluster.create(new CassandraQuotaModule(), cassandraServer.getHost());
+ cassandra = CassandraCluster.create(CassandraQuotaModule.MODULE, cassandraServer.getHost());
}
@Override
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/quota/CassandraPerUserMaxQuotaManagerTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/quota/CassandraPerUserMaxQuotaManagerTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/quota/CassandraPerUserMaxQuotaManagerTest.java
index e22e333..3c65881 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/quota/CassandraPerUserMaxQuotaManagerTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/quota/CassandraPerUserMaxQuotaManagerTest.java
@@ -38,7 +38,7 @@ public class CassandraPerUserMaxQuotaManagerTest extends GenericMaxQuotaManagerT
@BeforeClass
public static void setUpClass() {
- cassandra = CassandraCluster.create(new CassandraQuotaModule(), cassandraServer.getHost());
+ cassandra = CassandraCluster.create(CassandraQuotaModule.MODULE, cassandraServer.getHost());
}
@Override
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/user/CassandraSubscriptionMapperTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/user/CassandraSubscriptionMapperTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/user/CassandraSubscriptionMapperTest.java
index 84a5294..34fb043 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/user/CassandraSubscriptionMapperTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/user/CassandraSubscriptionMapperTest.java
@@ -37,7 +37,7 @@ public class CassandraSubscriptionMapperTest extends SubscriptionMapperTest {
@BeforeClass
public static void setUpClass() {
- cassandra = CassandraCluster.create(new CassandraSubscriptionModule(), cassandraServer.getHost());
+ cassandra = CassandraCluster.create(CassandraSubscriptionModule.MODULE, cassandraServer.getHost());
}
@Override
protected SubscriptionMapper createSubscriptionMapper() {
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java b/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java
index 478ea37..f914410 100644
--- a/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java
+++ b/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java
@@ -21,7 +21,6 @@ package org.apache.james.mpt.imapmailbox.cassandra.host;
import org.apache.james.backends.cassandra.CassandraCluster;
import org.apache.james.backends.cassandra.components.CassandraModule;
import org.apache.james.backends.cassandra.init.CassandraModuleComposite;
-import org.apache.james.blob.cassandra.CassandraBlobModule;
import org.apache.james.core.quota.QuotaCount;
import org.apache.james.core.quota.QuotaSize;
import org.apache.james.imap.encode.main.DefaultImapEncoderFactory;
@@ -35,20 +34,8 @@ import org.apache.james.mailbox.cassandra.CassandraMailboxManager;
import org.apache.james.mailbox.cassandra.CassandraMailboxSessionMapperFactory;
import org.apache.james.mailbox.cassandra.TestCassandraMailboxSessionMapperFactory;
import org.apache.james.mailbox.cassandra.ids.CassandraMessageId;
-import org.apache.james.mailbox.cassandra.modules.CassandraAclModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraAnnotationModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraApplicableFlagsModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraAttachmentModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraDeletedMessageModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraFirstUnseenModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMailboxCounterModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMailboxModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMailboxRecentsModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMessageModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraModSeqModule;
+import org.apache.james.mailbox.cassandra.mail.MailboxAggregateModule;
import org.apache.james.mailbox.cassandra.modules.CassandraQuotaModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraSubscriptionModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraUidModule;
import org.apache.james.mailbox.cassandra.quota.CassandraCurrentQuotaManager;
import org.apache.james.mailbox.cassandra.quota.CassandraGlobalMaxQuotaDao;
import org.apache.james.mailbox.cassandra.quota.CassandraPerDomainMaxQuotaDao;
@@ -82,21 +69,8 @@ public class CassandraHostSystem extends JamesImapHostSystem {
Feature.MOD_SEQ_SEARCH);
private final CassandraModule mailboxModule = new CassandraModuleComposite(
- new CassandraAclModule(),
- new CassandraMailboxModule(),
- new CassandraMessageModule(),
- new CassandraBlobModule(),
- new CassandraMailboxCounterModule(),
- new CassandraMailboxRecentsModule(),
- new CassandraFirstUnseenModule(),
- new CassandraDeletedMessageModule(),
- new CassandraUidModule(),
- new CassandraModSeqModule(),
- new CassandraSubscriptionModule(),
- new CassandraQuotaModule(),
- new CassandraAttachmentModule(),
- new CassandraAnnotationModule(),
- new CassandraApplicableFlagsModule());
+ CassandraQuotaModule.MODULE,
+ MailboxAggregateModule.MODULE);
private final Host cassandraHost;
private CassandraMailboxManager mailboxManager;
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[21/27] james-project git commit: MAILBOX-342 CassandraModule.Builder
should allow to compose modules
Posted by bt...@apache.org.
MAILBOX-342 CassandraModule.Builder should allow to compose modules
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/2901528b
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/2901528b
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/2901528b
Branch: refs/heads/master
Commit: 2901528b2609a6833abddf0adf6e32fff0375e40
Parents: f6fda76
Author: benwa <bt...@linagora.com>
Authored: Wed Jul 25 11:21:01 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Jul 26 13:47:58 2018 +0700
----------------------------------------------------------------------
.../cassandra/components/CassandraModule.java | 34 +++++++++++-
.../init/CassandraModuleComposite.java | 55 --------------------
.../versions/CassandraSchemaVersionModule.java | 5 +-
.../cassandra/mail/MailboxAggregateModule.java | 36 +++++++------
.../cassandra/host/CassandraHostSystem.java | 9 +---
.../modules/mailbox/CassandraSessionModule.java | 3 +-
6 files changed, 56 insertions(+), 86 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/2901528b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/components/CassandraModule.java
----------------------------------------------------------------------
diff --git a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/components/CassandraModule.java b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/components/CassandraModule.java
index 7afb82f..252b6f9 100644
--- a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/components/CassandraModule.java
+++ b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/components/CassandraModule.java
@@ -19,6 +19,8 @@
package org.apache.james.backends.cassandra.components;
+import java.util.Arrays;
+import java.util.Collection;
import java.util.List;
import java.util.Optional;
import java.util.function.Function;
@@ -26,6 +28,7 @@ import java.util.function.Function;
import com.datastax.driver.core.schemabuilder.Create;
import com.datastax.driver.core.schemabuilder.CreateType;
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
+import com.github.steveash.guavate.Guavate;
import com.google.common.base.Preconditions;
import com.google.common.base.Strings;
import com.google.common.collect.ImmutableList;
@@ -69,6 +72,24 @@ public interface CassandraModule {
return new TypeBuilder(this, typeName);
}
+ public Builder module(CassandraModule module) {
+ return modules(ImmutableList.of(module));
+ }
+
+ public Builder modules(Collection<CassandraModule> modules) {
+ tables.addAll(modules.stream()
+ .flatMap(module -> module.moduleTables().stream())
+ .collect(Guavate.toImmutableList()));
+ types.addAll(modules.stream()
+ .flatMap(module -> module.moduleTypes().stream())
+ .collect(Guavate.toImmutableList()));
+ return this;
+ }
+
+ public Builder modules(CassandraModule... modules) {
+ return this.modules(Arrays.asList(modules));
+ }
+
public Impl build() {
return new Impl(
tables.build(),
@@ -95,7 +116,8 @@ public interface CassandraModule {
private TableBuilder(Builder originalBuilderReference, String tableName) {
this.originalBuilderReference = originalBuilderReference;
this.tableName = tableName;
- comment = Optional.empty();
+ this.comment = Optional.empty();
+ this.options = Optional.empty();
}
public TableBuilder comment(String comment) {
@@ -153,6 +175,16 @@ public interface CassandraModule {
return builder().table(tableName);
}
+ static CassandraModule aggregateModules(CassandraModule... modules) {
+ return aggregateModules(Arrays.asList(modules));
+ }
+
+ static CassandraModule aggregateModules(Collection<CassandraModule> modules) {
+ return builder()
+ .modules(modules)
+ .build();
+ }
+
List<CassandraTable> moduleTables();
List<CassandraType> moduleTypes();
http://git-wip-us.apache.org/repos/asf/james-project/blob/2901528b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/CassandraModuleComposite.java
----------------------------------------------------------------------
diff --git a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/CassandraModuleComposite.java b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/CassandraModuleComposite.java
deleted file mode 100644
index 38265b0..0000000
--- a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/CassandraModuleComposite.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one *
- * or more contributor license agreements. See the NOTICE file *
- * distributed with this work for additional information *
- * regarding copyright ownership. The ASF licenses this file *
- * to you under the Apache License, Version 2.0 (the *
- * "License"); you may not use this file except in compliance *
- * with the License. You may obtain a copy of the License at *
- * *
- * http://www.apache.org/licenses/LICENSE-2.0 *
- * *
- * Unless required by applicable law or agreed to in writing, *
- * software distributed under the License is distributed on an *
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
- * KIND, either express or implied. See the License for the *
- * specific language governing permissions and limitations *
- * under the License. *
- ****************************************************************/
-
-package org.apache.james.backends.cassandra.init;
-
-import java.util.Arrays;
-import java.util.List;
-
-import org.apache.james.backends.cassandra.components.CassandraModule;
-import org.apache.james.backends.cassandra.components.CassandraTable;
-import org.apache.james.backends.cassandra.components.CassandraType;
-
-import com.github.steveash.guavate.Guavate;
-import com.google.common.collect.ImmutableList;
-
-public class CassandraModuleComposite implements CassandraModule {
-
- private final ImmutableList<CassandraTable> tables;
- private final ImmutableList<CassandraType> types;
-
- public CassandraModuleComposite(CassandraModule... modules) {
- tables = Arrays.stream(modules)
- .flatMap(module -> module.moduleTables().stream())
- .collect(Guavate.toImmutableList());
- types = Arrays.stream(modules)
- .flatMap(module -> module.moduleTypes().stream())
- .collect(Guavate.toImmutableList());
- }
-
- @Override
- public List<CassandraTable> moduleTables() {
- return tables;
- }
-
- @Override
- public List<CassandraType> moduleTypes() {
- return types;
- }
-}
http://git-wip-us.apache.org/repos/asf/james-project/blob/2901528b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/versions/CassandraSchemaVersionModule.java
----------------------------------------------------------------------
diff --git a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/versions/CassandraSchemaVersionModule.java b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/versions/CassandraSchemaVersionModule.java
index acffb8a..18a9837 100644
--- a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/versions/CassandraSchemaVersionModule.java
+++ b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/versions/CassandraSchemaVersionModule.java
@@ -27,10 +27,9 @@ import org.apache.james.backends.cassandra.versions.table.CassandraSchemaVersion
public interface CassandraSchemaVersionModule {
CassandraModule MODULE = CassandraModule.table(CassandraSchemaVersionTable.TABLE_NAME)
+ .comment("Holds the history of the versions of the schema used.")
.statement(statement -> statement
.addPartitionKey(CassandraSchemaVersionTable.KEY, timeuuid())
- .addClusteringColumn(CassandraSchemaVersionTable.VALUE, cint())
- .withOptions()
- .comment("Holds the history of the versions of the schema used."))
+ .addClusteringColumn(CassandraSchemaVersionTable.VALUE, cint()))
.build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/2901528b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/MailboxAggregateModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/MailboxAggregateModule.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/MailboxAggregateModule.java
index d2514cb..841a785 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/MailboxAggregateModule.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/MailboxAggregateModule.java
@@ -20,7 +20,6 @@
package org.apache.james.mailbox.cassandra.mail;
import org.apache.james.backends.cassandra.components.CassandraModule;
-import org.apache.james.backends.cassandra.init.CassandraModuleComposite;
import org.apache.james.blob.cassandra.CassandraBlobModule;
import org.apache.james.mailbox.cassandra.modules.CassandraAclModule;
import org.apache.james.mailbox.cassandra.modules.CassandraAnnotationModule;
@@ -33,23 +32,26 @@ import org.apache.james.mailbox.cassandra.modules.CassandraMailboxModule;
import org.apache.james.mailbox.cassandra.modules.CassandraMailboxRecentsModule;
import org.apache.james.mailbox.cassandra.modules.CassandraMessageModule;
import org.apache.james.mailbox.cassandra.modules.CassandraModSeqModule;
+import org.apache.james.mailbox.cassandra.modules.CassandraQuotaModule;
import org.apache.james.mailbox.cassandra.modules.CassandraSubscriptionModule;
import org.apache.james.mailbox.cassandra.modules.CassandraUidModule;
-public class MailboxAggregateModule {
- public static CassandraModule MODULE = new CassandraModuleComposite(
- CassandraAclModule.MODULE,
- CassandraMailboxModule.MODULE,
- CassandraMessageModule.MODULE,
- CassandraBlobModule.MODULE,
- CassandraAttachmentModule.MODULE,
- CassandraMailboxCounterModule.MODULE,
- CassandraMailboxRecentsModule.MODULE,
- CassandraFirstUnseenModule.MODULE,
- CassandraUidModule.MODULE,
- CassandraModSeqModule.MODULE,
- CassandraSubscriptionModule.MODULE,
- CassandraDeletedMessageModule.MODULE,
- CassandraAnnotationModule.MODULE,
- CassandraApplicableFlagsModule.MODULE);
+public interface MailboxAggregateModule {
+ CassandraModule MODULE = CassandraModule.aggregateModules(
+ CassandraAclModule.MODULE,
+ CassandraMailboxModule.MODULE,
+ CassandraMessageModule.MODULE,
+ CassandraBlobModule.MODULE,
+ CassandraAttachmentModule.MODULE,
+ CassandraMailboxCounterModule.MODULE,
+ CassandraMailboxRecentsModule.MODULE,
+ CassandraFirstUnseenModule.MODULE,
+ CassandraUidModule.MODULE,
+ CassandraModSeqModule.MODULE,
+ CassandraSubscriptionModule.MODULE,
+ CassandraDeletedMessageModule.MODULE,
+ CassandraAnnotationModule.MODULE,
+ CassandraApplicableFlagsModule.MODULE);
+
+ CassandraModule MODULE_WITH_QUOTA = CassandraModule.aggregateModules(CassandraQuotaModule.MODULE, MODULE);
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/2901528b/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java b/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java
index f914410..aaa1b62 100644
--- a/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java
+++ b/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java
@@ -19,8 +19,6 @@
package org.apache.james.mpt.imapmailbox.cassandra.host;
import org.apache.james.backends.cassandra.CassandraCluster;
-import org.apache.james.backends.cassandra.components.CassandraModule;
-import org.apache.james.backends.cassandra.init.CassandraModuleComposite;
import org.apache.james.core.quota.QuotaCount;
import org.apache.james.core.quota.QuotaSize;
import org.apache.james.imap.encode.main.DefaultImapEncoderFactory;
@@ -35,7 +33,6 @@ import org.apache.james.mailbox.cassandra.CassandraMailboxSessionMapperFactory;
import org.apache.james.mailbox.cassandra.TestCassandraMailboxSessionMapperFactory;
import org.apache.james.mailbox.cassandra.ids.CassandraMessageId;
import org.apache.james.mailbox.cassandra.mail.MailboxAggregateModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraQuotaModule;
import org.apache.james.mailbox.cassandra.quota.CassandraCurrentQuotaManager;
import org.apache.james.mailbox.cassandra.quota.CassandraGlobalMaxQuotaDao;
import org.apache.james.mailbox.cassandra.quota.CassandraPerDomainMaxQuotaDao;
@@ -68,10 +65,6 @@ public class CassandraHostSystem extends JamesImapHostSystem {
Feature.ANNOTATION_SUPPORT,
Feature.MOD_SEQ_SEARCH);
- private final CassandraModule mailboxModule = new CassandraModuleComposite(
- CassandraQuotaModule.MODULE,
- MailboxAggregateModule.MODULE);
-
private final Host cassandraHost;
private CassandraMailboxManager mailboxManager;
private CassandraCluster cassandra;
@@ -84,7 +77,7 @@ public class CassandraHostSystem extends JamesImapHostSystem {
@Override
public void beforeTest() throws Exception {
super.beforeTest();
- cassandra = CassandraCluster.create(mailboxModule, cassandraHost);
+ cassandra = CassandraCluster.create(MailboxAggregateModule.MODULE_WITH_QUOTA, cassandraHost);
com.datastax.driver.core.Session session = cassandra.getConf();
CassandraMessageId.Factory messageIdFactory = new CassandraMessageId.Factory();
CassandraMailboxSessionMapperFactory mapperFactory = TestCassandraMailboxSessionMapperFactory.forTests(
http://git-wip-us.apache.org/repos/asf/james-project/blob/2901528b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java
----------------------------------------------------------------------
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java
index 0f27457..b018bdb 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java
@@ -26,7 +26,6 @@ import java.util.concurrent.ScheduledExecutorService;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;
import org.apache.james.backends.cassandra.components.CassandraModule;
-import org.apache.james.backends.cassandra.init.CassandraModuleComposite;
import org.apache.james.backends.cassandra.init.CassandraZonedDateTimeModule;
import org.apache.james.backends.cassandra.init.SessionWithInitializedTablesFactory;
import org.apache.james.backends.cassandra.init.configuration.CassandraConfiguration;
@@ -87,7 +86,7 @@ public class CassandraSessionModule extends AbstractModule {
@Provides
@Singleton
CassandraModule composeDataDefinitions(Set<CassandraModule> modules) {
- return new CassandraModuleComposite(modules.toArray(new CassandraModule[0]));
+ return CassandraModule.aggregateModules(modules);
}
@Provides
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[27/27] james-project git commit: JAMES-2481 Upgrade Javax HTTP
related APIs
Posted by bt...@apache.org.
JAMES-2481 Upgrade Javax HTTP related APIs
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/622c540e
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/622c540e
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/622c540e
Branch: refs/heads/master
Commit: 622c540e5a32d1d7978f8fe41d05d5242347084e
Parents: 1cce562
Author: benwa <bt...@linagora.com>
Authored: Mon Jul 23 13:29:12 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Jul 26 13:51:07 2018 +0700
----------------------------------------------------------------------
pom.xml | 12 +-----------
server/protocols/webadmin/webadmin-core/pom.xml | 7 ++++++-
2 files changed, 7 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/622c540e/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 76219a9..daea437 100644
--- a/pom.xml
+++ b/pom.xml
@@ -604,7 +604,6 @@
<geronimo-activation-spec.version>1.1</geronimo-activation-spec.version>
<geronimo-javamail.version>1.8.3</geronimo-javamail.version>
<slf4j.version>1.7.25</slf4j.version>
- <servlet-api.version>2.4</servlet-api.version>
<commons-logging.version>1.1.1</commons-logging.version>
<dnsjava.version>2.1.1</dnsjava.version>
@@ -1785,10 +1784,6 @@
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
- <exclusion>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- </exclusion>
</exclusions>
</dependency>
<dependency>
@@ -1864,12 +1859,7 @@
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
- <version>3.1.0</version>
- </dependency>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>${servlet-api.version}</version>
+ <version>4.0.1</version>
</dependency>
<dependency>
<groupId>jmock</groupId>
http://git-wip-us.apache.org/repos/asf/james-project/blob/622c540e/server/protocols/webadmin/webadmin-core/pom.xml
----------------------------------------------------------------------
diff --git a/server/protocols/webadmin/webadmin-core/pom.xml b/server/protocols/webadmin/webadmin-core/pom.xml
index b94ba11..45edf66 100644
--- a/server/protocols/webadmin/webadmin-core/pom.xml
+++ b/server/protocols/webadmin/webadmin-core/pom.xml
@@ -101,9 +101,14 @@
<artifactId>javax.inject</artifactId>
</dependency>
<dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>2.4</version>
+ </dependency>
+ <dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
- <version>2.0.1</version>
+ <version>2.1</version>
</dependency>
<dependency>
<groupId>junit</groupId>
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[24/27] james-project git commit: JAMES-2481 update openjpa version
in startup.sh
Posted by bt...@apache.org.
JAMES-2481 update openjpa version in startup.sh
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/e86b5ae8
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/e86b5ae8
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/e86b5ae8
Branch: refs/heads/master
Commit: e86b5ae884de64b76229842373130e9a0a336dcf
Parents: 2f3aaae
Author: duc <dt...@linagora.com>
Authored: Thu Jul 26 10:17:37 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Jul 26 13:51:07 2018 +0700
----------------------------------------------------------------------
dockerfiles/run/guice/provisioned/startup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/e86b5ae8/dockerfiles/run/guice/provisioned/startup.sh
----------------------------------------------------------------------
diff --git a/dockerfiles/run/guice/provisioned/startup.sh b/dockerfiles/run/guice/provisioned/startup.sh
index 83daaec..4ad5d37 100644
--- a/dockerfiles/run/guice/provisioned/startup.sh
+++ b/dockerfiles/run/guice/provisioned/startup.sh
@@ -2,4 +2,4 @@
wait-for-it.sh --host=localhost --port=9999 --strict --timeout=0 -- ./initialdata.sh &
-java -classpath '/root/james-server.jar:/root/james-server-jpa-guice.lib/*' -javaagent:/root/james-server-cli.lib/openjpa-2.4.2.jar -Dlogback.configurationFile=/root/conf/logback.xml -Dworking.directory=/root/ org.apache.james.JPAJamesServerMain
\ No newline at end of file
+java -classpath '/root/james-server.jar:/root/james-server-jpa-guice.lib/*' -javaagent:/root/james-server-cli.lib/openjpa-3.0.0.jar -Dlogback.configurationFile=/root/conf/logback.xml -Dworking.directory=/root/ org.apache.james.JPAJamesServerMain
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[11/27] james-project git commit: upgrade com.spotify:docker-client
Posted by bt...@apache.org.
upgrade com.spotify:docker-client
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/61ea0e6a
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/61ea0e6a
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/61ea0e6a
Branch: refs/heads/master
Commit: 61ea0e6a7e3a2923501bb5a94bc4d0e11dbfdd16
Parents: 03f3486
Author: duc <dt...@linagora.com>
Authored: Wed Jul 25 16:18:13 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Jul 26 13:47:39 2018 +0700
----------------------------------------------------------------------
mpt/impl/imap-mailbox/cyrus/pom.xml | 6 ++++++
.../org/apache/james/mpt/imapmailbox/cyrus/host/Docker.java | 7 ++++---
pom.xml | 5 -----
3 files changed, 10 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/61ea0e6a/mpt/impl/imap-mailbox/cyrus/pom.xml
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/cyrus/pom.xml b/mpt/impl/imap-mailbox/cyrus/pom.xml
index f189fb4..0db3799 100644
--- a/mpt/impl/imap-mailbox/cyrus/pom.xml
+++ b/mpt/impl/imap-mailbox/cyrus/pom.xml
@@ -42,6 +42,12 @@
<dependency>
<groupId>com.spotify</groupId>
<artifactId>docker-client</artifactId>
+ <version>8.11.7</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ <version>20.0</version>
</dependency>
</dependencies>
</project>
http://git-wip-us.apache.org/repos/asf/james-project/blob/61ea0e6a/mpt/impl/imap-mailbox/cyrus/src/test/java/org/apache/james/mpt/imapmailbox/cyrus/host/Docker.java
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/cyrus/src/test/java/org/apache/james/mpt/imapmailbox/cyrus/host/Docker.java b/mpt/impl/imap-mailbox/cyrus/src/test/java/org/apache/james/mpt/imapmailbox/cyrus/host/Docker.java
index 31767bb..0eeb63a 100644
--- a/mpt/impl/imap-mailbox/cyrus/src/test/java/org/apache/james/mpt/imapmailbox/cyrus/host/Docker.java
+++ b/mpt/impl/imap-mailbox/cyrus/src/test/java/org/apache/james/mpt/imapmailbox/cyrus/host/Docker.java
@@ -27,9 +27,10 @@ import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Iterables;
import com.jayway.awaitility.Awaitility;
import com.spotify.docker.client.DefaultDockerClient;
-import com.spotify.docker.client.DockerException;
+import com.spotify.docker.client.exceptions.DockerException;
import com.spotify.docker.client.messages.ContainerConfig;
import com.spotify.docker.client.messages.ContainerCreation;
+import com.spotify.docker.client.messages.ExecCreation;
import com.spotify.docker.client.messages.HostConfig;
public class Docker {
@@ -114,7 +115,7 @@ public class Docker {
public void createUser(ContainerCreation container, String user, String password) throws DockerException, InterruptedException {
String createUserCommand = String.format("echo %s | saslpasswd2 -u test -c %s -p", password, user);
- String execId = dockerClient.execCreate(container.id(), new String[] {"/bin/bash", "-c", createUserCommand});
- dockerClient.execStart(execId);
+ ExecCreation execCreation = dockerClient.execCreate(container.id(), new String[]{"/bin/bash", "-c", createUserCommand});
+ dockerClient.execStart(execCreation.id());
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/61ea0e6a/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index c540102..4f14c27 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1695,11 +1695,6 @@
<version>2.6.0</version>
</dependency>
<dependency>
- <groupId>com.spotify</groupId>
- <artifactId>docker-client</artifactId>
- <version>3.5.10</version>
- </dependency>
- <dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.1</version>
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[26/27] james-project git commit: JAMES-2481 Upgrade Spark Java to
2.7.2
Posted by bt...@apache.org.
JAMES-2481 Upgrade Spark Java to 2.7.2
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/aaa2d08a
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/aaa2d08a
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/aaa2d08a
Branch: refs/heads/master
Commit: aaa2d08a7698fddafcbe308ee7f2da225fd43f21
Parents: 622c540
Author: benwa <bt...@linagora.com>
Authored: Mon Jul 23 13:29:59 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Jul 26 13:51:07 2018 +0700
----------------------------------------------------------------------
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/aaa2d08a/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index daea437..0a5d000 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1692,7 +1692,7 @@
<dependency>
<groupId>com.sparkjava</groupId>
<artifactId>spark-core</artifactId>
- <version>2.6.0</version>
+ <version>2.7.2</version>
</dependency>
<dependency>
<groupId>com.sun.mail</groupId>
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[16/27] james-project git commit: MAILBOX-342 Use
CassandraModule.Builder for Cassandra data-jmap
Posted by bt...@apache.org.
MAILBOX-342 Use CassandraModule.Builder for Cassandra data-jmap
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/c6755229
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/c6755229
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/c6755229
Branch: refs/heads/master
Commit: c67552296f1b3eb430daef215e24b4db17f518df
Parents: b100add
Author: benwa <bt...@linagora.com>
Authored: Tue Jul 24 14:59:35 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Jul 26 13:47:39 2018 +0700
----------------------------------------------------------------------
.../james/modules/data/CassandraJmapModule.java | 7 ++-
.../cassandra/access/CassandraAccessModule.java | 44 ++++------------
.../CassandraNotificationRegistryModule.java | 46 +++++------------
.../vacation/CassandraVacationModule.java | 54 ++++++--------------
.../CassandraAccessTokenRepositoryTest.java | 2 +-
.../CassandraNotificationRegistryTest.java | 3 +-
.../CassandraVacationRepositoryTest.java | 4 +-
7 files changed, 46 insertions(+), 114 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/c6755229/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraJmapModule.java
----------------------------------------------------------------------
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraJmapModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraJmapModule.java
index 998b4f0..3a88c08 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraJmapModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraJmapModule.java
@@ -32,7 +32,6 @@ import org.apache.james.jmap.cassandra.vacation.CassandraVacationRepository;
import com.google.inject.AbstractModule;
import com.google.inject.Scopes;
-
import com.google.inject.multibindings.Multibinder;
public class CassandraJmapModule extends AbstractModule {
@@ -49,8 +48,8 @@ public class CassandraJmapModule extends AbstractModule {
bind(NotificationRegistry.class).to(CassandraNotificationRegistry.class);
Multibinder<CassandraModule> cassandraDataDefinitions = Multibinder.newSetBinder(binder(), CassandraModule.class);
- cassandraDataDefinitions.addBinding().to(CassandraAccessModule.class);
- cassandraDataDefinitions.addBinding().to(CassandraVacationModule.class);
- cassandraDataDefinitions.addBinding().to(CassandraNotificationRegistryModule.class);
+ cassandraDataDefinitions.addBinding().toInstance(CassandraAccessModule.MODULE);
+ cassandraDataDefinitions.addBinding().toInstance(CassandraVacationModule.MODULE);
+ cassandraDataDefinitions.addBinding().toInstance(CassandraNotificationRegistryModule.MODULE);
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/c6755229/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/access/CassandraAccessModule.java
----------------------------------------------------------------------
diff --git a/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/access/CassandraAccessModule.java b/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/access/CassandraAccessModule.java
index b57f71e..6f706d5 100644
--- a/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/access/CassandraAccessModule.java
+++ b/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/access/CassandraAccessModule.java
@@ -22,43 +22,21 @@ package org.apache.james.jmap.cassandra.access;
import static com.datastax.driver.core.DataType.text;
import static com.datastax.driver.core.DataType.uuid;
-import java.util.List;
-
import org.apache.james.backends.cassandra.components.CassandraModule;
-import org.apache.james.backends.cassandra.components.CassandraTable;
-import org.apache.james.backends.cassandra.components.CassandraType;
import org.apache.james.backends.cassandra.utils.CassandraConstants;
import org.apache.james.jmap.cassandra.access.table.CassandraAccessTokenTable;
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
-import com.google.common.collect.ImmutableList;
-
-public class CassandraAccessModule implements CassandraModule {
-
- private final List<CassandraTable> tables;
- private final List<CassandraType> types;
-
- public CassandraAccessModule() {
- tables = ImmutableList.of(
- new CassandraTable(CassandraAccessTokenTable.TABLE_NAME,
- SchemaBuilder.createTable(CassandraAccessTokenTable.TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(CassandraAccessTokenTable.TOKEN, uuid())
- .addColumn(CassandraAccessTokenTable.USERNAME, text())
- .withOptions()
- .comment("Holds JMAP access token required to process to authentication.")
- .caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION))));
- types = ImmutableList.of();
- }
-
- @Override
- public List<CassandraTable> moduleTables() {
- return tables;
- }
- @Override
- public List<CassandraType> moduleTypes() {
- return types;
- }
+public class CassandraAccessModule {
+ public static final CassandraModule MODULE = CassandraModule.table(CassandraAccessTokenTable.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(CassandraAccessTokenTable.TOKEN, uuid())
+ .addColumn(CassandraAccessTokenTable.USERNAME, text())
+ .withOptions()
+ .comment("Holds JMAP access token required to process to authentication.")
+ .caching(SchemaBuilder.KeyCaching.ALL,
+ SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
+ .build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/c6755229/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/vacation/CassandraNotificationRegistryModule.java
----------------------------------------------------------------------
diff --git a/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/vacation/CassandraNotificationRegistryModule.java b/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/vacation/CassandraNotificationRegistryModule.java
index 734556a..270fa50 100644
--- a/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/vacation/CassandraNotificationRegistryModule.java
+++ b/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/vacation/CassandraNotificationRegistryModule.java
@@ -21,44 +21,22 @@ package org.apache.james.jmap.cassandra.vacation;
import static com.datastax.driver.core.DataType.text;
-import java.util.List;
-
import org.apache.james.backends.cassandra.components.CassandraModule;
-import org.apache.james.backends.cassandra.components.CassandraTable;
-import org.apache.james.backends.cassandra.components.CassandraType;
import org.apache.james.backends.cassandra.utils.CassandraConstants;
import org.apache.james.jmap.cassandra.vacation.tables.CassandraNotificationTable;
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
-import com.google.common.collect.ImmutableList;
-
-public class CassandraNotificationRegistryModule implements CassandraModule {
-
- private final List<CassandraTable> tables;
- private final List<CassandraType> types;
-
- public CassandraNotificationRegistryModule() {
- tables = ImmutableList.of(
- new CassandraTable(CassandraNotificationTable.TABLE_NAME,
- SchemaBuilder.createTable(CassandraNotificationTable.TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(CassandraNotificationTable.ACCOUNT_ID, text())
- .addClusteringColumn(CassandraNotificationTable.RECIPIENT_ID, text())
- .withOptions()
- .comment("Stores registry of vacation notification being sent.")
- .compactionOptions(SchemaBuilder.dateTieredStrategy())
- .caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION))));
- types = ImmutableList.of();
- }
-
- @Override
- public List<CassandraTable> moduleTables() {
- return tables;
- }
- @Override
- public List<CassandraType> moduleTypes() {
- return types;
- }
+public class CassandraNotificationRegistryModule {
+ public static final CassandraModule MODULE = CassandraModule.table(CassandraNotificationTable.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(CassandraNotificationTable.ACCOUNT_ID, text())
+ .addClusteringColumn(CassandraNotificationTable.RECIPIENT_ID, text())
+ .withOptions()
+ .comment("Stores registry of vacation notification being sent.")
+ .compactionOptions(SchemaBuilder.dateTieredStrategy())
+ .caching(SchemaBuilder.KeyCaching.ALL,
+ SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
+ .build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/c6755229/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/vacation/CassandraVacationModule.java
----------------------------------------------------------------------
diff --git a/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/vacation/CassandraVacationModule.java b/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/vacation/CassandraVacationModule.java
index 2a9ba0a..5fa8567 100644
--- a/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/vacation/CassandraVacationModule.java
+++ b/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/vacation/CassandraVacationModule.java
@@ -22,49 +22,27 @@ package org.apache.james.jmap.cassandra.vacation;
import static com.datastax.driver.core.DataType.cboolean;
import static com.datastax.driver.core.DataType.text;
-import java.util.List;
-
import org.apache.james.backends.cassandra.components.CassandraModule;
-import org.apache.james.backends.cassandra.components.CassandraTable;
-import org.apache.james.backends.cassandra.components.CassandraType;
import org.apache.james.backends.cassandra.init.CassandraZonedDateTimeModule;
import org.apache.james.backends.cassandra.utils.CassandraConstants;
import org.apache.james.jmap.cassandra.vacation.tables.CassandraVacationTable;
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
-import com.google.common.collect.ImmutableList;
-
-public class CassandraVacationModule implements CassandraModule {
-
- private final List<CassandraTable> tables;
- private final List<CassandraType> types;
-
- public CassandraVacationModule() {
- tables = ImmutableList.of(
- new CassandraTable(CassandraVacationTable.TABLE_NAME,
- SchemaBuilder.createTable(CassandraVacationTable.TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(CassandraVacationTable.ACCOUNT_ID, text())
- .addColumn(CassandraVacationTable.IS_ENABLED, cboolean())
- .addUDTColumn(CassandraVacationTable.FROM_DATE, SchemaBuilder.frozen(CassandraZonedDateTimeModule.ZONED_DATE_TIME))
- .addUDTColumn(CassandraVacationTable.TO_DATE, SchemaBuilder.frozen(CassandraZonedDateTimeModule.ZONED_DATE_TIME))
- .addColumn(CassandraVacationTable.TEXT, text())
- .addColumn(CassandraVacationTable.SUBJECT, text())
- .addColumn(CassandraVacationTable.HTML, text())
- .withOptions()
- .comment("Holds vacation definition. Allow one to automatically respond to emails with a custom message.")
- .caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION))));
- types = ImmutableList.of();
- }
-
- @Override
- public List<CassandraTable> moduleTables() {
- return tables;
- }
- @Override
- public List<CassandraType> moduleTypes() {
- return types;
- }
+public class CassandraVacationModule {
+ public static final CassandraModule MODULE = CassandraModule.table(CassandraVacationTable.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(CassandraVacationTable.ACCOUNT_ID, text())
+ .addColumn(CassandraVacationTable.IS_ENABLED, cboolean())
+ .addUDTColumn(CassandraVacationTable.FROM_DATE, SchemaBuilder.frozen(CassandraZonedDateTimeModule.ZONED_DATE_TIME))
+ .addUDTColumn(CassandraVacationTable.TO_DATE, SchemaBuilder.frozen(CassandraZonedDateTimeModule.ZONED_DATE_TIME))
+ .addColumn(CassandraVacationTable.TEXT, text())
+ .addColumn(CassandraVacationTable.SUBJECT, text())
+ .addColumn(CassandraVacationTable.HTML, text())
+ .withOptions()
+ .comment("Holds vacation definition. Allow one to automatically respond to emails with a custom message.")
+ .caching(SchemaBuilder.KeyCaching.ALL,
+ SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
+ .build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/c6755229/server/data/data-jmap-cassandra/src/test/java/org/apache/james/jmap/cassandra/access/CassandraAccessTokenRepositoryTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-jmap-cassandra/src/test/java/org/apache/james/jmap/cassandra/access/CassandraAccessTokenRepositoryTest.java b/server/data/data-jmap-cassandra/src/test/java/org/apache/james/jmap/cassandra/access/CassandraAccessTokenRepositoryTest.java
index c0164cb..7908c6c 100644
--- a/server/data/data-jmap-cassandra/src/test/java/org/apache/james/jmap/cassandra/access/CassandraAccessTokenRepositoryTest.java
+++ b/server/data/data-jmap-cassandra/src/test/java/org/apache/james/jmap/cassandra/access/CassandraAccessTokenRepositoryTest.java
@@ -37,7 +37,7 @@ public class CassandraAccessTokenRepositoryTest extends AccessTokenRepositoryTes
@BeforeClass
public static void setUpClass() {
- cassandra = CassandraCluster.create(new CassandraAccessModule(), cassandraServer.getHost());
+ cassandra = CassandraCluster.create(CassandraAccessModule.MODULE, cassandraServer.getHost());
}
@Override
http://git-wip-us.apache.org/repos/asf/james-project/blob/c6755229/server/data/data-jmap-cassandra/src/test/java/org/apache/james/jmap/cassandra/vacation/CassandraNotificationRegistryTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-jmap-cassandra/src/test/java/org/apache/james/jmap/cassandra/vacation/CassandraNotificationRegistryTest.java b/server/data/data-jmap-cassandra/src/test/java/org/apache/james/jmap/cassandra/vacation/CassandraNotificationRegistryTest.java
index b1d8175..ec4e48e 100644
--- a/server/data/data-jmap-cassandra/src/test/java/org/apache/james/jmap/cassandra/vacation/CassandraNotificationRegistryTest.java
+++ b/server/data/data-jmap-cassandra/src/test/java/org/apache/james/jmap/cassandra/vacation/CassandraNotificationRegistryTest.java
@@ -38,13 +38,12 @@ public class CassandraNotificationRegistryTest extends AbstractNotificationRegis
@BeforeClass
public static void setUpClass() {
- cassandra = CassandraCluster.create(new CassandraNotificationRegistryModule(), cassandraServer.getHost());
+ cassandra = CassandraCluster.create(CassandraNotificationRegistryModule.MODULE, cassandraServer.getHost());
}
@Override
@Before
public void setUp() throws Exception {
- cassandra = CassandraCluster.create(new CassandraNotificationRegistryModule(), cassandraServer.getHost());
super.setUp();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/c6755229/server/data/data-jmap-cassandra/src/test/java/org/apache/james/jmap/cassandra/vacation/CassandraVacationRepositoryTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-jmap-cassandra/src/test/java/org/apache/james/jmap/cassandra/vacation/CassandraVacationRepositoryTest.java b/server/data/data-jmap-cassandra/src/test/java/org/apache/james/jmap/cassandra/vacation/CassandraVacationRepositoryTest.java
index 6c18a27..7db419b 100644
--- a/server/data/data-jmap-cassandra/src/test/java/org/apache/james/jmap/cassandra/vacation/CassandraVacationRepositoryTest.java
+++ b/server/data/data-jmap-cassandra/src/test/java/org/apache/james/jmap/cassandra/vacation/CassandraVacationRepositoryTest.java
@@ -21,7 +21,7 @@ package org.apache.james.jmap.cassandra.vacation;
import org.apache.james.backends.cassandra.CassandraCluster;
import org.apache.james.backends.cassandra.DockerCassandraRule;
-import org.apache.james.backends.cassandra.init.CassandraModuleComposite;
+import org.apache.james.backends.cassandra.components.CassandraModule;
import org.apache.james.backends.cassandra.init.CassandraZonedDateTimeModule;
import org.apache.james.jmap.api.vacation.AbstractVacationRepositoryTest;
import org.apache.james.jmap.api.vacation.VacationRepository;
@@ -39,7 +39,7 @@ public class CassandraVacationRepositoryTest extends AbstractVacationRepositoryT
@BeforeClass
public static void setUpClass() {
- CassandraModuleComposite module = new CassandraModuleComposite(new CassandraVacationModule(), new CassandraZonedDateTimeModule());
+ CassandraModule module = CassandraModule.aggregateModules(CassandraVacationModule.MODULE, CassandraZonedDateTimeModule.MODULE);
cassandra = CassandraCluster.create(module, cassandraServer.getHost());
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[17/27] james-project git commit: MAILBOX-342 Use
CassandraModule.Builder in cassandra-backend
Posted by bt...@apache.org.
MAILBOX-342 Use CassandraModule.Builder in cassandra-backend
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/63b7ca83
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/63b7ca83
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/63b7ca83
Branch: refs/heads/master
Commit: 63b7ca83de34fba19bc097cdf4e7a352dabf5175
Parents: dd7020d
Author: benwa <bt...@linagora.com>
Authored: Tue Jul 24 14:47:02 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Jul 26 13:47:39 2018 +0700
----------------------------------------------------------------------
.../init/CassandraZonedDateTimeModule.java | 46 +++++---------------
.../versions/CassandraSchemaVersionModule.java | 41 ++++-------------
.../init/CassandraTypeProviderTest.java | 23 +++-------
.../backends/cassandra/utils/PaggingTest.java | 27 +++---------
.../versions/CassandraSchemaVersionDAOTest.java | 2 +-
.../modules/mailbox/CassandraSessionModule.java | 4 +-
6 files changed, 34 insertions(+), 109 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/63b7ca83/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/CassandraZonedDateTimeModule.java
----------------------------------------------------------------------
diff --git a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/CassandraZonedDateTimeModule.java b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/CassandraZonedDateTimeModule.java
index 0ef3461..fe81f81 100644
--- a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/CassandraZonedDateTimeModule.java
+++ b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/CassandraZonedDateTimeModule.java
@@ -22,41 +22,17 @@ package org.apache.james.backends.cassandra.init;
import static com.datastax.driver.core.DataType.text;
import static com.datastax.driver.core.DataType.timestamp;
-import java.util.Collections;
-import java.util.List;
-
import org.apache.james.backends.cassandra.components.CassandraModule;
-import org.apache.james.backends.cassandra.components.CassandraTable;
-import org.apache.james.backends.cassandra.components.CassandraType;
-
-import com.datastax.driver.core.schemabuilder.SchemaBuilder;
-
-public class CassandraZonedDateTimeModule implements CassandraModule {
-
- public static final String ZONED_DATE_TIME = "zonedDateTime";
- public static final String DATE = "date";
- public static final String TIME_ZONE = "timeZone";
-
- private final List<CassandraTable> tables;
- private final List<CassandraType> types;
-
- public CassandraZonedDateTimeModule() {
- tables = Collections.emptyList();
- types = Collections.singletonList(
- new CassandraType(ZONED_DATE_TIME,
- SchemaBuilder.createType(ZONED_DATE_TIME)
- .ifNotExists()
- .addColumn(DATE, timestamp())
- .addColumn(TIME_ZONE, text())));
- }
-
- @Override
- public List<CassandraTable> moduleTables() {
- return tables;
- }
- @Override
- public List<CassandraType> moduleTypes() {
- return types;
- }
+public interface CassandraZonedDateTimeModule {
+ String ZONED_DATE_TIME = "zonedDateTime";
+ String DATE = "date";
+ String TIME_ZONE = "timeZone";
+
+ CassandraModule MODULE = CassandraModule.type(ZONED_DATE_TIME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addColumn(DATE, timestamp())
+ .addColumn(TIME_ZONE, text()))
+ .build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/63b7ca83/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/versions/CassandraSchemaVersionModule.java
----------------------------------------------------------------------
diff --git a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/versions/CassandraSchemaVersionModule.java b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/versions/CassandraSchemaVersionModule.java
index 0b5d55d..74d043e 100644
--- a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/versions/CassandraSchemaVersionModule.java
+++ b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/versions/CassandraSchemaVersionModule.java
@@ -22,39 +22,16 @@ package org.apache.james.backends.cassandra.versions;
import static com.datastax.driver.core.DataType.cint;
import static com.datastax.driver.core.DataType.timeuuid;
-import java.util.List;
-
import org.apache.james.backends.cassandra.components.CassandraModule;
-import org.apache.james.backends.cassandra.components.CassandraTable;
-import org.apache.james.backends.cassandra.components.CassandraType;
import org.apache.james.backends.cassandra.versions.table.CassandraSchemaVersionTable;
-import com.datastax.driver.core.schemabuilder.SchemaBuilder;
-import com.google.common.collect.ImmutableList;
-
-public class CassandraSchemaVersionModule implements CassandraModule {
-
- private final List<CassandraTable> tables;
-
- public CassandraSchemaVersionModule() {
- this.tables = ImmutableList.of(
- new CassandraTable(CassandraSchemaVersionTable.TABLE_NAME,
- SchemaBuilder.createTable(CassandraSchemaVersionTable.TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(CassandraSchemaVersionTable.KEY, timeuuid())
- .addClusteringColumn(CassandraSchemaVersionTable.VALUE, cint())
- .withOptions()
- .comment("Holds the history of the versions of the schema used.")));
- }
-
-
- @Override
- public List<CassandraTable> moduleTables() {
- return tables;
- }
-
- @Override
- public List<CassandraType> moduleTypes() {
- return ImmutableList.of();
- }
+public interface CassandraSchemaVersionModule {
+ CassandraModule MODULE = CassandraModule.table(CassandraSchemaVersionTable.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(CassandraSchemaVersionTable.KEY, timeuuid())
+ .addClusteringColumn(CassandraSchemaVersionTable.VALUE, cint())
+ .withOptions()
+ .comment("Holds the history of the versions of the schema used."))
+ .build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/63b7ca83/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/init/CassandraTypeProviderTest.java
----------------------------------------------------------------------
diff --git a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/init/CassandraTypeProviderTest.java b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/init/CassandraTypeProviderTest.java
index 1b48b22..7993251 100644
--- a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/init/CassandraTypeProviderTest.java
+++ b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/init/CassandraTypeProviderTest.java
@@ -22,21 +22,15 @@ package org.apache.james.backends.cassandra.init;
import static com.datastax.driver.core.DataType.text;
import static org.assertj.core.api.Assertions.assertThat;
-import java.util.Arrays;
-import java.util.List;
-
import org.apache.james.backends.cassandra.CassandraCluster;
import org.apache.james.backends.cassandra.DockerCassandraRule;
import org.apache.james.backends.cassandra.components.CassandraModule;
-import org.apache.james.backends.cassandra.components.CassandraTable;
-import org.apache.james.backends.cassandra.components.CassandraType;
import org.junit.After;
import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Test;
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
-import com.google.common.collect.ImmutableList;
public class CassandraTypeProviderTest {
@@ -50,18 +44,11 @@ public class CassandraTypeProviderTest {
@Before
public void setUp() {
- module = new CassandraModule() {
- @Override public List<CassandraTable> moduleTables() {
- return ImmutableList.of();
- }
-
- @Override public List<CassandraType> moduleTypes() {
- return ImmutableList.copyOf(
- Arrays.asList(new CassandraType(TYPE_NAME, SchemaBuilder.createType(TYPE_NAME)
- .ifNotExists()
- .addColumn(PROPERTY, text()))));
- }
- };
+ module = CassandraModule.type(TYPE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addColumn(PROPERTY, text()))
+ .build();
cassandra = CassandraCluster.create(module, cassandraServer.getHost());
cassandra.getTypesProvider();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/63b7ca83/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/utils/PaggingTest.java
----------------------------------------------------------------------
diff --git a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/utils/PaggingTest.java b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/utils/PaggingTest.java
index 9fde48f..1946928 100644
--- a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/utils/PaggingTest.java
+++ b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/utils/PaggingTest.java
@@ -24,15 +24,12 @@ import static com.datastax.driver.core.querybuilder.QueryBuilder.insertInto;
import static com.datastax.driver.core.querybuilder.QueryBuilder.select;
import static org.assertj.core.api.Assertions.assertThat;
-import java.util.List;
import java.util.UUID;
import java.util.stream.IntStream;
import org.apache.james.backends.cassandra.CassandraCluster;
import org.apache.james.backends.cassandra.DockerCassandraRule;
import org.apache.james.backends.cassandra.components.CassandraModule;
-import org.apache.james.backends.cassandra.components.CassandraTable;
-import org.apache.james.backends.cassandra.components.CassandraType;
import org.apache.james.util.CompletableFutureUtil;
import org.junit.After;
import org.junit.AfterClass;
@@ -42,9 +39,7 @@ import org.junit.ClassRule;
import org.junit.Test;
import com.datastax.driver.core.DataType;
-import com.datastax.driver.core.schemabuilder.SchemaBuilder;
import com.datastax.driver.core.utils.UUIDs;
-import com.google.common.collect.ImmutableList;
public class PaggingTest {
@@ -58,24 +53,14 @@ public class PaggingTest {
private static CassandraCluster cassandra;
private CassandraAsyncExecutor executor;
-
@BeforeClass
public static void setUpClass() {
- CassandraModule modules = new CassandraModule() {
- @Override
- public List<CassandraTable> moduleTables() {
- return ImmutableList.of(new CassandraTable(TABLE_NAME,
- SchemaBuilder.createTable(TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(ID, DataType.timeuuid())
- .addClusteringColumn(CLUSTERING, DataType.bigint())));
- }
-
- @Override
- public List<CassandraType> moduleTypes() {
- return ImmutableList.of();
- }
- };
+ CassandraModule modules = CassandraModule.table(TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(ID, DataType.timeuuid())
+ .addClusteringColumn(CLUSTERING, DataType.bigint()))
+ .build();
cassandra = CassandraCluster.create(modules, cassandraServer.getHost());
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/63b7ca83/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/versions/CassandraSchemaVersionDAOTest.java
----------------------------------------------------------------------
diff --git a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/versions/CassandraSchemaVersionDAOTest.java b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/versions/CassandraSchemaVersionDAOTest.java
index 463fb63..7db01dd 100644
--- a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/versions/CassandraSchemaVersionDAOTest.java
+++ b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/versions/CassandraSchemaVersionDAOTest.java
@@ -43,7 +43,7 @@ public class CassandraSchemaVersionDAOTest {
@BeforeClass
public static void setUpClass() {
- cassandra = CassandraCluster.create(new CassandraSchemaVersionModule(), cassandraServer.getHost());
+ cassandra = CassandraCluster.create(CassandraSchemaVersionModule.MODULE, cassandraServer.getHost());
}
@Before
http://git-wip-us.apache.org/repos/asf/james-project/blob/63b7ca83/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java
----------------------------------------------------------------------
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java
index 4214367..0f27457 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java
@@ -73,8 +73,8 @@ public class CassandraSessionModule extends AbstractModule {
bind(Cluster.class).toProvider(ResilientClusterProvider.class);
Multibinder<CassandraModule> cassandraDataDefinitions = Multibinder.newSetBinder(binder(), CassandraModule.class);
- cassandraDataDefinitions.addBinding().to(CassandraZonedDateTimeModule.class);
- cassandraDataDefinitions.addBinding().to(CassandraSchemaVersionModule.class);
+ cassandraDataDefinitions.addBinding().toInstance(CassandraZonedDateTimeModule.MODULE);
+ cassandraDataDefinitions.addBinding().toInstance(CassandraSchemaVersionModule.MODULE);
bind(CassandraSchemaVersionManager.class).in(Scopes.SINGLETON);
bind(CassandraSchemaVersionDAO.class).in(Scopes.SINGLETON);
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[05/27] james-project git commit: upgrade
com.datastax.cassandra:cassandra-driver-core
Posted by bt...@apache.org.
upgrade com.datastax.cassandra:cassandra-driver-core
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/2dc249e8
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/2dc249e8
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/2dc249e8
Branch: refs/heads/master
Commit: 2dc249e83cb51f0b30099c134c9ac79ce30cab7d
Parents: 9d9b042
Author: duc <dt...@linagora.com>
Authored: Wed Jul 25 15:13:17 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Jul 26 13:46:51 2018 +0700
----------------------------------------------------------------------
backends-common/cassandra/pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/2dc249e8/backends-common/cassandra/pom.xml
----------------------------------------------------------------------
diff --git a/backends-common/cassandra/pom.xml b/backends-common/cassandra/pom.xml
index ca97a34..e779451 100644
--- a/backends-common/cassandra/pom.xml
+++ b/backends-common/cassandra/pom.xml
@@ -31,7 +31,7 @@
<name>Apache James Cassandra backend</name>
<properties>
- <cassandra.driver.version>3.5.0</cassandra.driver.version>
+ <cassandra.driver.version>3.5.1</cassandra.driver.version>
</properties>
<dependencies>
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[10/27] james-project git commit: MAILBOX-342 Use
CassandraModule.Builder for data-cassandra
Posted by bt...@apache.org.
MAILBOX-342 Use CassandraModule.Builder for data-cassandra
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/3a92defc
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/3a92defc
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/3a92defc
Branch: refs/heads/master
Commit: 3a92defcfaef55f7c30c4ad27dc41e3ac6095f10
Parents: 3c50770
Author: benwa <bt...@linagora.com>
Authored: Tue Jul 24 14:55:50 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Jul 26 13:47:39 2018 +0700
----------------------------------------------------------------------
.../cassandra/host/CassandraHostSystem.java | 8 +-
.../modules/data/CassandraDomainListModule.java | 2 +-
.../data/CassandraMailRepositoryModule.java | 2 +-
.../CassandraRecipientRewriteTableModule.java | 2 +-
.../data/CassandraSieveRepositoryModule.java | 2 +-
.../data/CassandraUsersRepositoryModule.java | 2 +-
.../cassandra/CassandraDomainListModule.java | 41 ++------
.../CassandraMailRepositoryUrlModule.java | 42 ++------
.../james/rrt/cassandra/CassandraRRTModule.java | 46 +++-----
.../CassandraSieveRepositoryModule.java | 105 ++++++++-----------
.../CassandraUsersRepositoryModule.java | 44 ++------
.../cassandra/CassandraDomainListTest.java | 2 +-
...assandraMailRepositoryUrlStoreExtension.java | 4 +-
.../CassandraRecipientRewriteTableTest.java | 2 +-
.../james/rrt/cassandra/CassandraStepdefs.java | 2 +-
.../cassandra/CassandraActiveScriptDAOTest.java | 2 +-
.../sieve/cassandra/CassandraSieveDAOTest.java | 2 +-
.../cassandra/CassandraSieveQuotaDAOTest.java | 2 +-
.../cassandra/CassandraSieveRepositoryTest.java | 2 +-
.../cassandra/CassandraUsersRepositoryTest.java | 2 +-
20 files changed, 103 insertions(+), 213 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/3a92defc/mpt/impl/managesieve/cassandra/src/test/java/org/apache/james/mpt/managesieve/cassandra/host/CassandraHostSystem.java
----------------------------------------------------------------------
diff --git a/mpt/impl/managesieve/cassandra/src/test/java/org/apache/james/mpt/managesieve/cassandra/host/CassandraHostSystem.java b/mpt/impl/managesieve/cassandra/src/test/java/org/apache/james/mpt/managesieve/cassandra/host/CassandraHostSystem.java
index 62c07ce..f424021 100644
--- a/mpt/impl/managesieve/cassandra/src/test/java/org/apache/james/mpt/managesieve/cassandra/host/CassandraHostSystem.java
+++ b/mpt/impl/managesieve/cassandra/src/test/java/org/apache/james/mpt/managesieve/cassandra/host/CassandraHostSystem.java
@@ -20,7 +20,7 @@
package org.apache.james.mpt.managesieve.cassandra.host;
import org.apache.james.backends.cassandra.CassandraCluster;
-import org.apache.james.backends.cassandra.init.CassandraModuleComposite;
+import org.apache.james.backends.cassandra.components.CassandraModule;
import org.apache.james.backends.cassandra.utils.CassandraUtils;
import org.apache.james.mpt.host.JamesManageSieveHostSystem;
import org.apache.james.sieve.cassandra.CassandraActiveScriptDAO;
@@ -44,9 +44,9 @@ public class CassandraHostSystem extends JamesManageSieveHostSystem {
@Override
public void beforeTest() throws Exception {
- CassandraModuleComposite modules = new CassandraModuleComposite(
- new CassandraSieveRepositoryModule(),
- new CassandraUsersRepositoryModule());
+ CassandraModule modules = CassandraModule.aggregateModules(
+ CassandraSieveRepositoryModule.MODULE,
+ CassandraUsersRepositoryModule.MODULE);
cassandra = CassandraCluster.create(modules, cassandraHost);
super.beforeTest();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/3a92defc/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraDomainListModule.java
----------------------------------------------------------------------
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraDomainListModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraDomainListModule.java
index 1ef8a9c..4d253af 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraDomainListModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraDomainListModule.java
@@ -41,7 +41,7 @@ public class CassandraDomainListModule extends AbstractModule {
public void configure() {
bind(CassandraDomainList.class).in(Scopes.SINGLETON);
bind(DomainList.class).to(CassandraDomainList.class);
- Multibinder.newSetBinder(binder(), CassandraModule.class).addBinding().to(org.apache.james.domainlist.cassandra.CassandraDomainListModule.class);
+ Multibinder.newSetBinder(binder(), CassandraModule.class).addBinding().toInstance(org.apache.james.domainlist.cassandra.CassandraDomainListModule.MODULE);
Multibinder.newSetBinder(binder(), ConfigurationPerformer.class).addBinding().to(CassandraDomainListConfigurationPerformer.class);
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/3a92defc/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraMailRepositoryModule.java
----------------------------------------------------------------------
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraMailRepositoryModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraMailRepositoryModule.java
index 7f2cf90..695d0e8 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraMailRepositoryModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraMailRepositoryModule.java
@@ -52,7 +52,7 @@ public class CassandraMailRepositoryModule extends AbstractModule {
Multibinder<CassandraModule> cassandraModuleBinder = Multibinder.newSetBinder(binder(), CassandraModule.class);
cassandraModuleBinder.addBinding().to(org.apache.james.mailrepository.cassandra.CassandraMailRepositoryModule.class);
- cassandraModuleBinder.addBinding().to(CassandraMailRepositoryUrlModule.class);
+ cassandraModuleBinder.addBinding().toInstance(CassandraMailRepositoryUrlModule.MODULE);
}
public static class CassandraMailRepositoryProvider implements MailRepositoryProvider {
http://git-wip-us.apache.org/repos/asf/james-project/blob/3a92defc/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraRecipientRewriteTableModule.java
----------------------------------------------------------------------
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraRecipientRewriteTableModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraRecipientRewriteTableModule.java
index 0d0e4bf..22b48e8 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraRecipientRewriteTableModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraRecipientRewriteTableModule.java
@@ -43,7 +43,7 @@ public class CassandraRecipientRewriteTableModule extends AbstractModule {
bind(CassandraRecipientRewriteTable.class).in(Scopes.SINGLETON);
bind(RecipientRewriteTable.class).to(CassandraRecipientRewriteTable.class);
Multibinder<CassandraModule> cassandraDataDefinitions = Multibinder.newSetBinder(binder(), CassandraModule.class);
- cassandraDataDefinitions.addBinding().to(CassandraRRTModule.class);
+ cassandraDataDefinitions.addBinding().toInstance(CassandraRRTModule.MODULE);
Multibinder.newSetBinder(binder(), ConfigurationPerformer.class).addBinding().to(CassandraRecipientRewriteTablePerformer.class);
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/3a92defc/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraSieveRepositoryModule.java
----------------------------------------------------------------------
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraSieveRepositoryModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraSieveRepositoryModule.java
index f4947b8..d83bb36 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraSieveRepositoryModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraSieveRepositoryModule.java
@@ -37,6 +37,6 @@ public class CassandraSieveRepositoryModule extends AbstractModule {
bind(SieveQuotaRepository.class).to(CassandraSieveRepository.class);
Multibinder<CassandraModule> cassandraDataDefinitions = Multibinder.newSetBinder(binder(), CassandraModule.class);
- cassandraDataDefinitions.addBinding().to(org.apache.james.sieve.cassandra.CassandraSieveRepositoryModule.class);
+ cassandraDataDefinitions.addBinding().toInstance(org.apache.james.sieve.cassandra.CassandraSieveRepositoryModule.MODULE);
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/3a92defc/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraUsersRepositoryModule.java
----------------------------------------------------------------------
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraUsersRepositoryModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraUsersRepositoryModule.java
index a495699..9b465d0 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraUsersRepositoryModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraUsersRepositoryModule.java
@@ -41,7 +41,7 @@ public class CassandraUsersRepositoryModule extends AbstractModule {
bind(CassandraUsersRepository.class).in(Scopes.SINGLETON);
bind(UsersRepository.class).to(CassandraUsersRepository.class);
Multibinder<CassandraModule> cassandraDataDefinitions = Multibinder.newSetBinder(binder(), CassandraModule.class);
- cassandraDataDefinitions.addBinding().to(org.apache.james.user.cassandra.CassandraUsersRepositoryModule.class);
+ cassandraDataDefinitions.addBinding().toInstance(org.apache.james.user.cassandra.CassandraUsersRepositoryModule.MODULE);
Multibinder.newSetBinder(binder(), ConfigurationPerformer.class).addBinding().to(CassandraUsersRepositoryConfigurationPerformer.class);
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/3a92defc/server/data/data-cassandra/src/main/java/org/apache/james/domainlist/cassandra/CassandraDomainListModule.java
----------------------------------------------------------------------
diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/domainlist/cassandra/CassandraDomainListModule.java b/server/data/data-cassandra/src/main/java/org/apache/james/domainlist/cassandra/CassandraDomainListModule.java
index 2b797c9..cd38715 100644
--- a/server/data/data-cassandra/src/main/java/org/apache/james/domainlist/cassandra/CassandraDomainListModule.java
+++ b/server/data/data-cassandra/src/main/java/org/apache/james/domainlist/cassandra/CassandraDomainListModule.java
@@ -21,41 +21,20 @@ package org.apache.james.domainlist.cassandra;
import static com.datastax.driver.core.DataType.text;
-import java.util.List;
-
import org.apache.james.backends.cassandra.components.CassandraModule;
-import org.apache.james.backends.cassandra.components.CassandraTable;
-import org.apache.james.backends.cassandra.components.CassandraType;
import org.apache.james.backends.cassandra.utils.CassandraConstants;
import org.apache.james.domainlist.cassandra.tables.CassandraDomainsTable;
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
-import com.google.common.collect.ImmutableList;
-
-public class CassandraDomainListModule implements CassandraModule {
- private final List<CassandraTable> tables;
- private final List<CassandraType> types;
-
- public CassandraDomainListModule() {
- tables = ImmutableList.of(
- new CassandraTable(CassandraDomainsTable.TABLE_NAME,
- SchemaBuilder.createTable(CassandraDomainsTable.TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(CassandraDomainsTable.DOMAIN, text())
- .withOptions()
- .comment("Holds domains this James server is operating on.")
- .caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION))));
- types = ImmutableList.of();
- }
-
- @Override
- public List<CassandraTable> moduleTables() {
- return tables;
- }
- @Override
- public List<CassandraType> moduleTypes() {
- return types;
- }
+public class CassandraDomainListModule {
+ public static final CassandraModule MODULE = CassandraModule.table(CassandraDomainsTable.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(CassandraDomainsTable.DOMAIN, text())
+ .withOptions()
+ .comment("Holds domains this James server is operating on.")
+ .caching(SchemaBuilder.KeyCaching.ALL,
+ SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
+ .build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/3a92defc/server/data/data-cassandra/src/main/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryUrlModule.java
----------------------------------------------------------------------
diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryUrlModule.java b/server/data/data-cassandra/src/main/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryUrlModule.java
index 6caf5e1..5f269fd 100644
--- a/server/data/data-cassandra/src/main/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryUrlModule.java
+++ b/server/data/data-cassandra/src/main/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryUrlModule.java
@@ -21,41 +21,19 @@ package org.apache.james.mailrepository.cassandra;
import static com.datastax.driver.core.DataType.text;
-import java.util.List;
-
import org.apache.james.backends.cassandra.components.CassandraModule;
-import org.apache.james.backends.cassandra.components.CassandraTable;
-import org.apache.james.backends.cassandra.components.CassandraType;
import org.apache.james.backends.cassandra.utils.CassandraConstants;
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
-import com.google.common.collect.ImmutableList;
-
-public class CassandraMailRepositoryUrlModule implements CassandraModule {
-
- private final List<CassandraTable> tables;
- private final List<CassandraType> types;
-
- public CassandraMailRepositoryUrlModule() {
- tables = ImmutableList.of(
- new CassandraTable(UrlsTable.TABLE_NAME,
- SchemaBuilder.createTable(UrlsTable.TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(UrlsTable.URL, text())
- .withOptions()
- .comment("Holds the list of available mail repository")
- .caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION))));
- types = ImmutableList.of();
- }
-
- @Override
- public List<CassandraTable> moduleTables() {
- return tables;
- }
- @Override
- public List<CassandraType> moduleTypes() {
- return types;
- }
+public class CassandraMailRepositoryUrlModule {
+ public static final CassandraModule MODULE = CassandraModule.table(UrlsTable.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(UrlsTable.URL, text())
+ .withOptions()
+ .comment("Holds the list of available mail repository")
+ .caching(SchemaBuilder.KeyCaching.ALL,
+ SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
+ .build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/3a92defc/server/data/data-cassandra/src/main/java/org/apache/james/rrt/cassandra/CassandraRRTModule.java
----------------------------------------------------------------------
diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/rrt/cassandra/CassandraRRTModule.java b/server/data/data-cassandra/src/main/java/org/apache/james/rrt/cassandra/CassandraRRTModule.java
index 401babd..da8cd62 100644
--- a/server/data/data-cassandra/src/main/java/org/apache/james/rrt/cassandra/CassandraRRTModule.java
+++ b/server/data/data-cassandra/src/main/java/org/apache/james/rrt/cassandra/CassandraRRTModule.java
@@ -21,44 +21,22 @@ package org.apache.james.rrt.cassandra;
import static com.datastax.driver.core.DataType.text;
-import java.util.List;
-
import org.apache.james.backends.cassandra.components.CassandraModule;
-import org.apache.james.backends.cassandra.components.CassandraTable;
-import org.apache.james.backends.cassandra.components.CassandraType;
import org.apache.james.backends.cassandra.utils.CassandraConstants;
import org.apache.james.rrt.cassandra.tables.CassandraRecipientRewriteTableTable;
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
-import com.google.common.collect.ImmutableList;
-
-public class CassandraRRTModule implements CassandraModule {
-
- private final List<CassandraTable> tables;
- private final List<CassandraType> types;
-
- public CassandraRRTModule() {
- tables = ImmutableList.of(
- new CassandraTable(CassandraRecipientRewriteTableTable.TABLE_NAME,
- SchemaBuilder.createTable(CassandraRecipientRewriteTableTable.TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(CassandraRecipientRewriteTableTable.USER, text())
- .addClusteringColumn(CassandraRecipientRewriteTableTable.DOMAIN, text())
- .addClusteringColumn(CassandraRecipientRewriteTableTable.MAPPING, text())
- .withOptions()
- .comment("Holds address re-writing rules.")
- .caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION))));
- types = ImmutableList.of();
- }
-
- @Override
- public List<CassandraTable> moduleTables() {
- return tables;
- }
- @Override
- public List<CassandraType> moduleTypes() {
- return types;
- }
+public class CassandraRRTModule {
+ public static final CassandraModule MODULE = CassandraModule.table(CassandraRecipientRewriteTableTable.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(CassandraRecipientRewriteTableTable.USER, text())
+ .addClusteringColumn(CassandraRecipientRewriteTableTable.DOMAIN, text())
+ .addClusteringColumn(CassandraRecipientRewriteTableTable.MAPPING, text())
+ .withOptions()
+ .comment("Holds address re-writing rules.")
+ .caching(SchemaBuilder.KeyCaching.ALL,
+ SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
+ .build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/3a92defc/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraSieveRepositoryModule.java
----------------------------------------------------------------------
diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraSieveRepositoryModule.java b/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraSieveRepositoryModule.java
index a599eb4..ddaccb5 100644
--- a/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraSieveRepositoryModule.java
+++ b/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraSieveRepositoryModule.java
@@ -25,76 +25,55 @@ import static com.datastax.driver.core.DataType.counter;
import static com.datastax.driver.core.DataType.text;
import static com.datastax.driver.core.DataType.timestamp;
-import java.util.List;
-
import org.apache.james.backends.cassandra.components.CassandraModule;
-import org.apache.james.backends.cassandra.components.CassandraTable;
-import org.apache.james.backends.cassandra.components.CassandraType;
import org.apache.james.sieve.cassandra.tables.CassandraSieveActiveTable;
import org.apache.james.sieve.cassandra.tables.CassandraSieveClusterQuotaTable;
import org.apache.james.sieve.cassandra.tables.CassandraSieveQuotaTable;
import org.apache.james.sieve.cassandra.tables.CassandraSieveSpaceTable;
import org.apache.james.sieve.cassandra.tables.CassandraSieveTable;
-import com.datastax.driver.core.schemabuilder.SchemaBuilder;
-import com.google.common.collect.ImmutableList;
-
-public class CassandraSieveRepositoryModule implements CassandraModule {
-
- private final List<CassandraTable> tables;
- private final List<CassandraType> types;
-
- public CassandraSieveRepositoryModule() {
- tables = ImmutableList.of(
- new CassandraTable(CassandraSieveTable.TABLE_NAME,
- SchemaBuilder.createTable(CassandraSieveTable.TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(CassandraSieveTable.USER_NAME, text())
- .addClusteringColumn(CassandraSieveTable.SCRIPT_NAME, text())
- .addColumn(CassandraSieveTable.SCRIPT_CONTENT, text())
- .addColumn(CassandraSieveTable.IS_ACTIVE, cboolean())
- .addColumn(CassandraSieveTable.SIZE, bigint())
- .withOptions()
- .comment("Holds SIEVE scripts.")),
- new CassandraTable(CassandraSieveSpaceTable.TABLE_NAME,
- SchemaBuilder.createTable(CassandraSieveSpaceTable.TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(CassandraSieveSpaceTable.USER_NAME, text())
- .addColumn(CassandraSieveSpaceTable.SPACE_USED, counter())
- .withOptions()
- .comment("Holds per user current space occupied by SIEVE scripts.")),
- new CassandraTable(CassandraSieveQuotaTable.TABLE_NAME,
- SchemaBuilder.createTable(CassandraSieveQuotaTable.TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(CassandraSieveQuotaTable.USER_NAME, text())
- .addColumn(CassandraSieveQuotaTable.QUOTA, bigint())
- .withOptions()
- .comment("Holds per user size limitations for SIEVE script storage.")),
- new CassandraTable(CassandraSieveClusterQuotaTable.TABLE_NAME,
- SchemaBuilder.createTable(CassandraSieveClusterQuotaTable.TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(CassandraSieveClusterQuotaTable.NAME, text())
- .addColumn(CassandraSieveClusterQuotaTable.VALUE, bigint())
- .withOptions()
- .comment("Holds default size limitations for SIEVE script storage.")),
- new CassandraTable(CassandraSieveActiveTable.TABLE_NAME,
- SchemaBuilder.createTable(CassandraSieveActiveTable.TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(CassandraSieveActiveTable.USER_NAME, text())
- .addColumn(CassandraSieveActiveTable.SCRIPT_NAME, text())
- .addColumn(CassandraSieveActiveTable.DATE, timestamp())
- .withOptions()
- .comment("Denormalisation table. Allows per user direct active SIEVE script retrieval.")));
- types = ImmutableList.of();
- }
+public interface CassandraSieveRepositoryModule {
- @Override
- public List<CassandraTable> moduleTables() {
- return tables;
- }
+ CassandraModule MODULE = CassandraModule.builder()
+ .table(CassandraSieveTable.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(CassandraSieveTable.USER_NAME, text())
+ .addClusteringColumn(CassandraSieveTable.SCRIPT_NAME, text())
+ .addColumn(CassandraSieveTable.SCRIPT_CONTENT, text())
+ .addColumn(CassandraSieveTable.IS_ACTIVE, cboolean())
+ .addColumn(CassandraSieveTable.SIZE, bigint())
+ .withOptions()
+ .comment("Holds SIEVE scripts."))
+ .table(CassandraSieveSpaceTable.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(CassandraSieveSpaceTable.USER_NAME, text())
+ .addColumn(CassandraSieveSpaceTable.SPACE_USED, counter())
+ .withOptions()
+ .comment("Holds per user current space occupied by SIEVE scripts."))
+ .table(CassandraSieveQuotaTable.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(CassandraSieveQuotaTable.USER_NAME, text())
+ .addColumn(CassandraSieveQuotaTable.QUOTA, bigint())
+ .withOptions()
+ .comment("Holds per user size limitations for SIEVE script storage."))
+ .table(CassandraSieveClusterQuotaTable.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(CassandraSieveClusterQuotaTable.NAME, text())
+ .addColumn(CassandraSieveClusterQuotaTable.VALUE, bigint())
+ .withOptions()
+ .comment("Holds default size limitations for SIEVE script storage."))
+ .table(CassandraSieveActiveTable.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(CassandraSieveActiveTable.USER_NAME, text())
+ .addColumn(CassandraSieveActiveTable.SCRIPT_NAME, text())
+ .addColumn(CassandraSieveActiveTable.DATE, timestamp())
+ .withOptions()
+ .comment("Denormalisation table. Allows per user direct active SIEVE script retrieval."))
+ .build();
- @Override
- public List<CassandraType> moduleTypes() {
- return types;
- }
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/3a92defc/server/data/data-cassandra/src/main/java/org/apache/james/user/cassandra/CassandraUsersRepositoryModule.java
----------------------------------------------------------------------
diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/user/cassandra/CassandraUsersRepositoryModule.java b/server/data/data-cassandra/src/main/java/org/apache/james/user/cassandra/CassandraUsersRepositoryModule.java
index 67d2775..1bb176d 100644
--- a/server/data/data-cassandra/src/main/java/org/apache/james/user/cassandra/CassandraUsersRepositoryModule.java
+++ b/server/data/data-cassandra/src/main/java/org/apache/james/user/cassandra/CassandraUsersRepositoryModule.java
@@ -21,42 +21,20 @@ package org.apache.james.user.cassandra;
import static com.datastax.driver.core.DataType.text;
-import java.util.List;
-
import org.apache.james.backends.cassandra.components.CassandraModule;
-import org.apache.james.backends.cassandra.components.CassandraTable;
-import org.apache.james.backends.cassandra.components.CassandraType;
import org.apache.james.user.cassandra.tables.CassandraUserTable;
-import com.datastax.driver.core.schemabuilder.SchemaBuilder;
-import com.google.common.collect.ImmutableList;
-
-public class CassandraUsersRepositoryModule implements CassandraModule {
-
- private final List<CassandraTable> tables;
- private final List<CassandraType> types;
-
- public CassandraUsersRepositoryModule() {
- tables = ImmutableList.of(
- new CassandraTable(CassandraUserTable.TABLE_NAME,
- SchemaBuilder.createTable(CassandraUserTable.TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(CassandraUserTable.NAME, text())
- .addColumn(CassandraUserTable.REALNAME, text())
- .addColumn(CassandraUserTable.PASSWORD, text())
- .addColumn(CassandraUserTable.ALGORITHM, text())
- .withOptions()
- .comment("Holds users of this James server.")));
- types = ImmutableList.of();
- }
+public class CassandraUsersRepositoryModule {
- @Override
- public List<CassandraTable> moduleTables() {
- return tables;
- }
+ public static final CassandraModule MODULE = CassandraModule.table(CassandraUserTable.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(CassandraUserTable.NAME, text())
+ .addColumn(CassandraUserTable.REALNAME, text())
+ .addColumn(CassandraUserTable.PASSWORD, text())
+ .addColumn(CassandraUserTable.ALGORITHM, text())
+ .withOptions()
+ .comment("Holds users of this James server."))
+ .build();
- @Override
- public List<CassandraType> moduleTypes() {
- return types;
- }
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/3a92defc/server/data/data-cassandra/src/test/java/org/apache/james/domainlist/cassandra/CassandraDomainListTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-cassandra/src/test/java/org/apache/james/domainlist/cassandra/CassandraDomainListTest.java b/server/data/data-cassandra/src/test/java/org/apache/james/domainlist/cassandra/CassandraDomainListTest.java
index af722d1..efe7e82 100644
--- a/server/data/data-cassandra/src/test/java/org/apache/james/domainlist/cassandra/CassandraDomainListTest.java
+++ b/server/data/data-cassandra/src/test/java/org/apache/james/domainlist/cassandra/CassandraDomainListTest.java
@@ -37,7 +37,7 @@ public class CassandraDomainListTest extends AbstractDomainListTest {
@BeforeClass
public static void setUpClass() {
- cassandra = CassandraCluster.create(new CassandraDomainListModule(), cassandraServer.getHost());
+ cassandra = CassandraCluster.create(CassandraDomainListModule.MODULE, cassandraServer.getHost());
}
@Override
http://git-wip-us.apache.org/repos/asf/james-project/blob/3a92defc/server/data/data-cassandra/src/test/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryUrlStoreExtension.java
----------------------------------------------------------------------
diff --git a/server/data/data-cassandra/src/test/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryUrlStoreExtension.java b/server/data/data-cassandra/src/test/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryUrlStoreExtension.java
index 282a525..fa9818a 100644
--- a/server/data/data-cassandra/src/test/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryUrlStoreExtension.java
+++ b/server/data/data-cassandra/src/test/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryUrlStoreExtension.java
@@ -43,7 +43,7 @@ public class CassandraMailRepositoryUrlStoreExtension implements ParameterResolv
public void beforeAll(ExtensionContext context) {
cassandra.start();
cassandraCluster = CassandraCluster.create(
- new CassandraMailRepositoryUrlModule(),
+ CassandraMailRepositoryUrlModule.MODULE,
cassandra.getHost());
}
@@ -65,8 +65,6 @@ public class CassandraMailRepositoryUrlStoreExtension implements ParameterResolv
@Override
public Object resolveParameter(ParameterContext parameterContext, ExtensionContext extensionContext) throws ParameterResolutionException {
-
-
return new CassandraMailRepositoryUrlStore(
new UrlsDao(
cassandraCluster.getConf(),
http://git-wip-us.apache.org/repos/asf/james-project/blob/3a92defc/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraRecipientRewriteTableTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraRecipientRewriteTableTest.java b/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraRecipientRewriteTableTest.java
index 4b6ae00..c7d6d6f 100644
--- a/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraRecipientRewriteTableTest.java
+++ b/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraRecipientRewriteTableTest.java
@@ -38,7 +38,7 @@ public class CassandraRecipientRewriteTableTest extends AbstractRecipientRewrite
@BeforeClass
public static void setUpClass() {
- cassandra = CassandraCluster.create(new CassandraRRTModule(), cassandraServer.getHost());
+ cassandra = CassandraCluster.create(CassandraRRTModule.MODULE, cassandraServer.getHost());
}
@Override
http://git-wip-us.apache.org/repos/asf/james-project/blob/3a92defc/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraStepdefs.java
----------------------------------------------------------------------
diff --git a/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraStepdefs.java b/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraStepdefs.java
index 4681a4b..3c2916c 100644
--- a/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraStepdefs.java
+++ b/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraStepdefs.java
@@ -39,7 +39,7 @@ public class CassandraStepdefs {
@Before
public void setup() throws Throwable {
- cassandra = CassandraCluster.create(new CassandraRRTModule(), RewriteTablesTest.cassandraServer.getHost());
+ cassandra = CassandraCluster.create(CassandraRRTModule.MODULE, RewriteTablesTest.cassandraServer.getHost());
mainStepdefs.rewriteTable = getRecipientRewriteTable();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/3a92defc/server/data/data-cassandra/src/test/java/org/apache/james/sieve/cassandra/CassandraActiveScriptDAOTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-cassandra/src/test/java/org/apache/james/sieve/cassandra/CassandraActiveScriptDAOTest.java b/server/data/data-cassandra/src/test/java/org/apache/james/sieve/cassandra/CassandraActiveScriptDAOTest.java
index d0ff1db..4b973b9 100644
--- a/server/data/data-cassandra/src/test/java/org/apache/james/sieve/cassandra/CassandraActiveScriptDAOTest.java
+++ b/server/data/data-cassandra/src/test/java/org/apache/james/sieve/cassandra/CassandraActiveScriptDAOTest.java
@@ -48,7 +48,7 @@ public class CassandraActiveScriptDAOTest {
@BeforeClass
public static void setUpClass() {
- cassandra = CassandraCluster.create(new CassandraSieveRepositoryModule(), cassandraServer.getHost());
+ cassandra = CassandraCluster.create(CassandraSieveRepositoryModule.MODULE, cassandraServer.getHost());
}
@Before
http://git-wip-us.apache.org/repos/asf/james-project/blob/3a92defc/server/data/data-cassandra/src/test/java/org/apache/james/sieve/cassandra/CassandraSieveDAOTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-cassandra/src/test/java/org/apache/james/sieve/cassandra/CassandraSieveDAOTest.java b/server/data/data-cassandra/src/test/java/org/apache/james/sieve/cassandra/CassandraSieveDAOTest.java
index 2601263..4ddb6ba 100644
--- a/server/data/data-cassandra/src/test/java/org/apache/james/sieve/cassandra/CassandraSieveDAOTest.java
+++ b/server/data/data-cassandra/src/test/java/org/apache/james/sieve/cassandra/CassandraSieveDAOTest.java
@@ -68,7 +68,7 @@ public class CassandraSieveDAOTest {
@BeforeClass
public static void setUpClass() {
- cassandra = CassandraCluster.create(new CassandraSieveRepositoryModule(), cassandraServer.getHost());
+ cassandra = CassandraCluster.create(CassandraSieveRepositoryModule.MODULE, cassandraServer.getHost());
}
@Before
http://git-wip-us.apache.org/repos/asf/james-project/blob/3a92defc/server/data/data-cassandra/src/test/java/org/apache/james/sieve/cassandra/CassandraSieveQuotaDAOTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-cassandra/src/test/java/org/apache/james/sieve/cassandra/CassandraSieveQuotaDAOTest.java b/server/data/data-cassandra/src/test/java/org/apache/james/sieve/cassandra/CassandraSieveQuotaDAOTest.java
index 95880eb..56692d2 100644
--- a/server/data/data-cassandra/src/test/java/org/apache/james/sieve/cassandra/CassandraSieveQuotaDAOTest.java
+++ b/server/data/data-cassandra/src/test/java/org/apache/james/sieve/cassandra/CassandraSieveQuotaDAOTest.java
@@ -44,7 +44,7 @@ public class CassandraSieveQuotaDAOTest {
@BeforeClass
public static void setUpClass() {
- cassandra = CassandraCluster.create(new CassandraSieveRepositoryModule(), cassandraServer.getHost());
+ cassandra = CassandraCluster.create(CassandraSieveRepositoryModule.MODULE, cassandraServer.getHost());
}
@Before
http://git-wip-us.apache.org/repos/asf/james-project/blob/3a92defc/server/data/data-cassandra/src/test/java/org/apache/james/sieve/cassandra/CassandraSieveRepositoryTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-cassandra/src/test/java/org/apache/james/sieve/cassandra/CassandraSieveRepositoryTest.java b/server/data/data-cassandra/src/test/java/org/apache/james/sieve/cassandra/CassandraSieveRepositoryTest.java
index 6696d96..13d8666 100644
--- a/server/data/data-cassandra/src/test/java/org/apache/james/sieve/cassandra/CassandraSieveRepositoryTest.java
+++ b/server/data/data-cassandra/src/test/java/org/apache/james/sieve/cassandra/CassandraSieveRepositoryTest.java
@@ -37,7 +37,7 @@ public class CassandraSieveRepositoryTest extends AbstractSieveRepositoryTest {
@BeforeClass
public static void setUpClass() {
- cassandra = CassandraCluster.create(new CassandraSieveRepositoryModule(), cassandraServer.getHost());
+ cassandra = CassandraCluster.create(CassandraSieveRepositoryModule.MODULE, cassandraServer.getHost());
}
@Override
http://git-wip-us.apache.org/repos/asf/james-project/blob/3a92defc/server/data/data-cassandra/src/test/java/org/apache/james/user/cassandra/CassandraUsersRepositoryTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-cassandra/src/test/java/org/apache/james/user/cassandra/CassandraUsersRepositoryTest.java b/server/data/data-cassandra/src/test/java/org/apache/james/user/cassandra/CassandraUsersRepositoryTest.java
index 818bf8b..2951016 100644
--- a/server/data/data-cassandra/src/test/java/org/apache/james/user/cassandra/CassandraUsersRepositoryTest.java
+++ b/server/data/data-cassandra/src/test/java/org/apache/james/user/cassandra/CassandraUsersRepositoryTest.java
@@ -38,7 +38,7 @@ public class CassandraUsersRepositoryTest extends AbstractUsersRepositoryTest {
@BeforeClass
public static void setUpClass() {
- cassandra = CassandraCluster.create(new CassandraUsersRepositoryModule(), cassandraServer.getHost());
+ cassandra = CassandraCluster.create(CassandraUsersRepositoryModule.MODULE, cassandraServer.getHost());
}
@Override
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[03/27] james-project git commit: JAMES-2497 Remove h2
Posted by bt...@apache.org.
JAMES-2497 Remove h2
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/e6381b41
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/e6381b41
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/e6381b41
Branch: refs/heads/master
Commit: e6381b41f527674e5d0a5bd4335c4ad7907a5fa9
Parents: 0271026
Author: Gautier DI FOLCO <gd...@linagora.com>
Authored: Tue Jul 24 14:38:53 2018 +0200
Committer: benwa <bt...@linagora.com>
Committed: Thu Jul 26 13:46:51 2018 +0700
----------------------------------------------------------------------
backends-common/jpa/pom.xml | 4 ++--
.../org/apache/james/backends/jpa/JpaTestCluster.java | 4 ++--
mailbox/jpa/pom.xml | 10 +++++-----
mpt/impl/imap-mailbox/jpa/pom.xml | 4 ++--
mpt/impl/imap-mailbox/lucenesearch/pom.xml | 10 +++++-----
mpt/pom.xml | 1 -
pom.xml | 6 ------
server/container/guice/jpa-smtp-mariadb/pom.xml | 4 ++--
server/container/guice/jpa-smtp/pom.xml | 4 ++--
server/data/data-jpa/pom.xml | 4 ++--
10 files changed, 22 insertions(+), 29 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/e6381b41/backends-common/jpa/pom.xml
----------------------------------------------------------------------
diff --git a/backends-common/jpa/pom.xml b/backends-common/jpa/pom.xml
index 3fad710..2db2a06 100644
--- a/backends-common/jpa/pom.xml
+++ b/backends-common/jpa/pom.xml
@@ -15,8 +15,8 @@
<artifactId>guava</artifactId>
</dependency>
<dependency>
- <groupId>com.h2database</groupId>
- <artifactId>h2</artifactId>
+ <groupId>org.apache.derby</groupId>
+ <artifactId>derby</artifactId>
<scope>test</scope>
</dependency>
<dependency>
http://git-wip-us.apache.org/repos/asf/james-project/blob/e6381b41/backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JpaTestCluster.java
----------------------------------------------------------------------
diff --git a/backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JpaTestCluster.java b/backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JpaTestCluster.java
index fc96085..135b931 100644
--- a/backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JpaTestCluster.java
+++ b/backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JpaTestCluster.java
@@ -38,8 +38,8 @@ public class JpaTestCluster {
public static JpaTestCluster create(List<Class<?>> clazz) {
HashMap<String, String> properties = new HashMap<>();
- properties.put("openjpa.ConnectionDriverName", org.h2.Driver.class.getName());
- properties.put("openjpa.ConnectionURL", "jdbc:h2:mem:mailboxintegrationtesting;DB_CLOSE_DELAY=-1"); // Memory H2 database
+ properties.put("openjpa.ConnectionDriverName", org.apache.derby.jdbc.EmbeddedDriver.class.getName());
+ properties.put("openjpa.ConnectionURL", "jdbc:derby:memory:mailboxintegrationtesting;create=true"); // Memory Derby database
properties.put("openjpa.jdbc.SynchronizeMappings", "buildSchema(ForeignKeys=true)"); // Create Foreign Keys
properties.put("openjpa.jdbc.MappingDefaults", "ForeignKeyDeleteAction=restrict, JoinForeignKeyDeleteAction=restrict");
properties.put("openjpa.jdbc.SchemaFactory", "native(ForeignKeys=true)");
http://git-wip-us.apache.org/repos/asf/james-project/blob/e6381b41/mailbox/jpa/pom.xml
----------------------------------------------------------------------
diff --git a/mailbox/jpa/pom.xml b/mailbox/jpa/pom.xml
index e613323..2af1c9e 100644
--- a/mailbox/jpa/pom.xml
+++ b/mailbox/jpa/pom.xml
@@ -68,11 +68,6 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>com.h2database</groupId>
- <artifactId>h2</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
</dependency>
@@ -82,6 +77,11 @@
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>org.apache.derby</groupId>
+ <artifactId>derby</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<scope>test</scope>
http://git-wip-us.apache.org/repos/asf/james-project/blob/e6381b41/mpt/impl/imap-mailbox/jpa/pom.xml
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/jpa/pom.xml b/mpt/impl/imap-mailbox/jpa/pom.xml
index e7b90b1..2cb089c 100644
--- a/mpt/impl/imap-mailbox/jpa/pom.xml
+++ b/mpt/impl/imap-mailbox/jpa/pom.xml
@@ -58,8 +58,8 @@
<artifactId>apache-james-mpt-imapmailbox-core</artifactId>
</dependency>
<dependency>
- <groupId>com.h2database</groupId>
- <artifactId>h2</artifactId>
+ <groupId>org.apache.derby</groupId>
+ <artifactId>derby</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
http://git-wip-us.apache.org/repos/asf/james-project/blob/e6381b41/mpt/impl/imap-mailbox/lucenesearch/pom.xml
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/lucenesearch/pom.xml b/mpt/impl/imap-mailbox/lucenesearch/pom.xml
index 0897a95..f8f8117 100644
--- a/mpt/impl/imap-mailbox/lucenesearch/pom.xml
+++ b/mpt/impl/imap-mailbox/lucenesearch/pom.xml
@@ -68,14 +68,14 @@
<artifactId>apache-james-mpt-imapmailbox-core</artifactId>
</dependency>
<dependency>
- <groupId>com.h2database</groupId>
- <artifactId>h2</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.apache.derby</groupId>
+ <artifactId>derby</artifactId>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</project>
http://git-wip-us.apache.org/repos/asf/james-project/blob/e6381b41/mpt/pom.xml
----------------------------------------------------------------------
diff --git a/mpt/pom.xml b/mpt/pom.xml
index 738b653..d6092ee 100644
--- a/mpt/pom.xml
+++ b/mpt/pom.xml
@@ -55,7 +55,6 @@
<commons-lang.version>2.6</commons-lang.version>
<derby.version>10.9.1.0</derby.version>
<guice.version>4.0</guice.version>
- <h2.version>1.3.170</h2.version>
<hadoop.version>1.0.1</hadoop.version>
<hbase.version>0.94.27</hbase.version>
<jmock.version>2.6.0</jmock.version>
http://git-wip-us.apache.org/repos/asf/james-project/blob/e6381b41/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 9cc73f9..75a5853 100644
--- a/pom.xml
+++ b/pom.xml
@@ -598,7 +598,6 @@
<spring.version>3.2.18.RELEASE</spring.version>
<geronimo-jms-spec.version>1.1.1</geronimo-jms-spec.version>
<activmq-artemis.version>2.6.2</activmq-artemis.version>
- <h2.version>1.3.170</h2.version>
<apache-jspf-resolver.version>1.0.1</apache-jspf-resolver.version>
<javamail.version>1.5.4</javamail.version>
<javax-activation.version>1.1.1</javax-activation.version>
@@ -1662,11 +1661,6 @@
<version>4.0</version>
</dependency>
<dependency>
- <groupId>com.h2database</groupId>
- <artifactId>h2</artifactId>
- <version>${h2.version}</version>
- </dependency>
- <dependency>
<groupId>com.jason-goodwin</groupId>
<artifactId>better-monads</artifactId>
<version>0.4.0</version>
http://git-wip-us.apache.org/repos/asf/james-project/blob/e6381b41/server/container/guice/jpa-smtp-mariadb/pom.xml
----------------------------------------------------------------------
diff --git a/server/container/guice/jpa-smtp-mariadb/pom.xml b/server/container/guice/jpa-smtp-mariadb/pom.xml
index 97624e4..9135bf3 100644
--- a/server/container/guice/jpa-smtp-mariadb/pom.xml
+++ b/server/container/guice/jpa-smtp-mariadb/pom.xml
@@ -53,8 +53,8 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>com.h2database</groupId>
- <artifactId>h2</artifactId>
+ <groupId>org.apache.derby</groupId>
+ <artifactId>derby</artifactId>
<scope>test</scope>
</dependency>
<dependency>
http://git-wip-us.apache.org/repos/asf/james-project/blob/e6381b41/server/container/guice/jpa-smtp/pom.xml
----------------------------------------------------------------------
diff --git a/server/container/guice/jpa-smtp/pom.xml b/server/container/guice/jpa-smtp/pom.xml
index 42f7ca5..4144d06 100644
--- a/server/container/guice/jpa-smtp/pom.xml
+++ b/server/container/guice/jpa-smtp/pom.xml
@@ -63,8 +63,8 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>com.h2database</groupId>
- <artifactId>h2</artifactId>
+ <groupId>org.apache.derby</groupId>
+ <artifactId>derby</artifactId>
<scope>test</scope>
</dependency>
<dependency>
http://git-wip-us.apache.org/repos/asf/james-project/blob/e6381b41/server/data/data-jpa/pom.xml
----------------------------------------------------------------------
diff --git a/server/data/data-jpa/pom.xml b/server/data/data-jpa/pom.xml
index 23a7742..5cd2b64 100644
--- a/server/data/data-jpa/pom.xml
+++ b/server/data/data-jpa/pom.xml
@@ -82,8 +82,8 @@
<artifactId>guava</artifactId>
</dependency>
<dependency>
- <groupId>com.h2database</groupId>
- <artifactId>h2</artifactId>
+ <groupId>org.apache.derby</groupId>
+ <artifactId>derby</artifactId>
<scope>test</scope>
</dependency>
<dependency>
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[09/27] james-project git commit: MAILBOX-342 Use
CassandraModule.Builder for Cassandra mail repositories
Posted by bt...@apache.org.
MAILBOX-342 Use CassandraModule.Builder for Cassandra mail repositories
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/b100add1
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/b100add1
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/b100add1
Branch: refs/heads/master
Commit: b100add19d2adec8b5473e8396f0e1d320efc6c0
Parents: 3a92def
Author: benwa <bt...@linagora.com>
Authored: Tue Jul 24 14:58:38 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Jul 26 13:47:39 2018 +0700
----------------------------------------------------------------------
.../data/CassandraMailRepositoryModule.java | 2 +-
.../CassandraMailRepositoryModule.java | 99 ++++++++------------
.../CassandraMailRepositoryCountDAOTest.java | 3 +-
.../CassandraMailRepositoryKeysDAOTest.java | 2 +-
.../CassandraMailRepositoryMailDAOTest.java | 2 +-
.../cassandra/CassandraMailRepositoryTest.java | 8 +-
6 files changed, 46 insertions(+), 70 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/b100add1/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraMailRepositoryModule.java
----------------------------------------------------------------------
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraMailRepositoryModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraMailRepositoryModule.java
index 695d0e8..2f3769b 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraMailRepositoryModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraMailRepositoryModule.java
@@ -51,7 +51,7 @@ public class CassandraMailRepositoryModule extends AbstractModule {
multibinder.addBinding().to(CassandraMailRepositoryProvider.class);
Multibinder<CassandraModule> cassandraModuleBinder = Multibinder.newSetBinder(binder(), CassandraModule.class);
- cassandraModuleBinder.addBinding().to(org.apache.james.mailrepository.cassandra.CassandraMailRepositoryModule.class);
+ cassandraModuleBinder.addBinding().toInstance(org.apache.james.mailrepository.cassandra.CassandraMailRepositoryModule.MODULE);
cassandraModuleBinder.addBinding().toInstance(CassandraMailRepositoryUrlModule.MODULE);
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/b100add1/server/mailrepository/mailrepository-cassandra/src/main/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryModule.java
----------------------------------------------------------------------
diff --git a/server/mailrepository/mailrepository-cassandra/src/main/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryModule.java b/server/mailrepository/mailrepository-cassandra/src/main/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryModule.java
index 4369db0..4d4ed3d 100644
--- a/server/mailrepository/mailrepository-cassandra/src/main/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryModule.java
+++ b/server/mailrepository/mailrepository-cassandra/src/main/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryModule.java
@@ -28,67 +28,44 @@ import static com.datastax.driver.core.DataType.text;
import static com.datastax.driver.core.DataType.timestamp;
import static com.datastax.driver.core.schemabuilder.SchemaBuilder.frozen;
-import java.util.List;
-
import org.apache.james.backends.cassandra.components.CassandraModule;
-import org.apache.james.backends.cassandra.components.CassandraTable;
-import org.apache.james.backends.cassandra.components.CassandraType;
-
-import com.datastax.driver.core.schemabuilder.SchemaBuilder;
-import com.google.common.collect.ImmutableList;
-
-public class CassandraMailRepositoryModule implements CassandraModule {
-
- private final List<CassandraTable> tables;
- private final List<CassandraType> types;
-
- public CassandraMailRepositoryModule() {
- tables = ImmutableList.of(
- new CassandraTable(MailRepositoryTable.COUNT_TABLE,
- SchemaBuilder.createTable(MailRepositoryTable.COUNT_TABLE)
- .ifNotExists()
- .addPartitionKey(MailRepositoryTable.REPOSITORY_NAME, text())
- .addColumn(MailRepositoryTable.COUNT, counter())),
- new CassandraTable(MailRepositoryTable.KEYS_TABLE_NAME,
- SchemaBuilder.createTable(MailRepositoryTable.KEYS_TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(MailRepositoryTable.REPOSITORY_NAME, text())
- .addClusteringColumn(MailRepositoryTable.MAIL_KEY, text())),
- new CassandraTable(MailRepositoryTable.CONTENT_TABLE_NAME,
- SchemaBuilder.createTable(MailRepositoryTable.CONTENT_TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(MailRepositoryTable.REPOSITORY_NAME, text())
- .addPartitionKey(MailRepositoryTable.MAIL_KEY, text())
- .addColumn(MailRepositoryTable.MESSAGE_SIZE, bigint())
- .addColumn(MailRepositoryTable.STATE, text())
- .addColumn(MailRepositoryTable.HEADER_BLOB_ID, text())
- .addColumn(MailRepositoryTable.BODY_BLOB_ID, text())
- .addColumn(MailRepositoryTable.ATTRIBUTES, map(text(), blob()))
- .addColumn(MailRepositoryTable.ERROR_MESSAGE, text())
- .addColumn(MailRepositoryTable.SENDER, text())
- .addColumn(MailRepositoryTable.RECIPIENTS, list(text()))
- .addColumn(MailRepositoryTable.REMOTE_HOST, text())
- .addColumn(MailRepositoryTable.REMOTE_ADDR, text())
- .addColumn(MailRepositoryTable.LAST_UPDATED, timestamp())
- .addUDTMapColumn(MailRepositoryTable.PER_RECIPIENT_SPECIFIC_HEADERS, text(), frozen(MailRepositoryTable.HEADER_TYPE))
- .withOptions()
- .comment("Stores the mails for a given repository. " +
- "Content is stored with other blobs")));
- types = ImmutableList.of(
- new CassandraType(MailRepositoryTable.HEADER_TYPE,
- SchemaBuilder.createType(MailRepositoryTable.HEADER_TYPE)
- .ifNotExists()
- .addColumn(MailRepositoryTable.HEADER_NAME, text())
- .addColumn(MailRepositoryTable.HEADER_VALUE, text())));
- }
-
- @Override
- public List<CassandraTable> moduleTables() {
- return tables;
- }
- @Override
- public List<CassandraType> moduleTypes() {
- return types;
- }
+public interface CassandraMailRepositoryModule {
+ CassandraModule MODULE = CassandraModule.builder()
+ .type(MailRepositoryTable.HEADER_TYPE)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addColumn(MailRepositoryTable.HEADER_NAME, text())
+ .addColumn(MailRepositoryTable.HEADER_VALUE, text()))
+ .table(MailRepositoryTable.COUNT_TABLE)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(MailRepositoryTable.REPOSITORY_NAME, text())
+ .addColumn(MailRepositoryTable.COUNT, counter()))
+ .table(MailRepositoryTable.KEYS_TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(MailRepositoryTable.REPOSITORY_NAME, text())
+ .addClusteringColumn(MailRepositoryTable.MAIL_KEY, text()))
+ .table(MailRepositoryTable.CONTENT_TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(MailRepositoryTable.REPOSITORY_NAME, text())
+ .addPartitionKey(MailRepositoryTable.MAIL_KEY, text())
+ .addColumn(MailRepositoryTable.MESSAGE_SIZE, bigint())
+ .addColumn(MailRepositoryTable.STATE, text())
+ .addColumn(MailRepositoryTable.HEADER_BLOB_ID, text())
+ .addColumn(MailRepositoryTable.BODY_BLOB_ID, text())
+ .addColumn(MailRepositoryTable.ATTRIBUTES, map(text(), blob()))
+ .addColumn(MailRepositoryTable.ERROR_MESSAGE, text())
+ .addColumn(MailRepositoryTable.SENDER, text())
+ .addColumn(MailRepositoryTable.RECIPIENTS, list(text()))
+ .addColumn(MailRepositoryTable.REMOTE_HOST, text())
+ .addColumn(MailRepositoryTable.REMOTE_ADDR, text())
+ .addColumn(MailRepositoryTable.LAST_UPDATED, timestamp())
+ .addUDTMapColumn(MailRepositoryTable.PER_RECIPIENT_SPECIFIC_HEADERS, text(), frozen(MailRepositoryTable.HEADER_TYPE))
+ .withOptions()
+ .comment("Stores the mails for a given repository. " +
+ "Content is stored with other blobs"))
+ .build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/b100add1/server/mailrepository/mailrepository-cassandra/src/test/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryCountDAOTest.java
----------------------------------------------------------------------
diff --git a/server/mailrepository/mailrepository-cassandra/src/test/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryCountDAOTest.java b/server/mailrepository/mailrepository-cassandra/src/test/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryCountDAOTest.java
index b68b602..f5255d0 100644
--- a/server/mailrepository/mailrepository-cassandra/src/test/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryCountDAOTest.java
+++ b/server/mailrepository/mailrepository-cassandra/src/test/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryCountDAOTest.java
@@ -41,12 +41,11 @@ public class CassandraMailRepositoryCountDAOTest {
@BeforeAll
static void setUpClass(DockerCassandraExtension.DockerCassandra dockerCassandra) {
- cassandra = CassandraCluster.create(new CassandraMailRepositoryModule(), dockerCassandra.getHost());
+ cassandra = CassandraCluster.create(CassandraMailRepositoryModule.MODULE, dockerCassandra.getHost());
}
@BeforeEach
public void setUp() {
-
testee = new CassandraMailRepositoryCountDAO(cassandra.getConf());
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/b100add1/server/mailrepository/mailrepository-cassandra/src/test/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryKeysDAOTest.java
----------------------------------------------------------------------
diff --git a/server/mailrepository/mailrepository-cassandra/src/test/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryKeysDAOTest.java b/server/mailrepository/mailrepository-cassandra/src/test/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryKeysDAOTest.java
index 03a905c..feebf98 100644
--- a/server/mailrepository/mailrepository-cassandra/src/test/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryKeysDAOTest.java
+++ b/server/mailrepository/mailrepository-cassandra/src/test/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryKeysDAOTest.java
@@ -47,7 +47,7 @@ public class CassandraMailRepositoryKeysDAOTest {
@BeforeAll
static void setUpClass(DockerCassandraExtension.DockerCassandra dockerCassandra) {
- cassandra = CassandraCluster.create(new CassandraMailRepositoryModule(), dockerCassandra.getHost());
+ cassandra = CassandraCluster.create(CassandraMailRepositoryModule.MODULE, dockerCassandra.getHost());
}
@BeforeEach
http://git-wip-us.apache.org/repos/asf/james-project/blob/b100add1/server/mailrepository/mailrepository-cassandra/src/test/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryMailDAOTest.java
----------------------------------------------------------------------
diff --git a/server/mailrepository/mailrepository-cassandra/src/test/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryMailDAOTest.java b/server/mailrepository/mailrepository-cassandra/src/test/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryMailDAOTest.java
index 8bc858e..48b4aee 100644
--- a/server/mailrepository/mailrepository-cassandra/src/test/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryMailDAOTest.java
+++ b/server/mailrepository/mailrepository-cassandra/src/test/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryMailDAOTest.java
@@ -52,7 +52,7 @@ public class CassandraMailRepositoryMailDAOTest {
@BeforeAll
static void setUpClass(DockerCassandraExtension.DockerCassandra dockerCassandra) {
- cassandra = CassandraCluster.create(new CassandraMailRepositoryModule(), dockerCassandra.getHost());
+ cassandra = CassandraCluster.create(CassandraMailRepositoryModule.MODULE, dockerCassandra.getHost());
}
@BeforeEach
http://git-wip-us.apache.org/repos/asf/james-project/blob/b100add1/server/mailrepository/mailrepository-cassandra/src/test/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryTest.java
----------------------------------------------------------------------
diff --git a/server/mailrepository/mailrepository-cassandra/src/test/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryTest.java b/server/mailrepository/mailrepository-cassandra/src/test/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryTest.java
index 2b21c0d..84cf4c0 100644
--- a/server/mailrepository/mailrepository-cassandra/src/test/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryTest.java
+++ b/server/mailrepository/mailrepository-cassandra/src/test/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryTest.java
@@ -21,7 +21,7 @@ package org.apache.james.mailrepository.cassandra;
import org.apache.james.backends.cassandra.CassandraCluster;
import org.apache.james.backends.cassandra.DockerCassandraExtension;
-import org.apache.james.backends.cassandra.init.CassandraModuleComposite;
+import org.apache.james.backends.cassandra.components.CassandraModule;
import org.apache.james.backends.cassandra.utils.CassandraUtils;
import org.apache.james.blob.cassandra.CassandraBlobId;
import org.apache.james.blob.cassandra.CassandraBlobModule;
@@ -47,9 +47,9 @@ class CassandraMailRepositoryTest implements MailRepositoryContract {
@BeforeAll
static void setUpClass(DockerCassandraExtension.DockerCassandra dockerCassandra) {
- CassandraModuleComposite modules = new CassandraModuleComposite(
- new CassandraMailRepositoryModule(),
- new CassandraBlobModule());
+ CassandraModule modules = CassandraModule.aggregateModules(
+ CassandraMailRepositoryModule.MODULE,
+ CassandraBlobModule.MODULE);
cassandra = CassandraCluster.create(modules, dockerCassandra.getHost());
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[13/27] james-project git commit: MAILBOX-342 Use
CassandraModule.Builder for Cassandra mailbox
Posted by bt...@apache.org.
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraMailboxModule.java
----------------------------------------------------------------------
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraMailboxModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraMailboxModule.java
index c742c38..161647f 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraMailboxModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraMailboxModule.java
@@ -55,6 +55,18 @@ import org.apache.james.mailbox.cassandra.mail.CassandraMessageIdToImapUidDAO;
import org.apache.james.mailbox.cassandra.mail.CassandraModSeqProvider;
import org.apache.james.mailbox.cassandra.mail.CassandraUidProvider;
import org.apache.james.mailbox.cassandra.mail.CassandraUserMailboxRightsDAO;
+import org.apache.james.mailbox.cassandra.modules.CassandraAclModule;
+import org.apache.james.mailbox.cassandra.modules.CassandraAnnotationModule;
+import org.apache.james.mailbox.cassandra.modules.CassandraApplicableFlagsModule;
+import org.apache.james.mailbox.cassandra.modules.CassandraAttachmentModule;
+import org.apache.james.mailbox.cassandra.modules.CassandraDeletedMessageModule;
+import org.apache.james.mailbox.cassandra.modules.CassandraFirstUnseenModule;
+import org.apache.james.mailbox.cassandra.modules.CassandraMailboxCounterModule;
+import org.apache.james.mailbox.cassandra.modules.CassandraMailboxRecentsModule;
+import org.apache.james.mailbox.cassandra.modules.CassandraMessageModule;
+import org.apache.james.mailbox.cassandra.modules.CassandraModSeqModule;
+import org.apache.james.mailbox.cassandra.modules.CassandraSubscriptionModule;
+import org.apache.james.mailbox.cassandra.modules.CassandraUidModule;
import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.model.MailboxId;
import org.apache.james.mailbox.model.MessageId;
@@ -152,19 +164,19 @@ public class CassandraMailboxModule extends AbstractModule {
bind(RightManager.class).to(StoreRightManager.class);
Multibinder<CassandraModule> cassandraDataDefinitions = Multibinder.newSetBinder(binder(), CassandraModule.class);
- cassandraDataDefinitions.addBinding().to(org.apache.james.mailbox.cassandra.modules.CassandraAclModule.class);
- cassandraDataDefinitions.addBinding().to(org.apache.james.mailbox.cassandra.modules.CassandraAnnotationModule.class);
- cassandraDataDefinitions.addBinding().to(org.apache.james.mailbox.cassandra.modules.CassandraApplicableFlagsModule.class);
- cassandraDataDefinitions.addBinding().to(org.apache.james.mailbox.cassandra.modules.CassandraAttachmentModule.class);
- cassandraDataDefinitions.addBinding().to(org.apache.james.mailbox.cassandra.modules.CassandraDeletedMessageModule.class);
- cassandraDataDefinitions.addBinding().to(org.apache.james.mailbox.cassandra.modules.CassandraFirstUnseenModule.class);
- cassandraDataDefinitions.addBinding().to(org.apache.james.mailbox.cassandra.modules.CassandraMailboxCounterModule.class);
- cassandraDataDefinitions.addBinding().to(org.apache.james.mailbox.cassandra.modules.CassandraMailboxModule.class);
- cassandraDataDefinitions.addBinding().to(org.apache.james.mailbox.cassandra.modules.CassandraMailboxRecentsModule.class);
- cassandraDataDefinitions.addBinding().to(org.apache.james.mailbox.cassandra.modules.CassandraMessageModule.class);
- cassandraDataDefinitions.addBinding().to(org.apache.james.mailbox.cassandra.modules.CassandraModSeqModule.class);
- cassandraDataDefinitions.addBinding().to(org.apache.james.mailbox.cassandra.modules.CassandraSubscriptionModule.class);
- cassandraDataDefinitions.addBinding().to(org.apache.james.mailbox.cassandra.modules.CassandraUidModule.class);
+ cassandraDataDefinitions.addBinding().toInstance(CassandraAclModule.MODULE);
+ cassandraDataDefinitions.addBinding().toInstance(CassandraAttachmentModule.MODULE);
+ cassandraDataDefinitions.addBinding().toInstance(org.apache.james.mailbox.cassandra.modules.CassandraMailboxModule.MODULE);
+ cassandraDataDefinitions.addBinding().toInstance(CassandraMessageModule.MODULE);
+ cassandraDataDefinitions.addBinding().toInstance(CassandraMailboxCounterModule.MODULE);
+ cassandraDataDefinitions.addBinding().toInstance(CassandraAnnotationModule.MODULE);
+ cassandraDataDefinitions.addBinding().toInstance(CassandraApplicableFlagsModule.MODULE);
+ cassandraDataDefinitions.addBinding().toInstance(CassandraDeletedMessageModule.MODULE);
+ cassandraDataDefinitions.addBinding().toInstance(CassandraFirstUnseenModule.MODULE);
+ cassandraDataDefinitions.addBinding().toInstance(CassandraMailboxRecentsModule.MODULE);
+ cassandraDataDefinitions.addBinding().toInstance(CassandraModSeqModule.MODULE);
+ cassandraDataDefinitions.addBinding().toInstance(CassandraSubscriptionModule.MODULE);
+ cassandraDataDefinitions.addBinding().toInstance(CassandraUidModule.MODULE);
Multibinder.newSetBinder(binder(), MailboxManagerDefinition.class).addBinding().to(CassandraMailboxManagerDefinition.class);
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraQuotaModule.java
----------------------------------------------------------------------
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraQuotaModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraQuotaModule.java
index 5b70b54..dcbdcb9 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraQuotaModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraQuotaModule.java
@@ -58,6 +58,6 @@ public class CassandraQuotaModule extends AbstractModule {
bind(UserQuotaRootResolver.class).to(DefaultUserQuotaRootResolver.class);
Multibinder<CassandraModule> cassandraDataDefinitions = Multibinder.newSetBinder(binder(), CassandraModule.class);
- cassandraDataDefinitions.addBinding().to(org.apache.james.mailbox.cassandra.modules.CassandraQuotaModule.class);
+ cassandraDataDefinitions.addBinding().toInstance(org.apache.james.mailbox.cassandra.modules.CassandraQuotaModule.MODULE);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[04/27] james-project git commit: upgrade
org.cassandraunit:cassandra-unit
Posted by bt...@apache.org.
upgrade org.cassandraunit:cassandra-unit
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/65a02c50
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/65a02c50
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/65a02c50
Branch: refs/heads/master
Commit: 65a02c50db69961101466e74963220041b442cbf
Parents: 2dc249e
Author: duc <dt...@linagora.com>
Authored: Wed Jul 25 15:15:22 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Jul 26 13:46:51 2018 +0700
----------------------------------------------------------------------
mailbox/cassandra/pom.xml | 1 +
pom.xml | 6 ------
2 files changed, 1 insertion(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/65a02c50/mailbox/cassandra/pom.xml
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/pom.xml b/mailbox/cassandra/pom.xml
index 81f179f..7281d41 100644
--- a/mailbox/cassandra/pom.xml
+++ b/mailbox/cassandra/pom.xml
@@ -156,6 +156,7 @@
<dependency>
<groupId>org.cassandraunit</groupId>
<artifactId>cassandra-unit</artifactId>
+ <version>2.1.9.2</version>
<scope>test</scope>
</dependency>
<dependency>
http://git-wip-us.apache.org/repos/asf/james-project/blob/65a02c50/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index ee3fe35..a9a6f41 100644
--- a/pom.xml
+++ b/pom.xml
@@ -632,7 +632,6 @@
<pax-logging-api.version>1.6.4</pax-logging-api.version>
<jackson-data.version>2.6.3</jackson-data.version>
<jetty.version>9.4.7.v20170914</jetty.version>
- <cassandra-unit.version>2.1.9.2</cassandra-unit.version>
<assertj-guava.version>3.1.0</assertj-guava.version>
<testcontainers-version>1.7.3</testcontainers-version>
<metrics.version>3.2.6</metrics.version>
@@ -2242,11 +2241,6 @@
<version>1.60</version>
</dependency>
<dependency>
- <groupId>org.cassandraunit</groupId>
- <artifactId>cassandra-unit</artifactId>
- <version>2.1.9.2</version>
- </dependency>
- <dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-http</artifactId>
<version>${jetty.version}</version>
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[19/27] james-project git commit: MAILBOX-342 Introduce a builder for
CassandraModule
Posted by bt...@apache.org.
MAILBOX-342 Introduce a builder for CassandraModule
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/dd7020d9
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/dd7020d9
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/dd7020d9
Branch: refs/heads/master
Commit: dd7020d974f98c6bb576d40021919f391455a2a7
Parents: 1b27146
Author: benwa <bt...@linagora.com>
Authored: Tue Jul 24 14:31:03 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Jul 26 13:47:39 2018 +0700
----------------------------------------------------------------------
.../cassandra/components/CassandraModule.java | 104 +++++++++++++++++++
1 file changed, 104 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/dd7020d9/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/components/CassandraModule.java
----------------------------------------------------------------------
diff --git a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/components/CassandraModule.java b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/components/CassandraModule.java
index 3655b5a..a082fc1 100644
--- a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/components/CassandraModule.java
+++ b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/components/CassandraModule.java
@@ -20,9 +20,113 @@
package org.apache.james.backends.cassandra.components;
import java.util.List;
+import java.util.function.Function;
+
+import com.datastax.driver.core.Statement;
+import com.datastax.driver.core.schemabuilder.Create;
+import com.datastax.driver.core.schemabuilder.CreateType;
+import com.datastax.driver.core.schemabuilder.SchemaBuilder;
+import com.google.common.collect.ImmutableList;
public interface CassandraModule {
+ class Impl implements CassandraModule {
+ private final List<CassandraTable> tables;
+ private final List<CassandraType> types;
+
+ private Impl(List<CassandraTable> tables, List<CassandraType> types) {
+ this.tables = tables;
+ this.types = types;
+ }
+
+ @Override
+ public List<CassandraTable> moduleTables() {
+ return tables;
+ }
+
+ @Override
+ public List<CassandraType> moduleTypes() {
+ return types;
+ }
+ }
+
+ class Builder {
+ private ImmutableList.Builder<CassandraTable> tables;
+ private ImmutableList.Builder<CassandraType> types;
+
+ private Builder() {
+ tables = ImmutableList.builder();
+ types = ImmutableList.builder();
+ }
+
+ public TableBuilder table(String tableName) {
+ return new TableBuilder(this, tableName);
+ }
+
+ public TypeBuilder type(String typeName) {
+ return new TypeBuilder(this, typeName);
+ }
+
+ public Impl build() {
+ return new Impl(
+ tables.build(),
+ types.build());
+ }
+
+ private Builder addTable(CassandraTable table) {
+ tables.add(table);
+ return this;
+ }
+
+ private Builder addType(CassandraType type) {
+ types.add(type);
+ return this;
+ }
+ }
+
+ class TableBuilder {
+ private final Builder originalBuilderReference;
+ private final String tableName;
+
+ private TableBuilder(Builder originalBuilderReference, String tableName) {
+ this.originalBuilderReference = originalBuilderReference;
+ this.tableName = tableName;
+ }
+
+ public Builder statement(Function<Create, Statement> createStatement) {
+ return originalBuilderReference.addTable(
+ new CassandraTable(tableName, createStatement.apply(SchemaBuilder.createTable(tableName))));
+ }
+ }
+
+ class TypeBuilder {
+ private final Builder originalBuilderReference;
+ private final String typeName;
+
+ private TypeBuilder(Builder originalBuilderReference, String typeName) {
+ this.originalBuilderReference = originalBuilderReference;
+ this.typeName = typeName;
+ }
+
+ public Builder statement(Function<CreateType, CreateType> createStatement) {
+ return originalBuilderReference.addType(
+ new CassandraType(typeName, createStatement.apply(
+ SchemaBuilder.createType(typeName))));
+ }
+ }
+
+ static Builder builder() {
+ return new Builder();
+ }
+
+ static TypeBuilder type(String typeName) {
+ return builder().type(typeName);
+ }
+
+ static TableBuilder table(String tableName) {
+ return builder().table(tableName);
+ }
+
List<CassandraTable> moduleTables();
List<CassandraType> moduleTypes();
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[25/27] james-project git commit: JAMES-2481 Replace Spark by Jetty
in tests
Posted by bt...@apache.org.
JAMES-2481 Replace Spark by Jetty in tests
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/2f3aaaeb
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/2f3aaaeb
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/2f3aaaeb
Branch: refs/heads/master
Commit: 2f3aaaeb83046c68058ff37fb5c380863c461da6
Parents: aaa2d08
Author: Antoine Duprat <ad...@linagora.com>
Authored: Wed Jul 25 13:21:13 2018 +0200
Committer: benwa <bt...@linagora.com>
Committed: Thu Jul 26 13:51:07 2018 +0700
----------------------------------------------------------------------
server/container/core/pom.xml | 20 +++++--
server/container/filesystem-api/pom.xml | 19 +++++-
.../filesystem/api/AbstractFileSystemTest.java | 63 ++++++++++++++------
server/container/spring/pom.xml | 5 --
4 files changed, 77 insertions(+), 30 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/2f3aaaeb/server/container/core/pom.xml
----------------------------------------------------------------------
diff --git a/server/container/core/pom.xml b/server/container/core/pom.xml
index 6f64917..4771b55 100644
--- a/server/container/core/pom.xml
+++ b/server/container/core/pom.xml
@@ -82,11 +82,6 @@
<artifactId>guava</artifactId>
</dependency>
<dependency>
- <groupId>com.sparkjava</groupId>
- <artifactId>spark-core</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
</dependency>
@@ -109,6 +104,21 @@
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-http</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-server</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-servlet</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>pl.pragmatists</groupId>
<artifactId>JUnitParams</artifactId>
<scope>test</scope>
http://git-wip-us.apache.org/repos/asf/james-project/blob/2f3aaaeb/server/container/filesystem-api/pom.xml
----------------------------------------------------------------------
diff --git a/server/container/filesystem-api/pom.xml b/server/container/filesystem-api/pom.xml
index 225ff0d..e92f358 100644
--- a/server/container/filesystem-api/pom.xml
+++ b/server/container/filesystem-api/pom.xml
@@ -34,8 +34,8 @@
<dependencies>
<dependency>
- <groupId>com.sparkjava</groupId>
- <artifactId>spark-core</artifactId>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
<scope>test</scope>
</dependency>
<dependency>
@@ -57,6 +57,21 @@
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-http</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-server</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-servlet</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>pl.pragmatists</groupId>
<artifactId>JUnitParams</artifactId>
<scope>test</scope>
http://git-wip-us.apache.org/repos/asf/james-project/blob/2f3aaaeb/server/container/filesystem-api/src/test/java/org/apache/james/filesystem/api/AbstractFileSystemTest.java
----------------------------------------------------------------------
diff --git a/server/container/filesystem-api/src/test/java/org/apache/james/filesystem/api/AbstractFileSystemTest.java b/server/container/filesystem-api/src/test/java/org/apache/james/filesystem/api/AbstractFileSystemTest.java
index cc9f420..e8d2c54 100644
--- a/server/container/filesystem-api/src/test/java/org/apache/james/filesystem/api/AbstractFileSystemTest.java
+++ b/server/container/filesystem-api/src/test/java/org/apache/james/filesystem/api/AbstractFileSystemTest.java
@@ -27,8 +27,17 @@ import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.ServerConnector;
+import org.eclipse.jetty.servlet.ServletContextHandler;
+import org.eclipse.jetty.servlet.ServletHolder;
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
@@ -36,11 +45,10 @@ import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import org.junit.runner.RunWith;
+import com.google.common.base.Strings;
+
import junitparams.JUnitParamsRunner;
import junitparams.Parameters;
-import spark.Request;
-import spark.Response;
-import spark.Service;
@RunWith(JUnitParamsRunner.class)
public abstract class AbstractFileSystemTest {
@@ -54,24 +62,47 @@ public abstract class AbstractFileSystemTest {
protected FileSystem fileSystem;
- private Service httpServer;
+ private Server httpServer;
private File rootDirectory;
protected abstract FileSystem buildFileSystem(String configurationRootDirectory);
@Before
public void setUp() throws Exception {
- httpServer = Service.ignite().port(RANDOM_PORT);
- httpServer.get("/", (Request request, Response response) -> "content");
- httpServer.awaitInitialization();
-
+ httpServer = new Server(RANDOM_PORT);
+
+ ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
+ context.setContextPath("/");
+ httpServer.setHandler(context);
+ context.addServlet(new ServletHolder(new ContentServlet()), "/*");
+
+ httpServer.start();
+
rootDirectory = tmpFolder.getRoot();
createSubFolderWithAFileIn("conf", "conf.txt", "confcontent");
createSubFolderWithAFileIn("var", "var.txt", "varcontent");
-
+
fileSystem = buildFileSystem(rootDirectory.getAbsolutePath());
}
+ private static class ContentServlet extends HttpServlet {
+
+ @Override
+ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ if (isRootPath(request.getPathInfo())) {
+ response.setStatus(HttpServletResponse.SC_OK);
+ response.getWriter().println("content");
+ } else {
+ response.setStatus(HttpServletResponse.SC_NOT_FOUND);
+ }
+ }
+
+ private boolean isRootPath(String pathInfo) {
+ return Strings.isNullOrEmpty(pathInfo)
+ || pathInfo == "/";
+ }
+ }
+
private void createSubFolderWithAFileIn(String folderName, String fileName, String fileContent) throws IOException {
File folder = tmpFolder.newFolder(folderName);
File file = new File(folder.getAbsolutePath() + "/" + fileName);
@@ -127,9 +158,7 @@ public abstract class AbstractFileSystemTest {
@Test(expected = FileNotFoundException.class)
@Parameters(source = UrlsAsFileThrowingFileNotFoundExceptionProvider.class)
public final void urlAsFileThrowingFileNotFoundException(String url) throws Exception {
- url = replacePort(url);
-
- fileSystem.getFile(url);
+ fileSystem.getFile(replacePort(url));
}
public static class NonExistingFilesProvider {
@@ -163,9 +192,7 @@ public abstract class AbstractFileSystemTest {
@Test(expected = FileNotFoundException.class)
@Parameters(source = NonAvailableStreamsProvider.class)
public final void getFakeHttpResourceAsInputStreamShouldThrow(String url) throws Exception {
- url = replacePort(url);
-
- fileSystem.getResource(url);
+ fileSystem.getResource(replacePort(url));
}
public static class AvailableStreamsProvider {
@@ -184,14 +211,14 @@ public abstract class AbstractFileSystemTest {
@Test
@Parameters(source = AvailableStreamsProvider.class)
public final void availableInputStreamShouldReturnANonEmptyStream(String url) throws Exception {
- url = replacePort(url);
- try (InputStream inputStream = fileSystem.getResource(url)) {
+ try (InputStream inputStream = fileSystem.getResource(replacePort(url))) {
assertThat(IOUtils.toByteArray(inputStream).length).isGreaterThan(0);
}
}
private String replacePort(String url) {
- return url.replace("$PORT$", String.valueOf(httpServer.port()));
+ int port = ((ServerConnector) httpServer.getConnectors()[0]).getLocalPort();
+ return url.replace("$PORT$", String.valueOf(port));
}
public static class FileToCreateProvider {
http://git-wip-us.apache.org/repos/asf/james-project/blob/2f3aaaeb/server/container/spring/pom.xml
----------------------------------------------------------------------
diff --git a/server/container/spring/pom.xml b/server/container/spring/pom.xml
index 61c2213..3fbf7e6 100644
--- a/server/container/spring/pom.xml
+++ b/server/container/spring/pom.xml
@@ -80,11 +80,6 @@
<artifactId>james-server-protocols-library</artifactId>
</dependency>
<dependency>
- <groupId>com.sparkjava</groupId>
- <artifactId>spark-core</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
</dependency>
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[22/27] james-project git commit: JAMES-2481 Upgrade
apache.httpcomponents
Posted by bt...@apache.org.
JAMES-2481 Upgrade apache.httpcomponents
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/ca565628
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/ca565628
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/ca565628
Branch: refs/heads/master
Commit: ca565628dd7f223c4bcce15d226a3c5fecb44cef
Parents: 2901528
Author: duc <dt...@linagora.com>
Authored: Thu Jul 19 11:07:09 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Jul 26 13:49:57 2018 +0700
----------------------------------------------------------------------
mailbox/tika/pom.xml | 2 +-
pom.xml | 3 ++-
2 files changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/ca565628/mailbox/tika/pom.xml
----------------------------------------------------------------------
diff --git a/mailbox/tika/pom.xml b/mailbox/tika/pom.xml
index 3d22cd7..c7f6425 100644
--- a/mailbox/tika/pom.xml
+++ b/mailbox/tika/pom.xml
@@ -83,7 +83,7 @@
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>fluent-hc</artifactId>
- <version>4.5.3</version>
+ <version>${apache.httpcomponents.version}</version>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
http://git-wip-us.apache.org/repos/asf/james-project/blob/ca565628/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 4f14c27..7004d93 100644
--- a/pom.xml
+++ b/pom.xml
@@ -644,6 +644,7 @@
<jutf7.version>1.0.0</jutf7.version>
<plugin.mailetdocs.version>0.1</plugin.mailetdocs.version>
<httpclient-osgi.version>4.5.1</httpclient-osgi.version>
+ <apache.httpcomponents.version>4.5.6</apache.httpcomponents.version>
<!-- maven-mailetdocs-plugin artifacts -->
<maven-artifact.version>3.0-alpha-1</maven-artifact.version>
<maven-plugin-annotations.version>3.4</maven-plugin-annotations.version>
@@ -2026,7 +2027,7 @@
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient-osgi</artifactId>
- <version>${httpclient-osgi.version}</version>
+ <version>${apache.httpcomponents.version}</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[06/27] james-project git commit: MAILBOX-342 Use
CassandraModule.Builder for Cassandra event sourcing implementation
Posted by bt...@apache.org.
MAILBOX-342 Use CassandraModule.Builder for Cassandra event sourcing implementation
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/3c507709
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/3c507709
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/3c507709
Branch: refs/heads/master
Commit: 3c50770952bbc4ea03a2bb360648ec4829cb5935
Parents: 2fa0bbe
Author: benwa <bt...@linagora.com>
Authored: Tue Jul 24 14:55:01 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Jul 26 13:47:39 2018 +0700
----------------------------------------------------------------------
.../cassandra/CassandraEventStoreModule.java | 46 +++++---------------
.../CassandraGenericEventStoreExtension.java | 2 +-
.../eventstore/CassandraEventStoreModule.java | 2 +-
...tSourcingDLPConfigurationStoreExtension.java | 2 +-
4 files changed, 15 insertions(+), 37 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/3c507709/event-sourcing/event-store-cassandra/src/main/java/org/apache/james/eventsourcing/eventstore/cassandra/CassandraEventStoreModule.java
----------------------------------------------------------------------
diff --git a/event-sourcing/event-store-cassandra/src/main/java/org/apache/james/eventsourcing/eventstore/cassandra/CassandraEventStoreModule.java b/event-sourcing/event-store-cassandra/src/main/java/org/apache/james/eventsourcing/eventstore/cassandra/CassandraEventStoreModule.java
index 85dab3c..6613654 100644
--- a/event-sourcing/event-store-cassandra/src/main/java/org/apache/james/eventsourcing/eventstore/cassandra/CassandraEventStoreModule.java
+++ b/event-sourcing/event-store-cassandra/src/main/java/org/apache/james/eventsourcing/eventstore/cassandra/CassandraEventStoreModule.java
@@ -19,44 +19,22 @@
package org.apache.james.eventsourcing.eventstore.cassandra;
-import java.util.List;
-
import org.apache.james.backends.cassandra.components.CassandraModule;
-import org.apache.james.backends.cassandra.components.CassandraTable;
-import org.apache.james.backends.cassandra.components.CassandraType;
import org.apache.james.backends.cassandra.utils.CassandraConstants;
import com.datastax.driver.core.DataType;
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
-import com.google.common.collect.ImmutableList;
-
-public class CassandraEventStoreModule implements CassandraModule {
- private final List<CassandraTable> tables;
- private final List<CassandraType> types;
-
- public CassandraEventStoreModule() {
- tables = ImmutableList.of(
- new CassandraTable(CassandraEventStoreTable.EVENTS_TABLE,
- SchemaBuilder.createTable(CassandraEventStoreTable.EVENTS_TABLE)
- .ifNotExists()
- .addPartitionKey(CassandraEventStoreTable.AGGREGATE_ID, DataType.varchar())
- .addClusteringColumn(CassandraEventStoreTable.EVENT_ID, DataType.cint())
- .addColumn(CassandraEventStoreTable.EVENT, DataType.text())
- .withOptions()
- .comment("Store events of a EventSourcing aggregate")
- .caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION))));
- types = ImmutableList.of();
- }
-
- @Override
- public List<CassandraTable> moduleTables() {
- return tables;
- }
-
- @Override
- public List<CassandraType> moduleTypes() {
- return types;
- }
+public interface CassandraEventStoreModule {
+ CassandraModule MODULE = CassandraModule.table(CassandraEventStoreTable.EVENTS_TABLE)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(CassandraEventStoreTable.AGGREGATE_ID, DataType.varchar())
+ .addClusteringColumn(CassandraEventStoreTable.EVENT_ID, DataType.cint())
+ .addColumn(CassandraEventStoreTable.EVENT, DataType.text())
+ .withOptions()
+ .comment("Store events of a EventSourcing aggregate")
+ .caching(SchemaBuilder.KeyCaching.ALL,
+ SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
+ .build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/3c507709/event-sourcing/event-store-cassandra/src/test/java/org/apache/james/eventsourcing/eventstore/cassandra/CassandraGenericEventStoreExtension.java
----------------------------------------------------------------------
diff --git a/event-sourcing/event-store-cassandra/src/test/java/org/apache/james/eventsourcing/eventstore/cassandra/CassandraGenericEventStoreExtension.java b/event-sourcing/event-store-cassandra/src/test/java/org/apache/james/eventsourcing/eventstore/cassandra/CassandraGenericEventStoreExtension.java
index 1db5f09..94d4e10 100644
--- a/event-sourcing/event-store-cassandra/src/test/java/org/apache/james/eventsourcing/eventstore/cassandra/CassandraGenericEventStoreExtension.java
+++ b/event-sourcing/event-store-cassandra/src/test/java/org/apache/james/eventsourcing/eventstore/cassandra/CassandraGenericEventStoreExtension.java
@@ -53,7 +53,7 @@ public class CassandraGenericEventStoreExtension implements BeforeAllCallback, A
dockerCassandraExtension.beforeAll(context);
dockerCassandra = dockerCassandraExtension.getDockerCassandra();
cassandra = CassandraCluster.create(
- new CassandraEventStoreModule(), dockerCassandra.getHost());
+ CassandraEventStoreModule.MODULE, dockerCassandra.getHost());
}
@Override
http://git-wip-us.apache.org/repos/asf/james-project/blob/3c507709/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/eventstore/CassandraEventStoreModule.java
----------------------------------------------------------------------
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/eventstore/CassandraEventStoreModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/eventstore/CassandraEventStoreModule.java
index 6707c12..39ccced 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/eventstore/CassandraEventStoreModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/eventstore/CassandraEventStoreModule.java
@@ -37,7 +37,7 @@ public class CassandraEventStoreModule extends AbstractModule {
Multibinder.newSetBinder(binder(), CassandraModule.class)
.addBinding()
- .to(org.apache.james.eventsourcing.eventstore.cassandra.CassandraEventStoreModule.class);
+ .toInstance(org.apache.james.eventsourcing.eventstore.cassandra.CassandraEventStoreModule.MODULE);
Multibinder.newSetBinder(binder(), EventDTOModule.class);
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/3c507709/server/data/data-cassandra/src/test/java/org/apache/james/dlp/eventsourcing/cassandra/CassandraEventSourcingDLPConfigurationStoreExtension.java
----------------------------------------------------------------------
diff --git a/server/data/data-cassandra/src/test/java/org/apache/james/dlp/eventsourcing/cassandra/CassandraEventSourcingDLPConfigurationStoreExtension.java b/server/data/data-cassandra/src/test/java/org/apache/james/dlp/eventsourcing/cassandra/CassandraEventSourcingDLPConfigurationStoreExtension.java
index b10ff03..e5d04fb 100644
--- a/server/data/data-cassandra/src/test/java/org/apache/james/dlp/eventsourcing/cassandra/CassandraEventSourcingDLPConfigurationStoreExtension.java
+++ b/server/data/data-cassandra/src/test/java/org/apache/james/dlp/eventsourcing/cassandra/CassandraEventSourcingDLPConfigurationStoreExtension.java
@@ -50,7 +50,7 @@ public class CassandraEventSourcingDLPConfigurationStoreExtension implements Bef
public void beforeAll(ExtensionContext context) throws Exception {
dockerCassandraExtension.beforeAll(context);
cassandra = CassandraCluster.create(
- new CassandraEventStoreModule(),
+ CassandraEventStoreModule.MODULE,
dockerCassandraExtension.getDockerCassandra().getHost());
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[23/27] james-project git commit: JAMES-2481 Upgrade Jetty to
9.4.11.v20180605
Posted by bt...@apache.org.
JAMES-2481 Upgrade Jetty to 9.4.11.v20180605
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/1cce5626
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/1cce5626
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/1cce5626
Branch: refs/heads/master
Commit: 1cce5626d9b990836521d6c739717b7fd3980cd7
Parents: ca56562
Author: benwa <bt...@linagora.com>
Authored: Mon Jul 23 13:25:32 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Jul 26 13:50:32 2018 +0700
----------------------------------------------------------------------
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/1cce5626/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 7004d93..76219a9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -631,7 +631,7 @@
<karaf.tooling.exam.container.version>2.3.0</karaf.tooling.exam.container.version>
<pax-logging-api.version>1.6.4</pax-logging-api.version>
<jackson-data.version>2.6.3</jackson-data.version>
- <jetty.version>9.4.7.v20170914</jetty.version>
+ <jetty.version>9.4.11.v20180605</jetty.version>
<assertj-guava.version>3.1.0</assertj-guava.version>
<testcontainers.version>1.8.1</testcontainers.version>
<metrics.version>3.2.6</metrics.version>
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[15/27] james-project git commit: MAILBOX-342 Use
CassandraModule.Builder for Cassandra mailbox
Posted by bt...@apache.org.
MAILBOX-342 Use CassandraModule.Builder for Cassandra mailbox
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/45318db5
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/45318db5
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/45318db5
Branch: refs/heads/master
Commit: 45318db56b2f726eebbb6c3cf34c152811667741
Parents: c675522
Author: benwa <bt...@linagora.com>
Authored: Tue Jul 24 15:10:14 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Jul 26 13:47:39 2018 +0700
----------------------------------------------------------------------
.../cassandra/modules/CassandraAclModule.java | 70 +++-----
.../modules/CassandraAnnotationModule.java | 48 ++----
.../modules/CassandraApplicableFlagsModule.java | 48 ++----
.../modules/CassandraAttachmentModule.java | 113 +++++--------
.../modules/CassandraDeletedMessageModule.java | 46 ++---
.../modules/CassandraFirstUnseenModule.java | 47 ++----
.../modules/CassandraMailboxCounterModule.java | 48 ++----
.../modules/CassandraMailboxModule.java | 105 +++++-------
.../modules/CassandraMailboxRecentsModule.java | 48 ++----
.../modules/CassandraMessageModule.java | 167 ++++++++-----------
.../modules/CassandraModSeqModule.java | 46 ++---
.../cassandra/modules/CassandraQuotaModule.java | 105 +++++-------
.../modules/CassandraRegistrationModule.java | 53 ++----
.../modules/CassandraSubscriptionModule.java | 44 ++---
.../cassandra/modules/CassandraUidModule.java | 46 ++---
.../CassandraCombinationManagerTest.java | 33 +---
.../CassandraMailboxManagerStressTest.java | 35 +---
.../cassandra/CassandraMailboxManagerTest.java | 35 +---
.../CassandraMessageIdManagerQuotaTest.java | 35 +---
...CassandraMessageIdManagerSideEffectTest.java | 31 +---
.../CassandraMessageIdManagerStorageTest.java | 31 +---
.../CassandraSubscriptionManagerTest.java | 7 +-
...istributedMailboxDelegatingListenerTest.java | 2 +-
...CassandraMailboxPathRegistrerMapperTest.java | 4 +-
.../cassandra/mail/CassandraACLMapperTest.java | 2 +-
.../mail/CassandraAnnotationMapperTest.java | 2 +-
.../mail/CassandraApplicableFlagDAOTest.java | 2 +-
.../mail/CassandraAttachmentDAOTest.java | 2 +-
.../mail/CassandraAttachmentDAOV2Test.java | 2 +-
.../mail/CassandraAttachmentFallbackTest.java | 8 +-
.../mail/CassandraAttachmentMapperTest.java | 8 +-
.../mail/CassandraAttachmentOwnerDAOTest.java | 2 +-
.../mail/CassandraDeletedMessageDAOTest.java | 2 +-
.../mail/CassandraFirstUnseenDAOTest.java | 2 +-
.../mail/CassandraGenericMailboxMapperTest.java | 12 +-
.../mail/CassandraIndexTableHandlerTest.java | 14 +-
.../mail/CassandraMailboxCounterDAOTest.java | 2 +-
.../cassandra/mail/CassandraMailboxDAOTest.java | 4 +-
.../CassandraMailboxManagerAttachmentTest.java | 29 +---
.../mail/CassandraMailboxMapperAclTest.java | 8 +-
.../CassandraMailboxMapperConcurrencyTest.java | 4 +-
.../mail/CassandraMailboxMapperTest.java | 4 +-
.../mail/CassandraMailboxPathDAOTest.java | 2 +-
.../mail/CassandraMailboxPathV2DAOTest.java | 1 -
.../mail/CassandraMailboxRecentDAOTest.java | 2 +-
.../cassandra/mail/CassandraMessageDAOTest.java | 4 +-
.../mail/CassandraMessageIdDAOTest.java | 2 +-
.../mail/CassandraMessageIdMapperTest.java | 30 +---
.../CassandraMessageIdToImapUidDAOTest.java | 2 +-
.../mail/CassandraMessageMapperTest.java | 30 +---
.../mail/CassandraMessageMoveTest.java | 30 +---
...assandraMessageWithAttachmentMapperTest.java | 30 +---
.../mail/CassandraModSeqProviderTest.java | 2 +-
.../mail/CassandraUidProviderTest.java | 2 +-
.../mail/CassandraUserMailboxRightsDAOTest.java | 10 +-
.../cassandra/mail/MailboxAggregateModule.java | 55 ++++++
.../AttachmentMessageIdCreationTest.java | 10 +-
.../migration/AttachmentV2MigrationTest.java | 8 +-
.../migration/MailboxPathV2MigrationTest.java | 8 +-
.../quota/CassandraCurrentQuotaManagerTest.java | 2 +-
.../CassandraPerUserMaxQuotaManagerTest.java | 2 +-
.../user/CassandraSubscriptionMapperTest.java | 2 +-
.../cassandra/host/CassandraHostSystem.java | 32 +---
.../modules/mailbox/CassandraMailboxModule.java | 38 +++--
.../modules/mailbox/CassandraQuotaModule.java | 2 +-
65 files changed, 532 insertions(+), 1130 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAclModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAclModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAclModule.java
index a26fb18..c6da2a5 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAclModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAclModule.java
@@ -23,56 +23,36 @@ import static com.datastax.driver.core.DataType.bigint;
import static com.datastax.driver.core.DataType.text;
import static com.datastax.driver.core.DataType.timeuuid;
-import java.util.List;
-
import org.apache.james.backends.cassandra.components.CassandraModule;
-import org.apache.james.backends.cassandra.components.CassandraTable;
-import org.apache.james.backends.cassandra.components.CassandraType;
import org.apache.james.backends.cassandra.utils.CassandraConstants;
import org.apache.james.mailbox.cassandra.table.CassandraACLTable;
import org.apache.james.mailbox.cassandra.table.CassandraUserMailboxRightsTable;
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
-import com.google.common.collect.ImmutableList;
-
-public class CassandraAclModule implements CassandraModule {
-
- private final List<CassandraTable> tables;
- private final List<CassandraType> types;
-
- public CassandraAclModule() {
- tables = ImmutableList.of(
- new CassandraTable(CassandraACLTable.TABLE_NAME,
- SchemaBuilder.createTable(CassandraACLTable.TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(CassandraACLTable.ID, timeuuid())
- .addColumn(CassandraACLTable.ACL, text())
- .addColumn(CassandraACLTable.VERSION, bigint())
- .withOptions()
- .comment("Holds mailbox ACLs")
- .caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION))),
- new CassandraTable(CassandraUserMailboxRightsTable.TABLE_NAME,
- SchemaBuilder.createTable(CassandraUserMailboxRightsTable.TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(CassandraUserMailboxRightsTable.USER_NAME, text())
- .addClusteringColumn(CassandraUserMailboxRightsTable.MAILBOX_ID, timeuuid())
- .addColumn(CassandraUserMailboxRightsTable.RIGHTS, text())
- .withOptions()
- .compactionOptions(SchemaBuilder.leveledStrategy())
- .caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION))
- .comment("Denormalisation table. Allow to retrieve non personal mailboxIds a user has right on")));
- types = ImmutableList.of();
- }
-
- @Override
- public List<CassandraTable> moduleTables() {
- return tables;
- }
- @Override
- public List<CassandraType> moduleTypes() {
- return types;
- }
+public interface CassandraAclModule {
+ CassandraModule MODULE = CassandraModule
+ .builder()
+ .table(CassandraACLTable.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(CassandraACLTable.ID, timeuuid())
+ .addColumn(CassandraACLTable.ACL, text())
+ .addColumn(CassandraACLTable.VERSION, bigint())
+ .withOptions()
+ .comment("Holds mailbox ACLs")
+ .caching(SchemaBuilder.KeyCaching.ALL,
+ SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
+ .table(CassandraUserMailboxRightsTable.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(CassandraUserMailboxRightsTable.USER_NAME, text())
+ .addClusteringColumn(CassandraUserMailboxRightsTable.MAILBOX_ID, timeuuid())
+ .addColumn(CassandraUserMailboxRightsTable.RIGHTS, text())
+ .withOptions()
+ .compactionOptions(SchemaBuilder.leveledStrategy())
+ .caching(SchemaBuilder.KeyCaching.ALL,
+ SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION))
+ .comment("Denormalisation table. Allow to retrieve non personal mailboxIds a user has right on"))
+ .build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAnnotationModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAnnotationModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAnnotationModule.java
index 98af388..032ac3a 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAnnotationModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAnnotationModule.java
@@ -22,45 +22,23 @@ package org.apache.james.mailbox.cassandra.modules;
import static com.datastax.driver.core.DataType.text;
import static com.datastax.driver.core.DataType.timeuuid;
-import java.util.List;
-
import org.apache.james.backends.cassandra.components.CassandraModule;
-import org.apache.james.backends.cassandra.components.CassandraTable;
-import org.apache.james.backends.cassandra.components.CassandraType;
import org.apache.james.backends.cassandra.utils.CassandraConstants;
import org.apache.james.mailbox.cassandra.table.CassandraAnnotationTable;
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
-import com.google.common.collect.ImmutableList;
-
-public class CassandraAnnotationModule implements CassandraModule {
- private final List<CassandraTable> tables;
- private final List<CassandraType> types;
-
- public CassandraAnnotationModule() {
- tables = ImmutableList.of(
- new CassandraTable(CassandraAnnotationTable.TABLE_NAME,
- SchemaBuilder.createTable(CassandraAnnotationTable.TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(CassandraAnnotationTable.MAILBOX_ID, timeuuid())
- .addClusteringColumn(CassandraAnnotationTable.KEY, text())
- .addColumn(CassandraAnnotationTable.VALUE, text())
- .withOptions()
- .comment("Holds Cassandra mailbox annotations")
- .compactionOptions(SchemaBuilder.leveledStrategy())
- .caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION))));
- types = ImmutableList.of();
- }
-
- @Override
- public List<CassandraTable> moduleTables() {
- return tables;
- }
-
- @Override
- public List<CassandraType> moduleTypes() {
- return types;
- }
+public interface CassandraAnnotationModule {
+ CassandraModule MODULE = CassandraModule.table(CassandraAnnotationTable.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(CassandraAnnotationTable.MAILBOX_ID, timeuuid())
+ .addClusteringColumn(CassandraAnnotationTable.KEY, text())
+ .addColumn(CassandraAnnotationTable.VALUE, text())
+ .withOptions()
+ .comment("Holds Cassandra mailbox annotations")
+ .compactionOptions(SchemaBuilder.leveledStrategy())
+ .caching(SchemaBuilder.KeyCaching.ALL,
+ SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
+ .build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraApplicableFlagsModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraApplicableFlagsModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraApplicableFlagsModule.java
index 46dea02..11e5538 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraApplicableFlagsModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraApplicableFlagsModule.java
@@ -23,46 +23,24 @@ import static com.datastax.driver.core.DataType.set;
import static com.datastax.driver.core.DataType.text;
import static com.datastax.driver.core.DataType.timeuuid;
-import java.util.List;
-
import org.apache.james.backends.cassandra.components.CassandraModule;
-import org.apache.james.backends.cassandra.components.CassandraTable;
-import org.apache.james.backends.cassandra.components.CassandraType;
import org.apache.james.backends.cassandra.utils.CassandraConstants;
import org.apache.james.mailbox.cassandra.table.CassandraApplicableFlagTable;
import org.apache.james.mailbox.cassandra.table.Flag;
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
-import com.google.common.collect.ImmutableList;
-
-public class CassandraApplicableFlagsModule implements CassandraModule {
- private final List<CassandraTable> tables;
- private final List<CassandraType> types;
-
- public CassandraApplicableFlagsModule() {
- tables = ImmutableList.of(
- new CassandraTable(CassandraApplicableFlagTable.TABLE_NAME,
- SchemaBuilder.createTable(CassandraApplicableFlagTable.TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(CassandraApplicableFlagTable.MAILBOX_ID, timeuuid())
- .addColumn(Flag.USER_FLAGS, set(text()))
- .withOptions()
- .comment("Holds flags being used on specific mailboxes. As system flags are implicit, this table " +
- "stores user flags.")
- .compactionOptions(SchemaBuilder.leveledStrategy())
- .caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION))));
- types = ImmutableList.of();
- }
-
- @Override
- public List<CassandraTable> moduleTables() {
- return tables;
- }
-
- @Override
- public List<CassandraType> moduleTypes() {
- return types;
- }
+public interface CassandraApplicableFlagsModule {
+ CassandraModule MODULE = CassandraModule.table(CassandraApplicableFlagTable.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(CassandraApplicableFlagTable.MAILBOX_ID, timeuuid())
+ .addColumn(Flag.USER_FLAGS, set(text()))
+ .withOptions()
+ .comment("Holds flags being used on specific mailboxes. As system flags are implicit, this table " +
+ "stores user flags.")
+ .compactionOptions(SchemaBuilder.leveledStrategy())
+ .caching(SchemaBuilder.KeyCaching.ALL,
+ SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
+ .build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAttachmentModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAttachmentModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAttachmentModule.java
index ffaa49a..acee1f1 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAttachmentModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAttachmentModule.java
@@ -24,11 +24,7 @@ import static com.datastax.driver.core.DataType.blob;
import static com.datastax.driver.core.DataType.text;
import static com.datastax.driver.core.DataType.uuid;
-import java.util.List;
-
import org.apache.james.backends.cassandra.components.CassandraModule;
-import org.apache.james.backends.cassandra.components.CassandraTable;
-import org.apache.james.backends.cassandra.components.CassandraType;
import org.apache.james.backends.cassandra.utils.CassandraConstants;
import org.apache.james.mailbox.cassandra.table.CassandraAttachmentMessageIdTable;
import org.apache.james.mailbox.cassandra.table.CassandraAttachmentOwnerTable;
@@ -36,69 +32,52 @@ import org.apache.james.mailbox.cassandra.table.CassandraAttachmentTable;
import org.apache.james.mailbox.cassandra.table.CassandraAttachmentV2Table;
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
-import com.google.common.collect.ImmutableList;
-
-public class CassandraAttachmentModule implements CassandraModule {
-
- private final List<CassandraTable> tables;
- private final List<CassandraType> types;
-
- public CassandraAttachmentModule() {
- tables = ImmutableList.of(
- new CassandraTable(CassandraAttachmentTable.TABLE_NAME,
- SchemaBuilder.createTable(CassandraAttachmentTable.TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(CassandraAttachmentTable.ID, text())
- .addColumn(CassandraAttachmentTable.PAYLOAD, blob())
- .addColumn(CassandraAttachmentTable.TYPE, text())
- .addColumn(CassandraAttachmentTable.SIZE, bigint())
- .withOptions()
- .comment("Holds attachment for fast attachment retrieval")),
- new CassandraTable(CassandraAttachmentV2Table.TABLE_NAME,
- SchemaBuilder.createTable(CassandraAttachmentV2Table.TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(CassandraAttachmentV2Table.ID_AS_UUID, uuid())
- .addColumn(CassandraAttachmentV2Table.ID, text())
- .addColumn(CassandraAttachmentV2Table.BLOB_ID, text())
- .addColumn(CassandraAttachmentV2Table.TYPE, text())
- .addColumn(CassandraAttachmentV2Table.SIZE, bigint())
- .withOptions()
- .compactionOptions(SchemaBuilder.leveledStrategy())
- .caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION))
- .comment("Holds attachment for fast attachment retrieval. Content of messages is stored" +
- "in `blobs` and `blobparts` tables.")),
- new CassandraTable(CassandraAttachmentMessageIdTable.TABLE_NAME,
- SchemaBuilder.createTable(CassandraAttachmentMessageIdTable.TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(CassandraAttachmentMessageIdTable.ATTACHMENT_ID_AS_UUID, uuid())
- .addColumn(CassandraAttachmentMessageIdTable.ATTACHMENT_ID, text())
- .addClusteringColumn(CassandraAttachmentMessageIdTable.MESSAGE_ID, text())
- .withOptions()
- .compactionOptions(SchemaBuilder.leveledStrategy())
- .caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION))
- .comment("Holds ids of messages owning the attachment")),
- new CassandraTable(CassandraAttachmentOwnerTable.TABLE_NAME,
- SchemaBuilder.createTable(CassandraAttachmentOwnerTable.TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(CassandraAttachmentOwnerTable.ID, uuid())
- .addClusteringColumn(CassandraAttachmentOwnerTable.OWNER, text())
- .withOptions()
- .compactionOptions(SchemaBuilder.leveledStrategy())
- .caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION))
- .comment("Holds explicit owners of some attachments")));
- types = ImmutableList.of();
- }
- @Override
- public List<CassandraTable> moduleTables() {
- return tables;
- }
+public interface CassandraAttachmentModule {
- @Override
- public List<CassandraType> moduleTypes() {
- return types;
- }
+ CassandraModule MODULE = CassandraModule.table(CassandraAttachmentTable.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(CassandraAttachmentTable.ID, text())
+ .addColumn(CassandraAttachmentTable.PAYLOAD, blob())
+ .addColumn(CassandraAttachmentTable.TYPE, text())
+ .addColumn(CassandraAttachmentTable.SIZE, bigint())
+ .withOptions()
+ .comment("Holds attachment for fast attachment retrieval"))
+ .table(CassandraAttachmentV2Table.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(CassandraAttachmentV2Table.ID_AS_UUID, uuid())
+ .addColumn(CassandraAttachmentV2Table.ID, text())
+ .addColumn(CassandraAttachmentV2Table.BLOB_ID, text())
+ .addColumn(CassandraAttachmentV2Table.TYPE, text())
+ .addColumn(CassandraAttachmentV2Table.SIZE, bigint())
+ .withOptions()
+ .compactionOptions(SchemaBuilder.leveledStrategy())
+ .caching(SchemaBuilder.KeyCaching.ALL,
+ SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION))
+ .comment("Holds attachment for fast attachment retrieval. Content of messages is stored" +
+ "in `blobs` and `blobparts` tables."))
+ .table(CassandraAttachmentMessageIdTable.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(CassandraAttachmentMessageIdTable.ATTACHMENT_ID_AS_UUID, uuid())
+ .addColumn(CassandraAttachmentMessageIdTable.ATTACHMENT_ID, text())
+ .addClusteringColumn(CassandraAttachmentMessageIdTable.MESSAGE_ID, text())
+ .withOptions()
+ .compactionOptions(SchemaBuilder.leveledStrategy())
+ .caching(SchemaBuilder.KeyCaching.ALL,
+ SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION))
+ .comment("Holds ids of messages owning the attachment"))
+ .table(CassandraAttachmentOwnerTable.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(CassandraAttachmentOwnerTable.ID, uuid())
+ .addClusteringColumn(CassandraAttachmentOwnerTable.OWNER, text())
+ .withOptions()
+ .compactionOptions(SchemaBuilder.leveledStrategy())
+ .caching(SchemaBuilder.KeyCaching.ALL,
+ SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION))
+ .comment("Holds explicit owners of some attachments"))
+ .build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraDeletedMessageModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraDeletedMessageModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraDeletedMessageModule.java
index 46e99fb..b2689d9 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraDeletedMessageModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraDeletedMessageModule.java
@@ -23,44 +23,22 @@ import static org.apache.james.mailbox.cassandra.table.CassandraDeletedMessageTa
import static org.apache.james.mailbox.cassandra.table.CassandraDeletedMessageTable.TABLE_NAME;
import static org.apache.james.mailbox.cassandra.table.CassandraDeletedMessageTable.UID;
-import java.util.List;
-
import org.apache.james.backends.cassandra.components.CassandraModule;
-import org.apache.james.backends.cassandra.components.CassandraTable;
-import org.apache.james.backends.cassandra.components.CassandraType;
import org.apache.james.backends.cassandra.utils.CassandraConstants;
import com.datastax.driver.core.DataType;
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
-import com.google.common.collect.ImmutableList;
-
-public class CassandraDeletedMessageModule implements CassandraModule {
-
- private final List<CassandraTable> tables;
- private final List<CassandraType> types;
-
- public CassandraDeletedMessageModule() {
- tables = ImmutableList.of(new CassandraTable(TABLE_NAME,
- SchemaBuilder.createTable(TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(MAILBOX_ID, DataType.timeuuid())
- .addClusteringColumn(UID, DataType.bigint())
- .withOptions()
- .comment("Denormalisation table. Allows to retrieve UID marked as DELETED in specific mailboxes.")
- .compactionOptions(SchemaBuilder.leveledStrategy())
- .caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION))));
- types = ImmutableList.of();
- }
-
- @Override
- public List<CassandraTable> moduleTables() {
- return tables;
- }
-
- @Override
- public List<CassandraType> moduleTypes() {
- return types;
- }
+public interface CassandraDeletedMessageModule {
+ CassandraModule MODULE = CassandraModule.table(TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(MAILBOX_ID, DataType.timeuuid())
+ .addClusteringColumn(UID, DataType.bigint())
+ .withOptions()
+ .comment("Denormalisation table. Allows to retrieve UID marked as DELETED in specific mailboxes.")
+ .compactionOptions(SchemaBuilder.leveledStrategy())
+ .caching(SchemaBuilder.KeyCaching.ALL,
+ SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
+ .build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraFirstUnseenModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraFirstUnseenModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraFirstUnseenModule.java
index 1af9c0f..aec22b2 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraFirstUnseenModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraFirstUnseenModule.java
@@ -19,45 +19,24 @@
package org.apache.james.mailbox.cassandra.modules;
-import java.util.List;
-
import org.apache.james.backends.cassandra.components.CassandraModule;
-import org.apache.james.backends.cassandra.components.CassandraTable;
-import org.apache.james.backends.cassandra.components.CassandraType;
import org.apache.james.backends.cassandra.utils.CassandraConstants;
import org.apache.james.mailbox.cassandra.table.CassandraFirstUnseenTable;
import com.datastax.driver.core.DataType;
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
-import com.google.common.collect.ImmutableList;
-
-public class CassandraFirstUnseenModule implements CassandraModule {
-
- private final List<CassandraTable> tables;
- private final List<CassandraType> types;
-
- public CassandraFirstUnseenModule() {
- tables = ImmutableList.of(new CassandraTable(CassandraFirstUnseenTable.TABLE_NAME,
- SchemaBuilder.createTable(CassandraFirstUnseenTable.TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(CassandraFirstUnseenTable.MAILBOX_ID, DataType.timeuuid())
- .addClusteringColumn(CassandraFirstUnseenTable.UID, DataType.bigint())
- .withOptions()
- .comment("Denormalisation table. Allow to quickly retrieve the first UNSEEN UID of a specific mailbox.")
- .compactionOptions(SchemaBuilder.leveledStrategy())
- .caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION))
- .clusteringOrder(CassandraFirstUnseenTable.UID, SchemaBuilder.Direction.ASC)));
- types = ImmutableList.of();
- }
-
- @Override
- public List<CassandraTable> moduleTables() {
- return tables;
- }
- @Override
- public List<CassandraType> moduleTypes() {
- return types;
- }
+public interface CassandraFirstUnseenModule {
+ CassandraModule MODULE = CassandraModule.table(CassandraFirstUnseenTable.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(CassandraFirstUnseenTable.MAILBOX_ID, DataType.timeuuid())
+ .addClusteringColumn(CassandraFirstUnseenTable.UID, DataType.bigint())
+ .withOptions()
+ .comment("Denormalisation table. Allow to quickly retrieve the first UNSEEN UID of a specific mailbox.")
+ .compactionOptions(SchemaBuilder.leveledStrategy())
+ .caching(SchemaBuilder.KeyCaching.ALL,
+ SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION))
+ .clusteringOrder(CassandraFirstUnseenTable.UID, SchemaBuilder.Direction.ASC))
+ .build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxCounterModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxCounterModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxCounterModule.java
index 5a402f3..fdeb187 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxCounterModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxCounterModule.java
@@ -22,45 +22,23 @@ package org.apache.james.mailbox.cassandra.modules;
import static com.datastax.driver.core.DataType.counter;
import static com.datastax.driver.core.DataType.timeuuid;
-import java.util.List;
-
import org.apache.james.backends.cassandra.components.CassandraModule;
-import org.apache.james.backends.cassandra.components.CassandraTable;
-import org.apache.james.backends.cassandra.components.CassandraType;
import org.apache.james.backends.cassandra.utils.CassandraConstants;
import org.apache.james.mailbox.cassandra.table.CassandraMailboxCountersTable;
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
-import com.google.common.collect.ImmutableList;
-
-public class CassandraMailboxCounterModule implements CassandraModule {
-
- private final List<CassandraTable> tables;
- private final List<CassandraType> types;
-
- public CassandraMailboxCounterModule() {
- tables = ImmutableList.of(
- new CassandraTable(CassandraMailboxCountersTable.TABLE_NAME,
- SchemaBuilder.createTable(CassandraMailboxCountersTable.TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(CassandraMailboxCountersTable.MAILBOX_ID, timeuuid())
- .addColumn(CassandraMailboxCountersTable.COUNT, counter())
- .addColumn(CassandraMailboxCountersTable.UNSEEN, counter())
- .withOptions()
- .comment("Holds messages count and unseen message count for each mailbox.")
- .compactionOptions(SchemaBuilder.leveledStrategy())
- .caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION))));
- types = ImmutableList.of();
- }
-
- @Override
- public List<CassandraTable> moduleTables() {
- return tables;
- }
- @Override
- public List<CassandraType> moduleTypes() {
- return types;
- }
+public interface CassandraMailboxCounterModule {
+ CassandraModule MODULE = CassandraModule.table(CassandraMailboxCountersTable.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(CassandraMailboxCountersTable.MAILBOX_ID, timeuuid())
+ .addColumn(CassandraMailboxCountersTable.COUNT, counter())
+ .addColumn(CassandraMailboxCountersTable.UNSEEN, counter())
+ .withOptions()
+ .comment("Holds messages count and unseen message count for each mailbox.")
+ .compactionOptions(SchemaBuilder.leveledStrategy())
+ .caching(SchemaBuilder.KeyCaching.ALL,
+ SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
+ .build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxModule.java
index 85fd62d..c9e79dd 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxModule.java
@@ -23,75 +23,54 @@ import static com.datastax.driver.core.DataType.bigint;
import static com.datastax.driver.core.DataType.text;
import static com.datastax.driver.core.DataType.timeuuid;
-import java.util.List;
-
import org.apache.james.backends.cassandra.components.CassandraModule;
-import org.apache.james.backends.cassandra.components.CassandraTable;
-import org.apache.james.backends.cassandra.components.CassandraType;
import org.apache.james.backends.cassandra.utils.CassandraConstants;
import org.apache.james.mailbox.cassandra.table.CassandraMailboxPathTable;
import org.apache.james.mailbox.cassandra.table.CassandraMailboxPathV2Table;
import org.apache.james.mailbox.cassandra.table.CassandraMailboxTable;
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
-import com.google.common.collect.ImmutableList;
-
-public class CassandraMailboxModule implements CassandraModule {
-
- private final List<CassandraTable> tables;
- private final List<CassandraType> types;
-
- public CassandraMailboxModule() {
- tables = ImmutableList.of(
- new CassandraTable(CassandraMailboxTable.TABLE_NAME,
- SchemaBuilder.createTable(CassandraMailboxTable.TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(CassandraMailboxTable.ID, timeuuid())
- .addUDTColumn(CassandraMailboxTable.MAILBOX_BASE, SchemaBuilder.frozen(CassandraMailboxTable.MAILBOX_BASE))
- .addColumn(CassandraMailboxTable.NAME, text())
- .addColumn(CassandraMailboxTable.UIDVALIDITY, bigint())
- .withOptions()
- .comment("Holds the mailboxes information.")
- .caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION))),
- new CassandraTable(CassandraMailboxPathTable.TABLE_NAME,
- SchemaBuilder.createTable(CassandraMailboxPathTable.TABLE_NAME)
- .ifNotExists()
- .addUDTPartitionKey(CassandraMailboxPathTable.NAMESPACE_AND_USER, SchemaBuilder.frozen(CassandraMailboxTable.MAILBOX_BASE))
- .addClusteringColumn(CassandraMailboxPathTable.MAILBOX_NAME, text())
- .addColumn(CassandraMailboxPathTable.MAILBOX_ID, timeuuid())
- .withOptions()
- .comment("Denormalisation table. Allow to retrieve mailboxes belonging to a certain user. This is a " +
- "LIST optimisation.")
- .caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION))),
- new CassandraTable(CassandraMailboxPathV2Table.TABLE_NAME,
- SchemaBuilder.createTable(CassandraMailboxPathV2Table.TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(CassandraMailboxPathV2Table.NAMESPACE, text())
- .addPartitionKey(CassandraMailboxPathV2Table.USER, text())
- .addClusteringColumn(CassandraMailboxPathV2Table.MAILBOX_NAME, text())
- .addColumn(CassandraMailboxPathV2Table.MAILBOX_ID, timeuuid())
- .withOptions()
- .comment("Denormalisation table. Allow to retrieve mailboxes belonging to a certain user. This is a " +
- "LIST optimisation.")
- .caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION))));
- types = ImmutableList.of(
- new CassandraType(CassandraMailboxTable.MAILBOX_BASE,
- SchemaBuilder.createType(CassandraMailboxTable.MAILBOX_BASE)
- .ifNotExists()
- .addColumn(CassandraMailboxTable.MailboxBase.NAMESPACE, text())
- .addColumn(CassandraMailboxTable.MailboxBase.USER, text())));
- }
-
- @Override
- public List<CassandraTable> moduleTables() {
- return tables;
- }
- @Override
- public List<CassandraType> moduleTypes() {
- return types;
- }
+public interface CassandraMailboxModule {
+ CassandraModule MODULE = CassandraModule.builder()
+ .type(CassandraMailboxTable.MAILBOX_BASE)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addColumn(CassandraMailboxTable.MailboxBase.NAMESPACE, text())
+ .addColumn(CassandraMailboxTable.MailboxBase.USER, text()))
+ .table(CassandraMailboxTable.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(CassandraMailboxTable.ID, timeuuid())
+ .addUDTColumn(CassandraMailboxTable.MAILBOX_BASE, SchemaBuilder.frozen(CassandraMailboxTable.MAILBOX_BASE))
+ .addColumn(CassandraMailboxTable.NAME, text())
+ .addColumn(CassandraMailboxTable.UIDVALIDITY, bigint())
+ .withOptions()
+ .comment("Holds the mailboxes information.")
+ .caching(SchemaBuilder.KeyCaching.ALL,
+ SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
+ .table(CassandraMailboxPathTable.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addUDTPartitionKey(CassandraMailboxPathTable.NAMESPACE_AND_USER, SchemaBuilder.frozen(CassandraMailboxTable.MAILBOX_BASE))
+ .addClusteringColumn(CassandraMailboxPathTable.MAILBOX_NAME, text())
+ .addColumn(CassandraMailboxPathTable.MAILBOX_ID, timeuuid())
+ .withOptions()
+ .comment("Denormalisation table. Allow to retrieve mailboxes belonging to a certain user. This is a " +
+ "LIST optimisation.")
+ .caching(SchemaBuilder.KeyCaching.ALL,
+ SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
+ .table(CassandraMailboxPathV2Table.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(CassandraMailboxPathV2Table.NAMESPACE, text())
+ .addPartitionKey(CassandraMailboxPathV2Table.USER, text())
+ .addClusteringColumn(CassandraMailboxPathV2Table.MAILBOX_NAME, text())
+ .addColumn(CassandraMailboxPathV2Table.MAILBOX_ID, timeuuid())
+ .withOptions()
+ .comment("Denormalisation table. Allow to retrieve mailboxes belonging to a certain user. This is a " +
+ "LIST optimisation.")
+ .caching(SchemaBuilder.KeyCaching.ALL,
+ SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
+ .build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxRecentsModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxRecentsModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxRecentsModule.java
index da37060..9193470 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxRecentsModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxRecentsModule.java
@@ -22,45 +22,23 @@ package org.apache.james.mailbox.cassandra.modules;
import static com.datastax.driver.core.DataType.bigint;
import static com.datastax.driver.core.DataType.timeuuid;
-import java.util.List;
-
import org.apache.james.backends.cassandra.components.CassandraModule;
-import org.apache.james.backends.cassandra.components.CassandraTable;
-import org.apache.james.backends.cassandra.components.CassandraType;
import org.apache.james.backends.cassandra.utils.CassandraConstants;
import org.apache.james.mailbox.cassandra.table.CassandraMailboxRecentsTable;
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
-import com.google.common.collect.ImmutableList;
-
-public class CassandraMailboxRecentsModule implements CassandraModule {
-
- private final List<CassandraTable> tables;
- private final List<CassandraType> types;
-
- public CassandraMailboxRecentsModule() {
- tables = ImmutableList.of(
- new CassandraTable(CassandraMailboxRecentsTable.TABLE_NAME,
- SchemaBuilder.createTable(CassandraMailboxRecentsTable.TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(CassandraMailboxRecentsTable.MAILBOX_ID, timeuuid())
- .addClusteringColumn(CassandraMailboxRecentsTable.RECENT_MESSAGE_UID, bigint())
- .withOptions()
- .comment("Denormalisation table. This table holds for each mailbox the messages marked as RECENT. This" +
- " is a SELECT optimisation.")
- .compactionOptions(SchemaBuilder.leveledStrategy())
- .caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION))));
- types = ImmutableList.of();
- }
-
- @Override
- public List<CassandraTable> moduleTables() {
- return tables;
- }
- @Override
- public List<CassandraType> moduleTypes() {
- return types;
- }
+public interface CassandraMailboxRecentsModule {
+ CassandraModule MODULE = CassandraModule.table(CassandraMailboxRecentsTable.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(CassandraMailboxRecentsTable.MAILBOX_ID, timeuuid())
+ .addClusteringColumn(CassandraMailboxRecentsTable.RECENT_MESSAGE_UID, bigint())
+ .withOptions()
+ .comment("Denormalisation table. This table holds for each mailbox the messages marked as RECENT. This" +
+ " is a SELECT optimisation.")
+ .compactionOptions(SchemaBuilder.leveledStrategy())
+ .caching(SchemaBuilder.KeyCaching.ALL,
+ SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
+ .build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMessageModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMessageModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMessageModule.java
index 428a45a..856736a 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMessageModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMessageModule.java
@@ -27,11 +27,7 @@ import static com.datastax.driver.core.DataType.text;
import static com.datastax.driver.core.DataType.timestamp;
import static com.datastax.driver.core.DataType.timeuuid;
-import java.util.List;
-
import org.apache.james.backends.cassandra.components.CassandraModule;
-import org.apache.james.backends.cassandra.components.CassandraTable;
-import org.apache.james.backends.cassandra.components.CassandraType;
import org.apache.james.mailbox.cassandra.table.CassandraMessageIdTable;
import org.apache.james.mailbox.cassandra.table.CassandraMessageIds;
import org.apache.james.mailbox.cassandra.table.CassandraMessageV2Table;
@@ -39,96 +35,81 @@ import org.apache.james.mailbox.cassandra.table.Flag;
import org.apache.james.mailbox.cassandra.table.MessageIdToImapUid;
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
-import com.google.common.collect.ImmutableList;
-
-public class CassandraMessageModule implements CassandraModule {
-
- public static final int CACHED_MESSAGE_ID_ROWS = 1000;
- public static final int CACHED_IMAP_UID_ROWS = 100;
- private final List<CassandraTable> tables;
- private final List<CassandraType> types;
- public CassandraMessageModule() {
- tables = ImmutableList.of(
- new CassandraTable(MessageIdToImapUid.TABLE_NAME,
- SchemaBuilder.createTable(MessageIdToImapUid.TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(CassandraMessageIds.MESSAGE_ID, timeuuid())
- .addClusteringColumn(CassandraMessageIds.MAILBOX_ID, timeuuid())
- .addClusteringColumn(CassandraMessageIds.IMAP_UID, bigint())
- .addColumn(MessageIdToImapUid.MOD_SEQ, bigint())
- .addColumn(Flag.ANSWERED, cboolean())
- .addColumn(Flag.DELETED, cboolean())
- .addColumn(Flag.DRAFT, cboolean())
- .addColumn(Flag.FLAGGED, cboolean())
- .addColumn(Flag.RECENT, cboolean())
- .addColumn(Flag.SEEN, cboolean())
- .addColumn(Flag.USER, cboolean())
- .addColumn(Flag.USER_FLAGS, set(text()))
- .withOptions()
- .comment("Holds mailbox and flags for each message, lookup by message ID")
- .compactionOptions(SchemaBuilder.leveledStrategy())
- .caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CACHED_IMAP_UID_ROWS))),
- new CassandraTable(CassandraMessageIdTable.TABLE_NAME,
- SchemaBuilder.createTable(CassandraMessageIdTable.TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(CassandraMessageIds.MAILBOX_ID, timeuuid())
- .addClusteringColumn(CassandraMessageIds.IMAP_UID, bigint())
- .addColumn(CassandraMessageIds.MESSAGE_ID, timeuuid())
- .addColumn(CassandraMessageIdTable.MOD_SEQ, bigint())
- .addColumn(Flag.ANSWERED, cboolean())
- .addColumn(Flag.DELETED, cboolean())
- .addColumn(Flag.DRAFT, cboolean())
- .addColumn(Flag.FLAGGED, cboolean())
- .addColumn(Flag.RECENT, cboolean())
- .addColumn(Flag.SEEN, cboolean())
- .addColumn(Flag.USER, cboolean())
- .addColumn(Flag.USER_FLAGS, set(text()))
- .withOptions()
- .comment("Holds mailbox and flags for each message, lookup by mailbox ID + UID")
- .compactionOptions(SchemaBuilder.leveledStrategy())
- .caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CACHED_MESSAGE_ID_ROWS))),
- new CassandraTable(CassandraMessageV2Table.TABLE_NAME,
- SchemaBuilder.createTable(CassandraMessageV2Table.TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(CassandraMessageIds.MESSAGE_ID, timeuuid())
- .addColumn(CassandraMessageV2Table.INTERNAL_DATE, timestamp())
- .addColumn(CassandraMessageV2Table.BODY_START_OCTET, cint())
- .addColumn(CassandraMessageV2Table.BODY_OCTECTS, bigint())
- .addColumn(CassandraMessageV2Table.TEXTUAL_LINE_COUNT, bigint())
- .addColumn(CassandraMessageV2Table.FULL_CONTENT_OCTETS, bigint())
- .addColumn(CassandraMessageV2Table.BODY_CONTENT, text())
- .addColumn(CassandraMessageV2Table.HEADER_CONTENT, text())
- .addUDTListColumn(CassandraMessageV2Table.ATTACHMENTS, SchemaBuilder.frozen(CassandraMessageV2Table.ATTACHMENTS))
- .addUDTListColumn(CassandraMessageV2Table.PROPERTIES, SchemaBuilder.frozen(CassandraMessageV2Table.PROPERTIES))
- .withOptions()
- .comment("Holds message metadata, independently of any mailboxes. Content of messages is stored " +
- "in `blobs` and `blobparts` tables.")));
- types = ImmutableList.of(
- new CassandraType(CassandraMessageV2Table.PROPERTIES,
- SchemaBuilder.createType(CassandraMessageV2Table.PROPERTIES)
- .ifNotExists()
- .addColumn(CassandraMessageV2Table.Properties.NAMESPACE, text())
- .addColumn(CassandraMessageV2Table.Properties.NAME, text())
- .addColumn(CassandraMessageV2Table.Properties.VALUE, text())),
- new CassandraType(CassandraMessageV2Table.ATTACHMENTS,
- SchemaBuilder.createType(CassandraMessageV2Table.ATTACHMENTS)
- .ifNotExists()
- .addColumn(CassandraMessageV2Table.Attachments.ID, text())
- .addColumn(CassandraMessageV2Table.Attachments.NAME, text())
- .addColumn(CassandraMessageV2Table.Attachments.CID, text())
- .addColumn(CassandraMessageV2Table.Attachments.IS_INLINE, cboolean())));
- }
+public interface CassandraMessageModule {
- @Override
- public List<CassandraTable> moduleTables() {
- return tables;
- }
+ int CACHED_MESSAGE_ID_ROWS = 1000;
+ int CACHED_IMAP_UID_ROWS = 100;
- @Override
- public List<CassandraType> moduleTypes() {
- return types;
- }
+ CassandraModule MODULE = CassandraModule.builder()
+ .table(CassandraMessageIdTable.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(CassandraMessageIds.MAILBOX_ID, timeuuid())
+ .addClusteringColumn(CassandraMessageIds.IMAP_UID, bigint())
+ .addColumn(CassandraMessageIds.MESSAGE_ID, timeuuid())
+ .addColumn(CassandraMessageIdTable.MOD_SEQ, bigint())
+ .addColumn(Flag.ANSWERED, cboolean())
+ .addColumn(Flag.DELETED, cboolean())
+ .addColumn(Flag.DRAFT, cboolean())
+ .addColumn(Flag.FLAGGED, cboolean())
+ .addColumn(Flag.RECENT, cboolean())
+ .addColumn(Flag.SEEN, cboolean())
+ .addColumn(Flag.USER, cboolean())
+ .addColumn(Flag.USER_FLAGS, set(text()))
+ .withOptions()
+ .comment("Holds mailbox and flags for each message, lookup by mailbox ID + UID")
+ .compactionOptions(SchemaBuilder.leveledStrategy())
+ .caching(SchemaBuilder.KeyCaching.ALL,
+ SchemaBuilder.rows(CACHED_MESSAGE_ID_ROWS)))
+ .table(MessageIdToImapUid.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(CassandraMessageIds.MESSAGE_ID, timeuuid())
+ .addClusteringColumn(CassandraMessageIds.MAILBOX_ID, timeuuid())
+ .addClusteringColumn(CassandraMessageIds.IMAP_UID, bigint())
+ .addColumn(MessageIdToImapUid.MOD_SEQ, bigint())
+ .addColumn(Flag.ANSWERED, cboolean())
+ .addColumn(Flag.DELETED, cboolean())
+ .addColumn(Flag.DRAFT, cboolean())
+ .addColumn(Flag.FLAGGED, cboolean())
+ .addColumn(Flag.RECENT, cboolean())
+ .addColumn(Flag.SEEN, cboolean())
+ .addColumn(Flag.USER, cboolean())
+ .addColumn(Flag.USER_FLAGS, set(text()))
+ .withOptions()
+ .comment("Holds mailbox and flags for each message, lookup by message ID")
+ .compactionOptions(SchemaBuilder.leveledStrategy())
+ .caching(SchemaBuilder.KeyCaching.ALL,
+ SchemaBuilder.rows(CACHED_IMAP_UID_ROWS)))
+ .table(CassandraMessageV2Table.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(CassandraMessageIds.MESSAGE_ID, timeuuid())
+ .addColumn(CassandraMessageV2Table.INTERNAL_DATE, timestamp())
+ .addColumn(CassandraMessageV2Table.BODY_START_OCTET, cint())
+ .addColumn(CassandraMessageV2Table.BODY_OCTECTS, bigint())
+ .addColumn(CassandraMessageV2Table.TEXTUAL_LINE_COUNT, bigint())
+ .addColumn(CassandraMessageV2Table.FULL_CONTENT_OCTETS, bigint())
+ .addColumn(CassandraMessageV2Table.BODY_CONTENT, text())
+ .addColumn(CassandraMessageV2Table.HEADER_CONTENT, text())
+ .addUDTListColumn(CassandraMessageV2Table.ATTACHMENTS, SchemaBuilder.frozen(CassandraMessageV2Table.ATTACHMENTS))
+ .addUDTListColumn(CassandraMessageV2Table.PROPERTIES, SchemaBuilder.frozen(CassandraMessageV2Table.PROPERTIES))
+ .withOptions()
+ .comment("Holds message metadata, independently of any mailboxes. Content of messages is stored " +
+ "in `blobs` and `blobparts` tables."))
+ .type(CassandraMessageV2Table.PROPERTIES)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addColumn(CassandraMessageV2Table.Properties.NAMESPACE, text())
+ .addColumn(CassandraMessageV2Table.Properties.NAME, text())
+ .addColumn(CassandraMessageV2Table.Properties.VALUE, text()))
+ .type(CassandraMessageV2Table.ATTACHMENTS)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addColumn(CassandraMessageV2Table.Attachments.ID, text())
+ .addColumn(CassandraMessageV2Table.Attachments.NAME, text())
+ .addColumn(CassandraMessageV2Table.Attachments.CID, text())
+ .addColumn(CassandraMessageV2Table.Attachments.IS_INLINE, cboolean()))
+ .build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraModSeqModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraModSeqModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraModSeqModule.java
index 49013ab..2e0169e 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraModSeqModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraModSeqModule.java
@@ -22,44 +22,22 @@ package org.apache.james.mailbox.cassandra.modules;
import static com.datastax.driver.core.DataType.bigint;
import static com.datastax.driver.core.DataType.timeuuid;
-import java.util.List;
-
import org.apache.james.backends.cassandra.components.CassandraModule;
-import org.apache.james.backends.cassandra.components.CassandraTable;
-import org.apache.james.backends.cassandra.components.CassandraType;
import org.apache.james.backends.cassandra.utils.CassandraConstants;
import org.apache.james.mailbox.cassandra.table.CassandraMessageModseqTable;
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
-import com.google.common.collect.ImmutableList;
-
-public class CassandraModSeqModule implements CassandraModule {
-
- private final List<CassandraTable> tables;
- private final List<CassandraType> types;
-
- public CassandraModSeqModule() {
- tables = ImmutableList.of(
- new CassandraTable(CassandraMessageModseqTable.TABLE_NAME,
- SchemaBuilder.createTable(CassandraMessageModseqTable.TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(CassandraMessageModseqTable.MAILBOX_ID, timeuuid())
- .addColumn(CassandraMessageModseqTable.NEXT_MODSEQ, bigint())
- .withOptions()
- .comment("Holds and is used to generate MODSEQ. A monotic counter is implemented on top of this table.")
- .compactionOptions(SchemaBuilder.leveledStrategy())
- .caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION))));
- types = ImmutableList.of();
- }
-
- @Override
- public List<CassandraTable> moduleTables() {
- return tables;
- }
- @Override
- public List<CassandraType> moduleTypes() {
- return types;
- }
+public interface CassandraModSeqModule {
+ CassandraModule MODULE = CassandraModule.table(CassandraMessageModseqTable.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(CassandraMessageModseqTable.MAILBOX_ID, timeuuid())
+ .addColumn(CassandraMessageModseqTable.NEXT_MODSEQ, bigint())
+ .withOptions()
+ .comment("Holds and is used to generate MODSEQ. A monotic counter is implemented on top of this table.")
+ .compactionOptions(SchemaBuilder.leveledStrategy())
+ .caching(SchemaBuilder.KeyCaching.ALL,
+ SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
+ .build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraQuotaModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraQuotaModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraQuotaModule.java
index 73c7353..3f50395 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraQuotaModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraQuotaModule.java
@@ -23,11 +23,7 @@ import static com.datastax.driver.core.DataType.bigint;
import static com.datastax.driver.core.DataType.counter;
import static com.datastax.driver.core.DataType.text;
-import java.util.List;
-
import org.apache.james.backends.cassandra.components.CassandraModule;
-import org.apache.james.backends.cassandra.components.CassandraTable;
-import org.apache.james.backends.cassandra.components.CassandraType;
import org.apache.james.backends.cassandra.utils.CassandraConstants;
import org.apache.james.mailbox.cassandra.table.CassandraCurrentQuota;
import org.apache.james.mailbox.cassandra.table.CassandraDomainMaxQuota;
@@ -35,64 +31,47 @@ import org.apache.james.mailbox.cassandra.table.CassandraGlobalMaxQuota;
import org.apache.james.mailbox.cassandra.table.CassandraMaxQuota;
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
-import com.google.common.collect.ImmutableList;
-
-public class CassandraQuotaModule implements CassandraModule {
-
- private final List<CassandraTable> tables;
- private final List<CassandraType> types;
-
- public CassandraQuotaModule() {
- tables = ImmutableList.of(
- new CassandraTable(CassandraCurrentQuota.TABLE_NAME,
- SchemaBuilder.createTable(CassandraCurrentQuota.TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(CassandraCurrentQuota.QUOTA_ROOT, text())
- .addColumn(CassandraCurrentQuota.MESSAGE_COUNT, counter())
- .addColumn(CassandraCurrentQuota.STORAGE, counter())
- .withOptions()
- .comment("Holds per quota-root current values. Quota-roots defines groups of mailboxes which shares quotas limitations.")
- .caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION))),
- new CassandraTable(CassandraMaxQuota.TABLE_NAME,
- SchemaBuilder.createTable(CassandraMaxQuota.TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(CassandraMaxQuota.QUOTA_ROOT, text())
- .addColumn(CassandraMaxQuota.MESSAGE_COUNT, bigint())
- .addColumn(CassandraMaxQuota.STORAGE, bigint())
- .withOptions()
- .comment("Holds per quota-root limitations. Limitations can concern the number of messages in a quota-root or the total size of a quota-root.")
- .caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION))),
- new CassandraTable(CassandraDomainMaxQuota.TABLE_NAME,
- SchemaBuilder.createTable(CassandraDomainMaxQuota.TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(CassandraDomainMaxQuota.DOMAIN, text())
- .addColumn(CassandraDomainMaxQuota.MESSAGE_COUNT, bigint())
- .addColumn(CassandraDomainMaxQuota.STORAGE, bigint())
- .withOptions()
- .comment("Holds per domain limitations. Limitations can concern the number of messages in a quota-root or the total size of a quota-root.")
- .caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION))),
- new CassandraTable(CassandraGlobalMaxQuota.TABLE_NAME,
- SchemaBuilder.createTable(CassandraGlobalMaxQuota.TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(CassandraGlobalMaxQuota.TYPE, text())
- .addColumn(CassandraGlobalMaxQuota.VALUE, bigint())
- .withOptions()
- .comment("Holds defaults limitations definition.")
- .caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION))));
- types = ImmutableList.of();
- }
-
- @Override
- public List<CassandraTable> moduleTables() {
- return tables;
- }
- @Override
- public List<CassandraType> moduleTypes() {
- return types;
- }
+public interface CassandraQuotaModule {
+ CassandraModule MODULE = CassandraModule.builder()
+ .table(CassandraCurrentQuota.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(CassandraCurrentQuota.QUOTA_ROOT, text())
+ .addColumn(CassandraCurrentQuota.MESSAGE_COUNT, counter())
+ .addColumn(CassandraCurrentQuota.STORAGE, counter())
+ .withOptions()
+ .comment("Holds per quota-root current values. Quota-roots defines groups of mailboxes which shares quotas limitations.")
+ .caching(SchemaBuilder.KeyCaching.ALL,
+ SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
+ .table(CassandraMaxQuota.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(CassandraMaxQuota.QUOTA_ROOT, text())
+ .addColumn(CassandraMaxQuota.MESSAGE_COUNT, bigint())
+ .addColumn(CassandraMaxQuota.STORAGE, bigint())
+ .withOptions()
+ .comment("Holds per quota-root limitations. Limitations can concern the number of messages in a quota-root or the total size of a quota-root.")
+ .caching(SchemaBuilder.KeyCaching.ALL,
+ SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
+ .table(CassandraDomainMaxQuota.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(CassandraDomainMaxQuota.DOMAIN, text())
+ .addColumn(CassandraDomainMaxQuota.MESSAGE_COUNT, bigint())
+ .addColumn(CassandraDomainMaxQuota.STORAGE, bigint())
+ .withOptions()
+ .comment("Holds per domain limitations. Limitations can concern the number of messages in a quota-root or the total size of a quota-root.")
+ .caching(SchemaBuilder.KeyCaching.ALL,
+ SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
+ .table(CassandraGlobalMaxQuota.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(CassandraGlobalMaxQuota.TYPE, text())
+ .addColumn(CassandraGlobalMaxQuota.VALUE, bigint())
+ .withOptions()
+ .comment("Holds defaults limitations definition.")
+ .caching(SchemaBuilder.KeyCaching.ALL,
+ SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
+ .build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraRegistrationModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraRegistrationModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraRegistrationModule.java
index bb91fd4..97e6714 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraRegistrationModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraRegistrationModule.java
@@ -21,46 +21,25 @@ package org.apache.james.mailbox.cassandra.modules;
import static com.datastax.driver.core.DataType.text;
-import java.util.List;
-
import org.apache.james.backends.cassandra.components.CassandraModule;
-import org.apache.james.backends.cassandra.components.CassandraTable;
-import org.apache.james.backends.cassandra.components.CassandraType;
import org.apache.james.mailbox.cassandra.table.CassandraMailboxPathRegisterTable;
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
-import com.google.common.collect.ImmutableList;
-
-public class CassandraRegistrationModule implements CassandraModule {
-
- private final List<CassandraTable> tables;
- private final List<CassandraType> types;
-
- public CassandraRegistrationModule() {
- tables = ImmutableList.of(
- new CassandraTable(CassandraMailboxPathRegisterTable.TABLE_NAME,
- SchemaBuilder.createTable(CassandraMailboxPathRegisterTable.TABLE_NAME)
- .ifNotExists()
- .addUDTPartitionKey(CassandraMailboxPathRegisterTable.MAILBOX_PATH, SchemaBuilder.frozen(CassandraMailboxPathRegisterTable.MAILBOX_PATH))
- .addClusteringColumn(CassandraMailboxPathRegisterTable.TOPIC, text())
- .withOptions()
- .compactionOptions(SchemaBuilder.dateTieredStrategy())));
- types = ImmutableList.of(
- new CassandraType(CassandraMailboxPathRegisterTable.MAILBOX_PATH,
- SchemaBuilder.createType(CassandraMailboxPathRegisterTable.MAILBOX_PATH)
- .ifNotExists()
- .addColumn(CassandraMailboxPathRegisterTable.MailboxPath.NAMESPACE, text())
- .addColumn(CassandraMailboxPathRegisterTable.MailboxPath.NAME, text())
- .addColumn(CassandraMailboxPathRegisterTable.MailboxPath.USER, text())));
- }
-
- @Override
- public List<CassandraTable> moduleTables() {
- return tables;
- }
- @Override
- public List<CassandraType> moduleTypes() {
- return types;
- }
+public interface CassandraRegistrationModule {
+ CassandraModule MODULE = CassandraModule.builder()
+ .type(CassandraMailboxPathRegisterTable.MAILBOX_PATH)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addColumn(CassandraMailboxPathRegisterTable.MailboxPath.NAMESPACE, text())
+ .addColumn(CassandraMailboxPathRegisterTable.MailboxPath.NAME, text())
+ .addColumn(CassandraMailboxPathRegisterTable.MailboxPath.USER, text()))
+ .table(CassandraMailboxPathRegisterTable.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addUDTPartitionKey(CassandraMailboxPathRegisterTable.MAILBOX_PATH, SchemaBuilder.frozen(CassandraMailboxPathRegisterTable.MAILBOX_PATH))
+ .addClusteringColumn(CassandraMailboxPathRegisterTable.TOPIC, text())
+ .withOptions()
+ .compactionOptions(SchemaBuilder.dateTieredStrategy()))
+ .build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraSubscriptionModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraSubscriptionModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraSubscriptionModule.java
index f85fe53..068da26 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraSubscriptionModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraSubscriptionModule.java
@@ -21,43 +21,23 @@ package org.apache.james.mailbox.cassandra.modules;
import static com.datastax.driver.core.DataType.text;
-import java.util.List;
-
import org.apache.james.backends.cassandra.components.CassandraModule;
-import org.apache.james.backends.cassandra.components.CassandraTable;
-import org.apache.james.backends.cassandra.components.CassandraType;
import org.apache.james.mailbox.cassandra.table.CassandraSubscriptionTable;
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
-import com.google.common.collect.ImmutableList;
-
-public class CassandraSubscriptionModule implements CassandraModule {
-
- public static final int PER_USER_CACHED_SUBSCRIPTIONS = 100;
- private final List<CassandraTable> tables;
- private final List<CassandraType> types;
- public CassandraSubscriptionModule() {
- tables = ImmutableList.of(
- new CassandraTable(CassandraSubscriptionTable.TABLE_NAME,
- SchemaBuilder.createTable(CassandraSubscriptionTable.TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(CassandraSubscriptionTable.USER, text())
- .addClusteringColumn(CassandraSubscriptionTable.MAILBOX, text())
- .withOptions()
- .comment("Holds per user list of IMAP subscriptions")
- .caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(PER_USER_CACHED_SUBSCRIPTIONS))));
- types = ImmutableList.of();
- }
+public interface CassandraSubscriptionModule {
- @Override
- public List<CassandraTable> moduleTables() {
- return tables;
- }
+ int PER_USER_CACHED_SUBSCRIPTIONS = 100;
- @Override
- public List<CassandraType> moduleTypes() {
- return types;
- }
+ CassandraModule MODULE = CassandraModule.table(CassandraSubscriptionTable.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(CassandraSubscriptionTable.USER, text())
+ .addClusteringColumn(CassandraSubscriptionTable.MAILBOX, text())
+ .withOptions()
+ .comment("Holds per user list of IMAP subscriptions")
+ .caching(SchemaBuilder.KeyCaching.ALL,
+ SchemaBuilder.rows(PER_USER_CACHED_SUBSCRIPTIONS)))
+ .build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraUidModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraUidModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraUidModule.java
index 49dc902..e32d8f0 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraUidModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraUidModule.java
@@ -22,44 +22,22 @@ package org.apache.james.mailbox.cassandra.modules;
import static com.datastax.driver.core.DataType.bigint;
import static com.datastax.driver.core.DataType.timeuuid;
-import java.util.List;
-
import org.apache.james.backends.cassandra.components.CassandraModule;
-import org.apache.james.backends.cassandra.components.CassandraTable;
-import org.apache.james.backends.cassandra.components.CassandraType;
import org.apache.james.backends.cassandra.utils.CassandraConstants;
import org.apache.james.mailbox.cassandra.table.CassandraMessageUidTable;
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
-import com.google.common.collect.ImmutableList;
-
-public class CassandraUidModule implements CassandraModule {
-
- private final List<CassandraTable> tables;
- private final List<CassandraType> types;
-
- public CassandraUidModule() {
- tables = ImmutableList.of(
- new CassandraTable(CassandraMessageUidTable.TABLE_NAME,
- SchemaBuilder.createTable(CassandraMessageUidTable.TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(CassandraMessageUidTable.MAILBOX_ID, timeuuid())
- .addColumn(CassandraMessageUidTable.NEXT_UID, bigint())
- .withOptions()
- .comment("Holds and is used to generate UID. A monotic counter is implemented on top of this table.")
- .compactionOptions(SchemaBuilder.leveledStrategy())
- .caching(SchemaBuilder.KeyCaching.ALL,
- SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION))));
- types = ImmutableList.of();
- }
-
- @Override
- public List<CassandraTable> moduleTables() {
- return tables;
- }
- @Override
- public List<CassandraType> moduleTypes() {
- return types;
- }
+public interface CassandraUidModule {
+ CassandraModule MODULE = CassandraModule.table(CassandraMessageUidTable.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(CassandraMessageUidTable.MAILBOX_ID, timeuuid())
+ .addColumn(CassandraMessageUidTable.NEXT_UID, bigint())
+ .withOptions()
+ .comment("Holds and is used to generate UID. A monotic counter is implemented on top of this table.")
+ .compactionOptions(SchemaBuilder.leveledStrategy())
+ .caching(SchemaBuilder.KeyCaching.ALL,
+ SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
+ .build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraCombinationManagerTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraCombinationManagerTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraCombinationManagerTest.java
index 2ad6deb..f20e7fc 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraCombinationManagerTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraCombinationManagerTest.java
@@ -23,22 +23,8 @@ import static org.mockito.Mockito.mock;
import org.apache.james.backends.cassandra.CassandraCluster;
import org.apache.james.backends.cassandra.DockerCassandraRule;
-import org.apache.james.backends.cassandra.init.CassandraModuleComposite;
-import org.apache.james.blob.cassandra.CassandraBlobModule;
import org.apache.james.mailbox.MailboxListener;
-import org.apache.james.mailbox.cassandra.modules.CassandraAclModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraAnnotationModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraApplicableFlagsModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraAttachmentModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraDeletedMessageModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraFirstUnseenModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMailboxCounterModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMailboxModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMailboxRecentsModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMessageModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraModSeqModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraSubscriptionModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraUidModule;
+import org.apache.james.mailbox.cassandra.mail.MailboxAggregateModule;
import org.apache.james.mailbox.store.AbstractCombinationManagerTest;
import org.apache.james.mailbox.store.CombinationManagerTestSystem;
import org.apache.james.mailbox.store.event.MailboxEventDispatcher;
@@ -57,22 +43,7 @@ public class CassandraCombinationManagerTest extends AbstractCombinationManagerT
@BeforeClass
public static void setUpClass() {
- CassandraModuleComposite modules = new CassandraModuleComposite(
- new CassandraAclModule(),
- new CassandraMailboxModule(),
- new CassandraMessageModule(),
- new CassandraBlobModule(),
- new CassandraMailboxCounterModule(),
- new CassandraMailboxRecentsModule(),
- new CassandraFirstUnseenModule(),
- new CassandraUidModule(),
- new CassandraModSeqModule(),
- new CassandraSubscriptionModule(),
- new CassandraAttachmentModule(),
- new CassandraDeletedMessageModule(),
- new CassandraAnnotationModule(),
- new CassandraApplicableFlagsModule());
- cassandra = CassandraCluster.create(modules, cassandraServer.getHost());
+ cassandra = CassandraCluster.create(MailboxAggregateModule.MODULE, cassandraServer.getHost());
}
@Override
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerStressTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerStressTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerStressTest.java
index 33c263c..75b7b3c 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerStressTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerStressTest.java
@@ -21,24 +21,9 @@ package org.apache.james.mailbox.cassandra;
import org.apache.james.backends.cassandra.CassandraCluster;
import org.apache.james.backends.cassandra.DockerCassandraRule;
-import org.apache.james.backends.cassandra.init.CassandraModuleComposite;
-import org.apache.james.blob.cassandra.CassandraBlobModule;
import org.apache.james.mailbox.MailboxManager;
import org.apache.james.mailbox.MailboxManagerStressTest;
-import org.apache.james.mailbox.cassandra.modules.CassandraAclModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraAnnotationModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraApplicableFlagsModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraAttachmentModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraDeletedMessageModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraFirstUnseenModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMailboxCounterModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMailboxModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMailboxRecentsModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMessageModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraModSeqModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraQuotaModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraSubscriptionModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraUidModule;
+import org.apache.james.mailbox.cassandra.mail.MailboxAggregateModule;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
@@ -53,23 +38,7 @@ public class CassandraMailboxManagerStressTest extends MailboxManagerStressTest
@BeforeClass
public static void setUpClass() {
- CassandraModuleComposite modules = new CassandraModuleComposite(
- new CassandraAclModule(),
- new CassandraMailboxModule(),
- new CassandraMessageModule(),
- new CassandraBlobModule(),
- new CassandraMailboxCounterModule(),
- new CassandraMailboxRecentsModule(),
- new CassandraFirstUnseenModule(),
- new CassandraUidModule(),
- new CassandraModSeqModule(),
- new CassandraSubscriptionModule(),
- new CassandraAttachmentModule(),
- new CassandraDeletedMessageModule(),
- new CassandraAnnotationModule(),
- new CassandraApplicableFlagsModule(),
- new CassandraQuotaModule());
- cassandra = CassandraCluster.create(modules, cassandraServer.getHost());
+ cassandra = CassandraCluster.create(MailboxAggregateModule.MODULE_WITH_QUOTA, cassandraServer.getHost());
}
@Before
http://git-wip-us.apache.org/repos/asf/james-project/blob/45318db5/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerTest.java
index 9e7e2e0..8193bca 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerTest.java
@@ -20,24 +20,9 @@ package org.apache.james.mailbox.cassandra;
import org.apache.james.backends.cassandra.CassandraCluster;
import org.apache.james.backends.cassandra.DockerCassandraRule;
-import org.apache.james.backends.cassandra.init.CassandraModuleComposite;
-import org.apache.james.blob.cassandra.CassandraBlobModule;
import org.apache.james.mailbox.MailboxManager;
import org.apache.james.mailbox.MailboxManagerTest;
-import org.apache.james.mailbox.cassandra.modules.CassandraAclModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraAnnotationModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraApplicableFlagsModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraAttachmentModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraDeletedMessageModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraFirstUnseenModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMailboxCounterModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMailboxModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMailboxRecentsModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraMessageModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraModSeqModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraQuotaModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraSubscriptionModule;
-import org.apache.james.mailbox.cassandra.modules.CassandraUidModule;
+import org.apache.james.mailbox.cassandra.mail.MailboxAggregateModule;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
@@ -52,23 +37,7 @@ public class CassandraMailboxManagerTest extends MailboxManagerTest {
@BeforeClass
public static void setUpClass() {
- CassandraModuleComposite modules = new CassandraModuleComposite(
- new CassandraAclModule(),
- new CassandraMailboxModule(),
- new CassandraMessageModule(),
- new CassandraBlobModule(),
- new CassandraMailboxCounterModule(),
- new CassandraMailboxRecentsModule(),
- new CassandraFirstUnseenModule(),
- new CassandraUidModule(),
- new CassandraModSeqModule(),
- new CassandraSubscriptionModule(),
- new CassandraAttachmentModule(),
- new CassandraDeletedMessageModule(),
- new CassandraAnnotationModule(),
- new CassandraApplicableFlagsModule(),
- new CassandraQuotaModule());
- cassandra = CassandraCluster.create(modules, cassandraServer.getHost());
+ cassandra = CassandraCluster.create(MailboxAggregateModule.MODULE_WITH_QUOTA, cassandraServer.getHost());
}
@Before
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[18/27] james-project git commit: JAMES-2500 Remove cassandra-unit
dependency
Posted by bt...@apache.org.
JAMES-2500 Remove cassandra-unit dependency
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/1b27146c
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/1b27146c
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/1b27146c
Branch: refs/heads/master
Commit: 1b27146cf9d1699d847a36eec6a10ed46d528968
Parents: 61ea0e6
Author: Antoine Duprat <ad...@linagora.com>
Authored: Wed Jul 25 14:55:59 2018 +0200
Committer: benwa <bt...@linagora.com>
Committed: Thu Jul 26 13:47:39 2018 +0700
----------------------------------------------------------------------
mailbox/cassandra/pom.xml | 6 ------
1 file changed, 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/1b27146c/mailbox/cassandra/pom.xml
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/pom.xml b/mailbox/cassandra/pom.xml
index 7281d41..daf0933 100644
--- a/mailbox/cassandra/pom.xml
+++ b/mailbox/cassandra/pom.xml
@@ -154,12 +154,6 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.cassandraunit</groupId>
- <artifactId>cassandra-unit</artifactId>
- <version>2.1.9.2</version>
- <scope>test</scope>
- </dependency>
- <dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<scope>test</scope>
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[08/27] james-project git commit: upgrade
org.testcontainers:testcontainers
Posted by bt...@apache.org.
upgrade org.testcontainers:testcontainers
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/03f3486d
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/03f3486d
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/03f3486d
Branch: refs/heads/master
Commit: 03f3486dca5c9c40b12a29b66bab5c7c549a39fd
Parents: 2395e41
Author: duc <dt...@linagora.com>
Authored: Wed Jul 25 15:27:47 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Jul 26 13:47:39 2018 +0700
----------------------------------------------------------------------
pom.xml | 4 ++--
.../org/apache/james/queue/rabbitmq/RabbitMQClusterTest.java | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/03f3486d/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index a9a6f41..c540102 100644
--- a/pom.xml
+++ b/pom.xml
@@ -633,7 +633,7 @@
<jackson-data.version>2.6.3</jackson-data.version>
<jetty.version>9.4.7.v20170914</jetty.version>
<assertj-guava.version>3.1.0</assertj-guava.version>
- <testcontainers-version>1.7.3</testcontainers-version>
+ <testcontainers.version>1.8.1</testcontainers.version>
<metrics.version>3.2.6</metrics.version>
<joda.version>2.9.4</joda.version>
<assertj.version>3.3.0</assertj.version>
@@ -2453,7 +2453,7 @@
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers</artifactId>
- <version>${testcontainers-version}</version>
+ <version>${testcontainers.version}</version>
</dependency>
<dependency>
<groupId>org.threeten</groupId>
http://git-wip-us.apache.org/repos/asf/james-project/blob/03f3486d/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQClusterTest.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQClusterTest.java b/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQClusterTest.java
index 26cf6e1..66bc342 100644
--- a/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQClusterTest.java
+++ b/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQClusterTest.java
@@ -217,10 +217,10 @@ class RabbitMQClusterTest {
@Test
void connectingToAClusterWithAFailedRabbit(DockerRabbitMQCluster cluster) throws Exception {
ConnectionFactory node3ConnectionFactory = cluster.getRabbitMQ3().connectionFactory();
- cluster.getRabbitMQ3().stop();
-
try (Connection connection = node3ConnectionFactory.newConnection(cluster.getAddresses());
- Channel channel = connection.createChannel()) {
+ Channel channel = connection.createChannel()) {
+
+ cluster.getRabbitMQ3().stop();
channel.exchangeDeclare(EXCHANGE_NAME, DIRECT, DURABLE);
channel.queueDeclare(QUEUE, DURABLE, !EXCLUSIVE, !AUTO_DELETE, ImmutableMap.of()).getQueue();
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[07/27] james-project git commit: MAILBOX-342 Use
CassandraModule.builder() for Cassandra blob store
Posted by bt...@apache.org.
MAILBOX-342 Use CassandraModule.builder() for Cassandra blob store
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/2fa0bbea
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/2fa0bbea
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/2fa0bbea
Branch: refs/heads/master
Commit: 2fa0bbeadcd8d45e7b116afd65a91335bb4711cd
Parents: 63b7ca8
Author: benwa <bt...@linagora.com>
Authored: Tue Jul 24 14:49:10 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Jul 26 13:47:39 2018 +0700
----------------------------------------------------------------------
.../blob/cassandra/CassandraBlobModule.java | 63 +++++++-------------
.../blob/cassandra/CassandraBlobsDAOTest.java | 2 +-
.../mailbox/CassandraObjectStoreModule.java | 3 +-
3 files changed, 24 insertions(+), 44 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/2fa0bbea/server/blob/blob-cassandra/src/main/java/org/apache/james/blob/cassandra/CassandraBlobModule.java
----------------------------------------------------------------------
diff --git a/server/blob/blob-cassandra/src/main/java/org/apache/james/blob/cassandra/CassandraBlobModule.java b/server/blob/blob-cassandra/src/main/java/org/apache/james/blob/cassandra/CassandraBlobModule.java
index 234988a..9832f11 100644
--- a/server/blob/blob-cassandra/src/main/java/org/apache/james/blob/cassandra/CassandraBlobModule.java
+++ b/server/blob/blob-cassandra/src/main/java/org/apache/james/blob/cassandra/CassandraBlobModule.java
@@ -19,50 +19,29 @@
package org.apache.james.blob.cassandra;
-import java.util.List;
-
import org.apache.james.backends.cassandra.components.CassandraModule;
-import org.apache.james.backends.cassandra.components.CassandraTable;
-import org.apache.james.backends.cassandra.components.CassandraType;
import com.datastax.driver.core.DataType;
-import com.datastax.driver.core.schemabuilder.SchemaBuilder;
-import com.google.common.collect.ImmutableList;
-
-public class CassandraBlobModule implements CassandraModule {
-
- private final List<CassandraTable> tables;
- private final List<CassandraType> types;
-
- public CassandraBlobModule() {
- tables = ImmutableList.of(
- new CassandraTable(BlobTable.TABLE_NAME,
- SchemaBuilder.createTable(BlobTable.TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(BlobTable.ID, DataType.text())
- .addClusteringColumn(BlobTable.NUMBER_OF_CHUNK, DataType.cint())
- .withOptions()
- .comment("Holds information for retrieving all blob parts composing this blob. " +
- "Messages` headers and bodies are stored as blobparts.")),
- new CassandraTable(BlobTable.BlobParts.TABLE_NAME,
- SchemaBuilder.createTable(BlobTable.BlobParts.TABLE_NAME)
- .ifNotExists()
- .addPartitionKey(BlobTable.ID, DataType.text())
- .addClusteringColumn(BlobTable.BlobParts.CHUNK_NUMBER, DataType.cint())
- .addColumn(BlobTable.BlobParts.DATA, DataType.blob())
- .withOptions()
- .comment("Holds blob parts composing blobs ." +
- "Messages` headers and bodies are stored, chunked in blobparts.")));
- types = ImmutableList.of();
- }
-
- @Override
- public List<CassandraTable> moduleTables() {
- return tables;
- }
- @Override
- public List<CassandraType> moduleTypes() {
- return types;
- }
+public interface CassandraBlobModule {
+ CassandraModule MODULE = CassandraModule
+ .builder()
+ .table(BlobTable.BlobParts.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(BlobTable.ID, DataType.text())
+ .addClusteringColumn(BlobTable.BlobParts.CHUNK_NUMBER, DataType.cint())
+ .addColumn(BlobTable.BlobParts.DATA, DataType.blob())
+ .withOptions()
+ .comment("Holds blob parts composing blobs ." +
+ "Messages` headers and bodies are stored, chunked in blobparts."))
+ .table(BlobTable.TABLE_NAME)
+ .statement(statement -> statement
+ .ifNotExists()
+ .addPartitionKey(BlobTable.ID, DataType.text())
+ .addClusteringColumn(BlobTable.NUMBER_OF_CHUNK, DataType.cint())
+ .withOptions()
+ .comment("Holds information for retrieving all blob parts composing this blob. " +
+ "Messages` headers and bodies are stored as blobparts."))
+ .build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/2fa0bbea/server/blob/blob-cassandra/src/test/java/org/apache/james/blob/cassandra/CassandraBlobsDAOTest.java
----------------------------------------------------------------------
diff --git a/server/blob/blob-cassandra/src/test/java/org/apache/james/blob/cassandra/CassandraBlobsDAOTest.java b/server/blob/blob-cassandra/src/test/java/org/apache/james/blob/cassandra/CassandraBlobsDAOTest.java
index 38202a3..07af72f 100644
--- a/server/blob/blob-cassandra/src/test/java/org/apache/james/blob/cassandra/CassandraBlobsDAOTest.java
+++ b/server/blob/blob-cassandra/src/test/java/org/apache/james/blob/cassandra/CassandraBlobsDAOTest.java
@@ -51,7 +51,7 @@ public class CassandraBlobsDAOTest implements ObjectStoreContract {
@BeforeAll
static void setUpClass(DockerCassandra dockerCassandra) {
- cassandra = CassandraCluster.create(new CassandraBlobModule(), dockerCassandra.getHost());
+ cassandra = CassandraCluster.create(CassandraBlobModule.MODULE, dockerCassandra.getHost());
}
@BeforeEach
http://git-wip-us.apache.org/repos/asf/james-project/blob/2fa0bbea/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraObjectStoreModule.java
----------------------------------------------------------------------
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraObjectStoreModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraObjectStoreModule.java
index 0e6d6fd..b1f33cd 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraObjectStoreModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraObjectStoreModule.java
@@ -23,6 +23,7 @@ import org.apache.james.backends.cassandra.components.CassandraModule;
import org.apache.james.blob.api.BlobId;
import org.apache.james.blob.api.ObjectStore;
import org.apache.james.blob.cassandra.CassandraBlobId;
+import org.apache.james.blob.cassandra.CassandraBlobModule;
import org.apache.james.blob.cassandra.CassandraBlobsDAO;
import com.google.inject.AbstractModule;
@@ -39,6 +40,6 @@ public class CassandraObjectStoreModule extends AbstractModule {
bind(BlobId.Factory.class).to(CassandraBlobId.Factory.class);
Multibinder<CassandraModule> cassandraDataDefinitions = Multibinder.newSetBinder(binder(), CassandraModule.class);
- cassandraDataDefinitions.addBinding().to(org.apache.james.blob.cassandra.CassandraBlobModule.class);
+ cassandraDataDefinitions.addBinding().toInstance(CassandraBlobModule.MODULE);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[12/27] james-project git commit: MAILBOX-342 CassandraModule.Builder
should handle IF NOT EXISTS policy
Posted by bt...@apache.org.
MAILBOX-342 CassandraModule.Builder should handle IF NOT EXISTS policy
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/7ad4f422
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/7ad4f422
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/7ad4f422
Branch: refs/heads/master
Commit: 7ad4f422e044568c20d6aa1fe94ada4c701d68d2
Parents: 45318db
Author: benwa <bt...@linagora.com>
Authored: Wed Jul 25 10:29:38 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Jul 26 13:47:39 2018 +0700
----------------------------------------------------------------------
.../james/backends/cassandra/components/CassandraModule.java | 7 +++++--
.../backends/cassandra/init/CassandraZonedDateTimeModule.java | 1 -
.../cassandra/versions/CassandraSchemaVersionModule.java | 1 -
.../backends/cassandra/init/CassandraTypeProviderTest.java | 4 +---
.../apache/james/backends/cassandra/utils/PaggingTest.java | 1 -
.../eventstore/cassandra/CassandraEventStoreModule.java | 1 -
.../james/mailbox/cassandra/modules/CassandraAclModule.java | 2 --
.../mailbox/cassandra/modules/CassandraAnnotationModule.java | 1 -
.../cassandra/modules/CassandraApplicableFlagsModule.java | 1 -
.../mailbox/cassandra/modules/CassandraAttachmentModule.java | 4 ----
.../cassandra/modules/CassandraDeletedMessageModule.java | 1 -
.../mailbox/cassandra/modules/CassandraFirstUnseenModule.java | 1 -
.../cassandra/modules/CassandraMailboxCounterModule.java | 1 -
.../mailbox/cassandra/modules/CassandraMailboxModule.java | 4 ----
.../cassandra/modules/CassandraMailboxRecentsModule.java | 1 -
.../mailbox/cassandra/modules/CassandraMessageModule.java | 5 -----
.../mailbox/cassandra/modules/CassandraModSeqModule.java | 1 -
.../james/mailbox/cassandra/modules/CassandraQuotaModule.java | 4 ----
.../cassandra/modules/CassandraRegistrationModule.java | 2 --
.../cassandra/modules/CassandraSubscriptionModule.java | 1 -
.../james/mailbox/cassandra/modules/CassandraUidModule.java | 1 -
.../org/apache/james/blob/cassandra/CassandraBlobModule.java | 2 --
.../james/domainlist/cassandra/CassandraDomainListModule.java | 1 -
.../cassandra/CassandraMailRepositoryUrlModule.java | 1 -
.../org/apache/james/rrt/cassandra/CassandraRRTModule.java | 1 -
.../james/sieve/cassandra/CassandraSieveRepositoryModule.java | 5 -----
.../james/user/cassandra/CassandraUsersRepositoryModule.java | 1 -
.../james/jmap/cassandra/access/CassandraAccessModule.java | 1 -
.../vacation/CassandraNotificationRegistryModule.java | 1 -
.../jmap/cassandra/vacation/CassandraVacationModule.java | 1 -
.../cassandra/CassandraMailRepositoryModule.java | 4 ----
31 files changed, 6 insertions(+), 57 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/7ad4f422/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/components/CassandraModule.java
----------------------------------------------------------------------
diff --git a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/components/CassandraModule.java b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/components/CassandraModule.java
index a082fc1..63e2f89 100644
--- a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/components/CassandraModule.java
+++ b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/components/CassandraModule.java
@@ -95,7 +95,9 @@ public interface CassandraModule {
public Builder statement(Function<Create, Statement> createStatement) {
return originalBuilderReference.addTable(
- new CassandraTable(tableName, createStatement.apply(SchemaBuilder.createTable(tableName))));
+ new CassandraTable(tableName, createStatement.apply(
+ SchemaBuilder.createTable(tableName)
+ .ifNotExists())));
}
}
@@ -111,7 +113,8 @@ public interface CassandraModule {
public Builder statement(Function<CreateType, CreateType> createStatement) {
return originalBuilderReference.addType(
new CassandraType(typeName, createStatement.apply(
- SchemaBuilder.createType(typeName))));
+ SchemaBuilder.createType(typeName)
+ .ifNotExists())));
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/7ad4f422/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/CassandraZonedDateTimeModule.java
----------------------------------------------------------------------
diff --git a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/CassandraZonedDateTimeModule.java b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/CassandraZonedDateTimeModule.java
index fe81f81..63c43c7 100644
--- a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/CassandraZonedDateTimeModule.java
+++ b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/CassandraZonedDateTimeModule.java
@@ -31,7 +31,6 @@ public interface CassandraZonedDateTimeModule {
CassandraModule MODULE = CassandraModule.type(ZONED_DATE_TIME)
.statement(statement -> statement
- .ifNotExists()
.addColumn(DATE, timestamp())
.addColumn(TIME_ZONE, text()))
.build();
http://git-wip-us.apache.org/repos/asf/james-project/blob/7ad4f422/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/versions/CassandraSchemaVersionModule.java
----------------------------------------------------------------------
diff --git a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/versions/CassandraSchemaVersionModule.java b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/versions/CassandraSchemaVersionModule.java
index 74d043e..acffb8a 100644
--- a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/versions/CassandraSchemaVersionModule.java
+++ b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/versions/CassandraSchemaVersionModule.java
@@ -28,7 +28,6 @@ import org.apache.james.backends.cassandra.versions.table.CassandraSchemaVersion
public interface CassandraSchemaVersionModule {
CassandraModule MODULE = CassandraModule.table(CassandraSchemaVersionTable.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(CassandraSchemaVersionTable.KEY, timeuuid())
.addClusteringColumn(CassandraSchemaVersionTable.VALUE, cint())
.withOptions()
http://git-wip-us.apache.org/repos/asf/james-project/blob/7ad4f422/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/init/CassandraTypeProviderTest.java
----------------------------------------------------------------------
diff --git a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/init/CassandraTypeProviderTest.java b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/init/CassandraTypeProviderTest.java
index 7993251..8de8baa 100644
--- a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/init/CassandraTypeProviderTest.java
+++ b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/init/CassandraTypeProviderTest.java
@@ -45,9 +45,7 @@ public class CassandraTypeProviderTest {
@Before
public void setUp() {
module = CassandraModule.type(TYPE_NAME)
- .statement(statement -> statement
- .ifNotExists()
- .addColumn(PROPERTY, text()))
+ .statement(statement -> statement.addColumn(PROPERTY, text()))
.build();
cassandra = CassandraCluster.create(module, cassandraServer.getHost());
cassandra.getTypesProvider();
http://git-wip-us.apache.org/repos/asf/james-project/blob/7ad4f422/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/utils/PaggingTest.java
----------------------------------------------------------------------
diff --git a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/utils/PaggingTest.java b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/utils/PaggingTest.java
index 1946928..946c338 100644
--- a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/utils/PaggingTest.java
+++ b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/utils/PaggingTest.java
@@ -57,7 +57,6 @@ public class PaggingTest {
public static void setUpClass() {
CassandraModule modules = CassandraModule.table(TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(ID, DataType.timeuuid())
.addClusteringColumn(CLUSTERING, DataType.bigint()))
.build();
http://git-wip-us.apache.org/repos/asf/james-project/blob/7ad4f422/event-sourcing/event-store-cassandra/src/main/java/org/apache/james/eventsourcing/eventstore/cassandra/CassandraEventStoreModule.java
----------------------------------------------------------------------
diff --git a/event-sourcing/event-store-cassandra/src/main/java/org/apache/james/eventsourcing/eventstore/cassandra/CassandraEventStoreModule.java b/event-sourcing/event-store-cassandra/src/main/java/org/apache/james/eventsourcing/eventstore/cassandra/CassandraEventStoreModule.java
index 6613654..194a0d4 100644
--- a/event-sourcing/event-store-cassandra/src/main/java/org/apache/james/eventsourcing/eventstore/cassandra/CassandraEventStoreModule.java
+++ b/event-sourcing/event-store-cassandra/src/main/java/org/apache/james/eventsourcing/eventstore/cassandra/CassandraEventStoreModule.java
@@ -28,7 +28,6 @@ import com.datastax.driver.core.schemabuilder.SchemaBuilder;
public interface CassandraEventStoreModule {
CassandraModule MODULE = CassandraModule.table(CassandraEventStoreTable.EVENTS_TABLE)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(CassandraEventStoreTable.AGGREGATE_ID, DataType.varchar())
.addClusteringColumn(CassandraEventStoreTable.EVENT_ID, DataType.cint())
.addColumn(CassandraEventStoreTable.EVENT, DataType.text())
http://git-wip-us.apache.org/repos/asf/james-project/blob/7ad4f422/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAclModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAclModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAclModule.java
index c6da2a5..acb2205 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAclModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAclModule.java
@@ -35,7 +35,6 @@ public interface CassandraAclModule {
.builder()
.table(CassandraACLTable.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(CassandraACLTable.ID, timeuuid())
.addColumn(CassandraACLTable.ACL, text())
.addColumn(CassandraACLTable.VERSION, bigint())
@@ -45,7 +44,6 @@ public interface CassandraAclModule {
SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
.table(CassandraUserMailboxRightsTable.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(CassandraUserMailboxRightsTable.USER_NAME, text())
.addClusteringColumn(CassandraUserMailboxRightsTable.MAILBOX_ID, timeuuid())
.addColumn(CassandraUserMailboxRightsTable.RIGHTS, text())
http://git-wip-us.apache.org/repos/asf/james-project/blob/7ad4f422/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAnnotationModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAnnotationModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAnnotationModule.java
index 032ac3a..88ccdab 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAnnotationModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAnnotationModule.java
@@ -31,7 +31,6 @@ import com.datastax.driver.core.schemabuilder.SchemaBuilder;
public interface CassandraAnnotationModule {
CassandraModule MODULE = CassandraModule.table(CassandraAnnotationTable.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(CassandraAnnotationTable.MAILBOX_ID, timeuuid())
.addClusteringColumn(CassandraAnnotationTable.KEY, text())
.addColumn(CassandraAnnotationTable.VALUE, text())
http://git-wip-us.apache.org/repos/asf/james-project/blob/7ad4f422/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraApplicableFlagsModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraApplicableFlagsModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraApplicableFlagsModule.java
index 11e5538..9dc2721 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraApplicableFlagsModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraApplicableFlagsModule.java
@@ -33,7 +33,6 @@ import com.datastax.driver.core.schemabuilder.SchemaBuilder;
public interface CassandraApplicableFlagsModule {
CassandraModule MODULE = CassandraModule.table(CassandraApplicableFlagTable.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(CassandraApplicableFlagTable.MAILBOX_ID, timeuuid())
.addColumn(Flag.USER_FLAGS, set(text()))
.withOptions()
http://git-wip-us.apache.org/repos/asf/james-project/blob/7ad4f422/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAttachmentModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAttachmentModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAttachmentModule.java
index acee1f1..8a94f1d 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAttachmentModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraAttachmentModule.java
@@ -37,7 +37,6 @@ public interface CassandraAttachmentModule {
CassandraModule MODULE = CassandraModule.table(CassandraAttachmentTable.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(CassandraAttachmentTable.ID, text())
.addColumn(CassandraAttachmentTable.PAYLOAD, blob())
.addColumn(CassandraAttachmentTable.TYPE, text())
@@ -46,7 +45,6 @@ public interface CassandraAttachmentModule {
.comment("Holds attachment for fast attachment retrieval"))
.table(CassandraAttachmentV2Table.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(CassandraAttachmentV2Table.ID_AS_UUID, uuid())
.addColumn(CassandraAttachmentV2Table.ID, text())
.addColumn(CassandraAttachmentV2Table.BLOB_ID, text())
@@ -60,7 +58,6 @@ public interface CassandraAttachmentModule {
"in `blobs` and `blobparts` tables."))
.table(CassandraAttachmentMessageIdTable.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(CassandraAttachmentMessageIdTable.ATTACHMENT_ID_AS_UUID, uuid())
.addColumn(CassandraAttachmentMessageIdTable.ATTACHMENT_ID, text())
.addClusteringColumn(CassandraAttachmentMessageIdTable.MESSAGE_ID, text())
@@ -71,7 +68,6 @@ public interface CassandraAttachmentModule {
.comment("Holds ids of messages owning the attachment"))
.table(CassandraAttachmentOwnerTable.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(CassandraAttachmentOwnerTable.ID, uuid())
.addClusteringColumn(CassandraAttachmentOwnerTable.OWNER, text())
.withOptions()
http://git-wip-us.apache.org/repos/asf/james-project/blob/7ad4f422/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraDeletedMessageModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraDeletedMessageModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraDeletedMessageModule.java
index b2689d9..4997417 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraDeletedMessageModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraDeletedMessageModule.java
@@ -32,7 +32,6 @@ import com.datastax.driver.core.schemabuilder.SchemaBuilder;
public interface CassandraDeletedMessageModule {
CassandraModule MODULE = CassandraModule.table(TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(MAILBOX_ID, DataType.timeuuid())
.addClusteringColumn(UID, DataType.bigint())
.withOptions()
http://git-wip-us.apache.org/repos/asf/james-project/blob/7ad4f422/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraFirstUnseenModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraFirstUnseenModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraFirstUnseenModule.java
index aec22b2..75c1595 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraFirstUnseenModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraFirstUnseenModule.java
@@ -29,7 +29,6 @@ import com.datastax.driver.core.schemabuilder.SchemaBuilder;
public interface CassandraFirstUnseenModule {
CassandraModule MODULE = CassandraModule.table(CassandraFirstUnseenTable.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(CassandraFirstUnseenTable.MAILBOX_ID, DataType.timeuuid())
.addClusteringColumn(CassandraFirstUnseenTable.UID, DataType.bigint())
.withOptions()
http://git-wip-us.apache.org/repos/asf/james-project/blob/7ad4f422/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxCounterModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxCounterModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxCounterModule.java
index fdeb187..46d3798 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxCounterModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxCounterModule.java
@@ -31,7 +31,6 @@ import com.datastax.driver.core.schemabuilder.SchemaBuilder;
public interface CassandraMailboxCounterModule {
CassandraModule MODULE = CassandraModule.table(CassandraMailboxCountersTable.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(CassandraMailboxCountersTable.MAILBOX_ID, timeuuid())
.addColumn(CassandraMailboxCountersTable.COUNT, counter())
.addColumn(CassandraMailboxCountersTable.UNSEEN, counter())
http://git-wip-us.apache.org/repos/asf/james-project/blob/7ad4f422/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxModule.java
index c9e79dd..5e4e663 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxModule.java
@@ -35,12 +35,10 @@ public interface CassandraMailboxModule {
CassandraModule MODULE = CassandraModule.builder()
.type(CassandraMailboxTable.MAILBOX_BASE)
.statement(statement -> statement
- .ifNotExists()
.addColumn(CassandraMailboxTable.MailboxBase.NAMESPACE, text())
.addColumn(CassandraMailboxTable.MailboxBase.USER, text()))
.table(CassandraMailboxTable.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(CassandraMailboxTable.ID, timeuuid())
.addUDTColumn(CassandraMailboxTable.MAILBOX_BASE, SchemaBuilder.frozen(CassandraMailboxTable.MAILBOX_BASE))
.addColumn(CassandraMailboxTable.NAME, text())
@@ -51,7 +49,6 @@ public interface CassandraMailboxModule {
SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
.table(CassandraMailboxPathTable.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addUDTPartitionKey(CassandraMailboxPathTable.NAMESPACE_AND_USER, SchemaBuilder.frozen(CassandraMailboxTable.MAILBOX_BASE))
.addClusteringColumn(CassandraMailboxPathTable.MAILBOX_NAME, text())
.addColumn(CassandraMailboxPathTable.MAILBOX_ID, timeuuid())
@@ -62,7 +59,6 @@ public interface CassandraMailboxModule {
SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
.table(CassandraMailboxPathV2Table.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(CassandraMailboxPathV2Table.NAMESPACE, text())
.addPartitionKey(CassandraMailboxPathV2Table.USER, text())
.addClusteringColumn(CassandraMailboxPathV2Table.MAILBOX_NAME, text())
http://git-wip-us.apache.org/repos/asf/james-project/blob/7ad4f422/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxRecentsModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxRecentsModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxRecentsModule.java
index 9193470..b79082c 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxRecentsModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMailboxRecentsModule.java
@@ -31,7 +31,6 @@ import com.datastax.driver.core.schemabuilder.SchemaBuilder;
public interface CassandraMailboxRecentsModule {
CassandraModule MODULE = CassandraModule.table(CassandraMailboxRecentsTable.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(CassandraMailboxRecentsTable.MAILBOX_ID, timeuuid())
.addClusteringColumn(CassandraMailboxRecentsTable.RECENT_MESSAGE_UID, bigint())
.withOptions()
http://git-wip-us.apache.org/repos/asf/james-project/blob/7ad4f422/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMessageModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMessageModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMessageModule.java
index 856736a..da6dfb0 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMessageModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraMessageModule.java
@@ -44,7 +44,6 @@ public interface CassandraMessageModule {
CassandraModule MODULE = CassandraModule.builder()
.table(CassandraMessageIdTable.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(CassandraMessageIds.MAILBOX_ID, timeuuid())
.addClusteringColumn(CassandraMessageIds.IMAP_UID, bigint())
.addColumn(CassandraMessageIds.MESSAGE_ID, timeuuid())
@@ -64,7 +63,6 @@ public interface CassandraMessageModule {
SchemaBuilder.rows(CACHED_MESSAGE_ID_ROWS)))
.table(MessageIdToImapUid.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(CassandraMessageIds.MESSAGE_ID, timeuuid())
.addClusteringColumn(CassandraMessageIds.MAILBOX_ID, timeuuid())
.addClusteringColumn(CassandraMessageIds.IMAP_UID, bigint())
@@ -84,7 +82,6 @@ public interface CassandraMessageModule {
SchemaBuilder.rows(CACHED_IMAP_UID_ROWS)))
.table(CassandraMessageV2Table.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(CassandraMessageIds.MESSAGE_ID, timeuuid())
.addColumn(CassandraMessageV2Table.INTERNAL_DATE, timestamp())
.addColumn(CassandraMessageV2Table.BODY_START_OCTET, cint())
@@ -100,13 +97,11 @@ public interface CassandraMessageModule {
"in `blobs` and `blobparts` tables."))
.type(CassandraMessageV2Table.PROPERTIES)
.statement(statement -> statement
- .ifNotExists()
.addColumn(CassandraMessageV2Table.Properties.NAMESPACE, text())
.addColumn(CassandraMessageV2Table.Properties.NAME, text())
.addColumn(CassandraMessageV2Table.Properties.VALUE, text()))
.type(CassandraMessageV2Table.ATTACHMENTS)
.statement(statement -> statement
- .ifNotExists()
.addColumn(CassandraMessageV2Table.Attachments.ID, text())
.addColumn(CassandraMessageV2Table.Attachments.NAME, text())
.addColumn(CassandraMessageV2Table.Attachments.CID, text())
http://git-wip-us.apache.org/repos/asf/james-project/blob/7ad4f422/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraModSeqModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraModSeqModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraModSeqModule.java
index 2e0169e..b8cd359 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraModSeqModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraModSeqModule.java
@@ -31,7 +31,6 @@ import com.datastax.driver.core.schemabuilder.SchemaBuilder;
public interface CassandraModSeqModule {
CassandraModule MODULE = CassandraModule.table(CassandraMessageModseqTable.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(CassandraMessageModseqTable.MAILBOX_ID, timeuuid())
.addColumn(CassandraMessageModseqTable.NEXT_MODSEQ, bigint())
.withOptions()
http://git-wip-us.apache.org/repos/asf/james-project/blob/7ad4f422/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraQuotaModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraQuotaModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraQuotaModule.java
index 3f50395..59b8bd0 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraQuotaModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraQuotaModule.java
@@ -36,7 +36,6 @@ public interface CassandraQuotaModule {
CassandraModule MODULE = CassandraModule.builder()
.table(CassandraCurrentQuota.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(CassandraCurrentQuota.QUOTA_ROOT, text())
.addColumn(CassandraCurrentQuota.MESSAGE_COUNT, counter())
.addColumn(CassandraCurrentQuota.STORAGE, counter())
@@ -46,7 +45,6 @@ public interface CassandraQuotaModule {
SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
.table(CassandraMaxQuota.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(CassandraMaxQuota.QUOTA_ROOT, text())
.addColumn(CassandraMaxQuota.MESSAGE_COUNT, bigint())
.addColumn(CassandraMaxQuota.STORAGE, bigint())
@@ -56,7 +54,6 @@ public interface CassandraQuotaModule {
SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
.table(CassandraDomainMaxQuota.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(CassandraDomainMaxQuota.DOMAIN, text())
.addColumn(CassandraDomainMaxQuota.MESSAGE_COUNT, bigint())
.addColumn(CassandraDomainMaxQuota.STORAGE, bigint())
@@ -66,7 +63,6 @@ public interface CassandraQuotaModule {
SchemaBuilder.rows(CassandraConstants.DEFAULT_CACHED_ROW_PER_PARTITION)))
.table(CassandraGlobalMaxQuota.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(CassandraGlobalMaxQuota.TYPE, text())
.addColumn(CassandraGlobalMaxQuota.VALUE, bigint())
.withOptions()
http://git-wip-us.apache.org/repos/asf/james-project/blob/7ad4f422/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraRegistrationModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraRegistrationModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraRegistrationModule.java
index 97e6714..94997c1 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraRegistrationModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraRegistrationModule.java
@@ -30,13 +30,11 @@ public interface CassandraRegistrationModule {
CassandraModule MODULE = CassandraModule.builder()
.type(CassandraMailboxPathRegisterTable.MAILBOX_PATH)
.statement(statement -> statement
- .ifNotExists()
.addColumn(CassandraMailboxPathRegisterTable.MailboxPath.NAMESPACE, text())
.addColumn(CassandraMailboxPathRegisterTable.MailboxPath.NAME, text())
.addColumn(CassandraMailboxPathRegisterTable.MailboxPath.USER, text()))
.table(CassandraMailboxPathRegisterTable.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addUDTPartitionKey(CassandraMailboxPathRegisterTable.MAILBOX_PATH, SchemaBuilder.frozen(CassandraMailboxPathRegisterTable.MAILBOX_PATH))
.addClusteringColumn(CassandraMailboxPathRegisterTable.TOPIC, text())
.withOptions()
http://git-wip-us.apache.org/repos/asf/james-project/blob/7ad4f422/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraSubscriptionModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraSubscriptionModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraSubscriptionModule.java
index 068da26..e35e373 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraSubscriptionModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraSubscriptionModule.java
@@ -32,7 +32,6 @@ public interface CassandraSubscriptionModule {
CassandraModule MODULE = CassandraModule.table(CassandraSubscriptionTable.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(CassandraSubscriptionTable.USER, text())
.addClusteringColumn(CassandraSubscriptionTable.MAILBOX, text())
.withOptions()
http://git-wip-us.apache.org/repos/asf/james-project/blob/7ad4f422/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraUidModule.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraUidModule.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraUidModule.java
index e32d8f0..efa3bce 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraUidModule.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/modules/CassandraUidModule.java
@@ -31,7 +31,6 @@ import com.datastax.driver.core.schemabuilder.SchemaBuilder;
public interface CassandraUidModule {
CassandraModule MODULE = CassandraModule.table(CassandraMessageUidTable.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(CassandraMessageUidTable.MAILBOX_ID, timeuuid())
.addColumn(CassandraMessageUidTable.NEXT_UID, bigint())
.withOptions()
http://git-wip-us.apache.org/repos/asf/james-project/blob/7ad4f422/server/blob/blob-cassandra/src/main/java/org/apache/james/blob/cassandra/CassandraBlobModule.java
----------------------------------------------------------------------
diff --git a/server/blob/blob-cassandra/src/main/java/org/apache/james/blob/cassandra/CassandraBlobModule.java b/server/blob/blob-cassandra/src/main/java/org/apache/james/blob/cassandra/CassandraBlobModule.java
index 9832f11..fb3623a 100644
--- a/server/blob/blob-cassandra/src/main/java/org/apache/james/blob/cassandra/CassandraBlobModule.java
+++ b/server/blob/blob-cassandra/src/main/java/org/apache/james/blob/cassandra/CassandraBlobModule.java
@@ -28,7 +28,6 @@ public interface CassandraBlobModule {
.builder()
.table(BlobTable.BlobParts.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(BlobTable.ID, DataType.text())
.addClusteringColumn(BlobTable.BlobParts.CHUNK_NUMBER, DataType.cint())
.addColumn(BlobTable.BlobParts.DATA, DataType.blob())
@@ -37,7 +36,6 @@ public interface CassandraBlobModule {
"Messages` headers and bodies are stored, chunked in blobparts."))
.table(BlobTable.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(BlobTable.ID, DataType.text())
.addClusteringColumn(BlobTable.NUMBER_OF_CHUNK, DataType.cint())
.withOptions()
http://git-wip-us.apache.org/repos/asf/james-project/blob/7ad4f422/server/data/data-cassandra/src/main/java/org/apache/james/domainlist/cassandra/CassandraDomainListModule.java
----------------------------------------------------------------------
diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/domainlist/cassandra/CassandraDomainListModule.java b/server/data/data-cassandra/src/main/java/org/apache/james/domainlist/cassandra/CassandraDomainListModule.java
index cd38715..8d05add 100644
--- a/server/data/data-cassandra/src/main/java/org/apache/james/domainlist/cassandra/CassandraDomainListModule.java
+++ b/server/data/data-cassandra/src/main/java/org/apache/james/domainlist/cassandra/CassandraDomainListModule.java
@@ -30,7 +30,6 @@ import com.datastax.driver.core.schemabuilder.SchemaBuilder;
public class CassandraDomainListModule {
public static final CassandraModule MODULE = CassandraModule.table(CassandraDomainsTable.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(CassandraDomainsTable.DOMAIN, text())
.withOptions()
.comment("Holds domains this James server is operating on.")
http://git-wip-us.apache.org/repos/asf/james-project/blob/7ad4f422/server/data/data-cassandra/src/main/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryUrlModule.java
----------------------------------------------------------------------
diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryUrlModule.java b/server/data/data-cassandra/src/main/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryUrlModule.java
index 5f269fd..7523451 100644
--- a/server/data/data-cassandra/src/main/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryUrlModule.java
+++ b/server/data/data-cassandra/src/main/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryUrlModule.java
@@ -29,7 +29,6 @@ import com.datastax.driver.core.schemabuilder.SchemaBuilder;
public class CassandraMailRepositoryUrlModule {
public static final CassandraModule MODULE = CassandraModule.table(UrlsTable.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(UrlsTable.URL, text())
.withOptions()
.comment("Holds the list of available mail repository")
http://git-wip-us.apache.org/repos/asf/james-project/blob/7ad4f422/server/data/data-cassandra/src/main/java/org/apache/james/rrt/cassandra/CassandraRRTModule.java
----------------------------------------------------------------------
diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/rrt/cassandra/CassandraRRTModule.java b/server/data/data-cassandra/src/main/java/org/apache/james/rrt/cassandra/CassandraRRTModule.java
index da8cd62..0970ce1 100644
--- a/server/data/data-cassandra/src/main/java/org/apache/james/rrt/cassandra/CassandraRRTModule.java
+++ b/server/data/data-cassandra/src/main/java/org/apache/james/rrt/cassandra/CassandraRRTModule.java
@@ -30,7 +30,6 @@ import com.datastax.driver.core.schemabuilder.SchemaBuilder;
public class CassandraRRTModule {
public static final CassandraModule MODULE = CassandraModule.table(CassandraRecipientRewriteTableTable.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(CassandraRecipientRewriteTableTable.USER, text())
.addClusteringColumn(CassandraRecipientRewriteTableTable.DOMAIN, text())
.addClusteringColumn(CassandraRecipientRewriteTableTable.MAPPING, text())
http://git-wip-us.apache.org/repos/asf/james-project/blob/7ad4f422/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraSieveRepositoryModule.java
----------------------------------------------------------------------
diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraSieveRepositoryModule.java b/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraSieveRepositoryModule.java
index ddaccb5..799e972 100644
--- a/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraSieveRepositoryModule.java
+++ b/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraSieveRepositoryModule.java
@@ -37,7 +37,6 @@ public interface CassandraSieveRepositoryModule {
CassandraModule MODULE = CassandraModule.builder()
.table(CassandraSieveTable.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(CassandraSieveTable.USER_NAME, text())
.addClusteringColumn(CassandraSieveTable.SCRIPT_NAME, text())
.addColumn(CassandraSieveTable.SCRIPT_CONTENT, text())
@@ -47,28 +46,24 @@ public interface CassandraSieveRepositoryModule {
.comment("Holds SIEVE scripts."))
.table(CassandraSieveSpaceTable.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(CassandraSieveSpaceTable.USER_NAME, text())
.addColumn(CassandraSieveSpaceTable.SPACE_USED, counter())
.withOptions()
.comment("Holds per user current space occupied by SIEVE scripts."))
.table(CassandraSieveQuotaTable.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(CassandraSieveQuotaTable.USER_NAME, text())
.addColumn(CassandraSieveQuotaTable.QUOTA, bigint())
.withOptions()
.comment("Holds per user size limitations for SIEVE script storage."))
.table(CassandraSieveClusterQuotaTable.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(CassandraSieveClusterQuotaTable.NAME, text())
.addColumn(CassandraSieveClusterQuotaTable.VALUE, bigint())
.withOptions()
.comment("Holds default size limitations for SIEVE script storage."))
.table(CassandraSieveActiveTable.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(CassandraSieveActiveTable.USER_NAME, text())
.addColumn(CassandraSieveActiveTable.SCRIPT_NAME, text())
.addColumn(CassandraSieveActiveTable.DATE, timestamp())
http://git-wip-us.apache.org/repos/asf/james-project/blob/7ad4f422/server/data/data-cassandra/src/main/java/org/apache/james/user/cassandra/CassandraUsersRepositoryModule.java
----------------------------------------------------------------------
diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/user/cassandra/CassandraUsersRepositoryModule.java b/server/data/data-cassandra/src/main/java/org/apache/james/user/cassandra/CassandraUsersRepositoryModule.java
index 1bb176d..473cb02 100644
--- a/server/data/data-cassandra/src/main/java/org/apache/james/user/cassandra/CassandraUsersRepositoryModule.java
+++ b/server/data/data-cassandra/src/main/java/org/apache/james/user/cassandra/CassandraUsersRepositoryModule.java
@@ -28,7 +28,6 @@ public class CassandraUsersRepositoryModule {
public static final CassandraModule MODULE = CassandraModule.table(CassandraUserTable.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(CassandraUserTable.NAME, text())
.addColumn(CassandraUserTable.REALNAME, text())
.addColumn(CassandraUserTable.PASSWORD, text())
http://git-wip-us.apache.org/repos/asf/james-project/blob/7ad4f422/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/access/CassandraAccessModule.java
----------------------------------------------------------------------
diff --git a/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/access/CassandraAccessModule.java b/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/access/CassandraAccessModule.java
index 6f706d5..6fe4583 100644
--- a/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/access/CassandraAccessModule.java
+++ b/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/access/CassandraAccessModule.java
@@ -31,7 +31,6 @@ import com.datastax.driver.core.schemabuilder.SchemaBuilder;
public class CassandraAccessModule {
public static final CassandraModule MODULE = CassandraModule.table(CassandraAccessTokenTable.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(CassandraAccessTokenTable.TOKEN, uuid())
.addColumn(CassandraAccessTokenTable.USERNAME, text())
.withOptions()
http://git-wip-us.apache.org/repos/asf/james-project/blob/7ad4f422/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/vacation/CassandraNotificationRegistryModule.java
----------------------------------------------------------------------
diff --git a/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/vacation/CassandraNotificationRegistryModule.java b/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/vacation/CassandraNotificationRegistryModule.java
index 270fa50..0cb2abb 100644
--- a/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/vacation/CassandraNotificationRegistryModule.java
+++ b/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/vacation/CassandraNotificationRegistryModule.java
@@ -30,7 +30,6 @@ import com.datastax.driver.core.schemabuilder.SchemaBuilder;
public class CassandraNotificationRegistryModule {
public static final CassandraModule MODULE = CassandraModule.table(CassandraNotificationTable.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(CassandraNotificationTable.ACCOUNT_ID, text())
.addClusteringColumn(CassandraNotificationTable.RECIPIENT_ID, text())
.withOptions()
http://git-wip-us.apache.org/repos/asf/james-project/blob/7ad4f422/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/vacation/CassandraVacationModule.java
----------------------------------------------------------------------
diff --git a/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/vacation/CassandraVacationModule.java b/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/vacation/CassandraVacationModule.java
index 5fa8567..a55d71a 100644
--- a/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/vacation/CassandraVacationModule.java
+++ b/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/vacation/CassandraVacationModule.java
@@ -32,7 +32,6 @@ import com.datastax.driver.core.schemabuilder.SchemaBuilder;
public class CassandraVacationModule {
public static final CassandraModule MODULE = CassandraModule.table(CassandraVacationTable.TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(CassandraVacationTable.ACCOUNT_ID, text())
.addColumn(CassandraVacationTable.IS_ENABLED, cboolean())
.addUDTColumn(CassandraVacationTable.FROM_DATE, SchemaBuilder.frozen(CassandraZonedDateTimeModule.ZONED_DATE_TIME))
http://git-wip-us.apache.org/repos/asf/james-project/blob/7ad4f422/server/mailrepository/mailrepository-cassandra/src/main/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryModule.java
----------------------------------------------------------------------
diff --git a/server/mailrepository/mailrepository-cassandra/src/main/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryModule.java b/server/mailrepository/mailrepository-cassandra/src/main/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryModule.java
index 4d4ed3d..a2b7661 100644
--- a/server/mailrepository/mailrepository-cassandra/src/main/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryModule.java
+++ b/server/mailrepository/mailrepository-cassandra/src/main/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryModule.java
@@ -34,22 +34,18 @@ public interface CassandraMailRepositoryModule {
CassandraModule MODULE = CassandraModule.builder()
.type(MailRepositoryTable.HEADER_TYPE)
.statement(statement -> statement
- .ifNotExists()
.addColumn(MailRepositoryTable.HEADER_NAME, text())
.addColumn(MailRepositoryTable.HEADER_VALUE, text()))
.table(MailRepositoryTable.COUNT_TABLE)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(MailRepositoryTable.REPOSITORY_NAME, text())
.addColumn(MailRepositoryTable.COUNT, counter()))
.table(MailRepositoryTable.KEYS_TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(MailRepositoryTable.REPOSITORY_NAME, text())
.addClusteringColumn(MailRepositoryTable.MAIL_KEY, text()))
.table(MailRepositoryTable.CONTENT_TABLE_NAME)
.statement(statement -> statement
- .ifNotExists()
.addPartitionKey(MailRepositoryTable.REPOSITORY_NAME, text())
.addPartitionKey(MailRepositoryTable.MAIL_KEY, text())
.addColumn(MailRepositoryTable.MESSAGE_SIZE, bigint())
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[02/27] james-project git commit: JAMES-2497 Update org.apache.derby
to 10.14.2.0
Posted by bt...@apache.org.
JAMES-2497 Update org.apache.derby to 10.14.2.0
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/9d9b0424
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/9d9b0424
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/9d9b0424
Branch: refs/heads/master
Commit: 9d9b0424e17233358d044752492bedb7007ebdef
Parents: e6381b4
Author: Gautier DI FOLCO <gd...@linagora.com>
Authored: Tue Jul 24 15:02:26 2018 +0200
Committer: benwa <bt...@linagora.com>
Committed: Thu Jul 26 13:46:51 2018 +0700
----------------------------------------------------------------------
mpt/pom.xml | 2 +-
pom.xml | 2 +-
server/app/src/main/licensing/app/licensing.xml | 2 +-
server/app/src/main/licensing/war/licensing.xml | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/9d9b0424/mpt/pom.xml
----------------------------------------------------------------------
diff --git a/mpt/pom.xml b/mpt/pom.xml
index d6092ee..4adef84 100644
--- a/mpt/pom.xml
+++ b/mpt/pom.xml
@@ -53,7 +53,7 @@
<properties>
<commons-lang.version>2.6</commons-lang.version>
- <derby.version>10.9.1.0</derby.version>
+ <derby.version>10.14.2.0</derby.version>
<guice.version>4.0</guice.version>
<hadoop.version>1.0.1</hadoop.version>
<hbase.version>0.94.27</hbase.version>
http://git-wip-us.apache.org/repos/asf/james-project/blob/9d9b0424/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 75a5853..ee3fe35 100644
--- a/pom.xml
+++ b/pom.xml
@@ -587,7 +587,7 @@
<apache-mime4j.version>0.8.2</apache-mime4j.version>
<apache.openjpa.version>3.0.0</apache.openjpa.version>
<camel.version>2.22.0</camel.version>
- <derby.version>10.9.1.0</derby.version>
+ <derby.version>10.14.2.0</derby.version>
<hadoop.version>1.1.1</hadoop.version>
<hbase.version>0.94.27</hbase.version>
<javax.inject.version>1</javax.inject.version>
http://git-wip-us.apache.org/repos/asf/james-project/blob/9d9b0424/server/app/src/main/licensing/app/licensing.xml
----------------------------------------------------------------------
diff --git a/server/app/src/main/licensing/app/licensing.xml b/server/app/src/main/licensing/app/licensing.xml
index 46162b3..c21773d 100644
--- a/server/app/src/main/licensing/app/licensing.xml
+++ b/server/app/src/main/licensing/app/licensing.xml
@@ -1324,7 +1324,7 @@ All rights reserved.
<resource name='commons-logging-1.0.3.jar'/>
<resource name='commons-logging-api-1.1.jar'/>
<resource name='commons-pool-1.5.5.jar'/>
- <resource name='derby-10.7.1.1.jar'/>
+ <resource name='derby-10.14.2.0.jar'/>
<resource name='geronimo-annotation_1.0_spec-1.1.1.jar'/>
<resource name='geronimo-annotation_1.1_spec-1.0.1.jar'/>
<resource name='geronimo-j2ee-management_1.1_spec-1.0.1.jar'/>
http://git-wip-us.apache.org/repos/asf/james-project/blob/9d9b0424/server/app/src/main/licensing/war/licensing.xml
----------------------------------------------------------------------
diff --git a/server/app/src/main/licensing/war/licensing.xml b/server/app/src/main/licensing/war/licensing.xml
index d26ec63..44d7dbc 100644
--- a/server/app/src/main/licensing/war/licensing.xml
+++ b/server/app/src/main/licensing/war/licensing.xml
@@ -1269,7 +1269,7 @@ All rights reserved.
<resource name='commons-logging-1.0.3.jar'/>
<resource name='commons-logging-api-1.1.jar'/>
<resource name='commons-pool-1.5.5.jar'/>
- <resource name='derby-10.7.1.1.jar'/>
+ <resource name='derby-10.14.2.0.jar'/>
<resource name='geronimo-annotation_1.0_spec-1.1.1.jar'/>
<resource name='geronimo-annotation_1.1_spec-1.0.1.jar'/>
<resource name='geronimo-j2ee-management_1.1_spec-1.0.1.jar'/>
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org