http://git-wip-us.apache.org/repos/asf/james-project/blob/7015d946/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java
index b406391..2e18dec 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java
@@ -48,10 +48,10 @@ import static org.apache.james.mailbox.cassandra.table.CassandraMessageTable.Fla
import static org.apache.james.mailbox.cassandra.table.CassandraMessageTable.Flag.DELETED;
import static org.apache.james.mailbox.cassandra.table.CassandraMessageTable.Flag.DRAFT;
import static org.apache.james.mailbox.cassandra.table.CassandraMessageTable.Flag.FLAGGED;
-import static org.apache.james.mailbox.cassandra.table.CassandraMessageTable.Flag.USER_FLAGS;
import static org.apache.james.mailbox.cassandra.table.CassandraMessageTable.Flag.RECENT;
import static org.apache.james.mailbox.cassandra.table.CassandraMessageTable.Flag.SEEN;
import static org.apache.james.mailbox.cassandra.table.CassandraMessageTable.Flag.USER;
+import static org.apache.james.mailbox.cassandra.table.CassandraMessageTable.Flag.USER_FLAGS;
import java.io.IOException;
import java.io.InputStream;
@@ -69,16 +69,13 @@ import javax.mail.Flags;
import javax.mail.Flags.Flag;
import javax.mail.util.SharedByteArrayInputStream;
-import com.datastax.driver.core.Statement;
-import com.datastax.driver.core.querybuilder.Select;
-import com.google.common.base.Throwables;
import org.apache.james.backends.cassandra.init.CassandraTypesProvider;
import org.apache.james.backends.cassandra.utils.CassandraConstants;
import org.apache.james.backends.cassandra.utils.CassandraUtils;
+import org.apache.james.backends.cassandra.utils.FunctionRunnerWithRetry;
import org.apache.james.mailbox.FlagsBuilder;
import org.apache.james.mailbox.MailboxSession;
import org.apache.james.mailbox.cassandra.CassandraId;
-import org.apache.james.backends.cassandra.utils.FunctionRunnerWithRetry;
import org.apache.james.mailbox.cassandra.mail.utils.MessageDeletedDuringFlagsUpdateException;
import org.apache.james.mailbox.cassandra.table.CassandraMailboxCountersTable;
import org.apache.james.mailbox.cassandra.table.CassandraMessageTable;
@@ -101,23 +98,26 @@ import org.apache.james.mailbox.store.mail.model.impl.SimpleProperty;
import com.datastax.driver.core.ResultSet;
import com.datastax.driver.core.Row;
import com.datastax.driver.core.Session;
+import com.datastax.driver.core.Statement;
import com.datastax.driver.core.UDTValue;
import com.datastax.driver.core.querybuilder.Assignment;
import com.datastax.driver.core.querybuilder.QueryBuilder;
+import com.datastax.driver.core.querybuilder.Select;
import com.datastax.driver.core.querybuilder.Select.Where;
+import com.google.common.base.Throwables;
import com.google.common.io.ByteStreams;
import com.google.common.primitives.Bytes;
-public class CassandraMessageMapper implements MessageMapper<CassandraId> {
+public class CassandraMessageMapper implements MessageMapper {
private final Session session;
- private final ModSeqProvider<CassandraId> modSeqProvider;
+ private final ModSeqProvider modSeqProvider;
private final MailboxSession mailboxSession;
- private final UidProvider<CassandraId> uidProvider;
+ private final UidProvider uidProvider;
private final CassandraTypesProvider typesProvider;
private final int maxRetries;
- public CassandraMessageMapper(Session session, UidProvider<CassandraId> uidProvider, ModSeqProvider<CassandraId> modSeqProvider, MailboxSession mailboxSession, int maxRetries, CassandraTypesProvider typesProvider) {
+ public CassandraMessageMapper(Session session, UidProvider uidProvider, ModSeqProvider modSeqProvider, MailboxSession mailboxSession, int maxRetries, CassandraTypesProvider typesProvider) {
this.session = session;
this.uidProvider = uidProvider;
this.modSeqProvider = modSeqProvider;
@@ -127,20 +127,22 @@ public class CassandraMessageMapper implements MessageMapper<CassandraId> {
}
@Override
- public long countMessagesInMailbox(Mailbox<CassandraId> mailbox) throws MailboxException {
+ public long countMessagesInMailbox(Mailbox mailbox) throws MailboxException {
+ CassandraId mailboxId = (CassandraId) mailbox.getMailboxId();
ResultSet results = session.execute(
select(CassandraMailboxCountersTable.COUNT)
.from(CassandraMailboxCountersTable.TABLE_NAME)
- .where(eq(CassandraMailboxCountersTable.MAILBOX_ID, mailbox.getMailboxId().asUuid())));
+ .where(eq(CassandraMailboxCountersTable.MAILBOX_ID, mailboxId.asUuid())));
return results.isExhausted() ? 0 : results.one().getLong(CassandraMailboxCountersTable.COUNT);
}
@Override
- public long countUnseenMessagesInMailbox(Mailbox<CassandraId> mailbox) throws MailboxException {
+ public long countUnseenMessagesInMailbox(Mailbox mailbox) throws MailboxException {
+ CassandraId mailboxId = (CassandraId) mailbox.getMailboxId();
ResultSet results = session.execute(
select(CassandraMailboxCountersTable.UNSEEN)
.from(CassandraMailboxCountersTable.TABLE_NAME)
- .where(eq(CassandraMailboxCountersTable.MAILBOX_ID, mailbox.getMailboxId().asUuid())));
+ .where(eq(CassandraMailboxCountersTable.MAILBOX_ID, mailboxId.asUuid())));
if (!results.isExhausted()) {
Row row = results.one();
if (row.getColumnDefinitions().contains(CassandraMailboxCountersTable.UNSEEN)) {
@@ -151,11 +153,11 @@ public class CassandraMessageMapper implements MessageMapper<CassandraId> {
}
@Override
- public void delete(Mailbox<CassandraId> mailbox, MailboxMessage<CassandraId> message) {
- deleteUsingMailboxId(mailbox.getMailboxId(), message);
+ public void delete(Mailbox mailbox, MailboxMessage message) {
+ deleteUsingMailboxId(((CassandraId) mailbox.getMailboxId()), message);
}
- private void deleteUsingMailboxId(CassandraId mailboxId, MailboxMessage<CassandraId> message) {
+ private void deleteUsingMailboxId(CassandraId mailboxId, MailboxMessage message) {
session.execute(
QueryBuilder.delete()
.from(TABLE_NAME)
@@ -168,8 +170,9 @@ public class CassandraMessageMapper implements MessageMapper<CassandraId> {
}
@Override
- public Iterator<MailboxMessage<CassandraId>> findInMailbox(Mailbox<CassandraId> mailbox, MessageRange set, FetchType ftype, int max) throws MailboxException {
- return CassandraUtils.convertToStream(session.execute(buildSelectQueryWithLimit(buildQuery(mailbox, set, ftype), max)))
+ public Iterator<MailboxMessage> findInMailbox(Mailbox mailbox, MessageRange set, FetchType ftype, int max) throws MailboxException {
+ CassandraId mailboxId = (CassandraId) mailbox.getMailboxId();
+ return CassandraUtils.convertToStream(session.execute(buildSelectQueryWithLimit(buildQuery(mailboxId, set, ftype), max)))
.map(row -> message(row, ftype))
.sorted(Comparator.comparingLong(MailboxMessage::getUid))
.iterator();
@@ -183,16 +186,18 @@ public class CassandraMessageMapper implements MessageMapper<CassandraId> {
}
@Override
- public List<Long> findRecentMessageUidsInMailbox(Mailbox<CassandraId> mailbox) throws MailboxException {
- return CassandraUtils.convertToStream(session.execute(selectAll(mailbox, FetchType.Metadata).and((eq(RECENT, true)))))
+ public List<Long> findRecentMessageUidsInMailbox(Mailbox mailbox) throws MailboxException {
+ CassandraId mailboxId = (CassandraId) mailbox.getMailboxId();
+ return CassandraUtils.convertToStream(session.execute(selectAll(mailboxId, FetchType.Metadata).and((eq(RECENT, true)))))
.map((row) -> row.getLong(IMAP_UID))
.sorted()
.collect(Collectors.toList());
}
@Override
- public Long findFirstUnseenMessageUid(Mailbox<CassandraId> mailbox) throws MailboxException {
- return CassandraUtils.convertToStream(session.execute(selectAll(mailbox, FetchType.Metadata).and((eq(SEEN, false)))))
+ public Long findFirstUnseenMessageUid(Mailbox mailbox) throws MailboxException {
+ CassandraId mailboxId = (CassandraId) mailbox.getMailboxId();
+ return CassandraUtils.convertToStream(session.execute(selectAll(mailboxId, FetchType.Metadata).and((eq(SEEN, false)))))
.map((row) -> row.getLong(IMAP_UID))
.sorted()
.findFirst()
@@ -200,17 +205,18 @@ public class CassandraMessageMapper implements MessageMapper<CassandraId> {
}
@Override
- public Map<Long, MessageMetaData> expungeMarkedForDeletionInMailbox(Mailbox<CassandraId> mailbox, MessageRange set) throws MailboxException {
- return CassandraUtils.convertToStream(session.execute(buildQuery(mailbox, set, FetchType.Metadata).and(eq(DELETED, true))))
+ public Map<Long, MessageMetaData> expungeMarkedForDeletionInMailbox(Mailbox mailbox, MessageRange set) throws MailboxException {
+ CassandraId mailboxId = (CassandraId) mailbox.getMailboxId();
+ return CassandraUtils.convertToStream(session.execute(buildQuery(mailboxId, set, FetchType.Metadata).and(eq(DELETED, true))))
.map(row -> message(row, FetchType.Metadata))
.peek((message) -> delete(mailbox, message))
.collect(Collectors.toMap(MailboxMessage::getUid, SimpleMessageMetaData::new));
}
@Override
- public MessageMetaData move(Mailbox<CassandraId> destinationMailbox, MailboxMessage<CassandraId> original) throws MailboxException {
+ public MessageMetaData move(Mailbox destinationMailbox, MailboxMessage original) throws MailboxException {
MessageMetaData messageMetaData = copy(destinationMailbox, original);
- deleteUsingMailboxId(original.getMailboxId(), original);
+ deleteUsingMailboxId((CassandraId) original.getMailboxId(), original);
return messageMetaData;
}
@@ -220,25 +226,27 @@ public class CassandraMessageMapper implements MessageMapper<CassandraId> {
}
@Override
- public long getHighestModSeq(Mailbox<CassandraId> mailbox) throws MailboxException {
+ public long getHighestModSeq(Mailbox mailbox) throws MailboxException {
return modSeqProvider.highestModSeq(mailboxSession, mailbox);
}
@Override
- public MessageMetaData add(Mailbox<CassandraId> mailbox, MailboxMessage<CassandraId> message) throws MailboxException {
+ public MessageMetaData add(Mailbox mailbox, MailboxMessage message) throws MailboxException {
message.setUid(uidProvider.nextUid(mailboxSession, mailbox));
message.setModSeq(modSeqProvider.nextModSeq(mailboxSession, mailbox));
MessageMetaData messageMetaData = save(mailbox, message);
+ CassandraId mailboxId = (CassandraId) mailbox.getMailboxId();
if (!message.isSeen()) {
- incrementUnseen(mailbox.getMailboxId());
+ incrementUnseen(mailboxId);
}
- incrementCount(mailbox.getMailboxId());
+ incrementCount(mailboxId);
return messageMetaData;
}
@Override
- public Iterator<UpdatedFlags> updateFlags(Mailbox<CassandraId> mailbox, FlagsUpdateCalculator flagUpdateCalculator, MessageRange set) throws MailboxException {
- return CassandraUtils.convertToStream(session.execute(buildQuery(mailbox, set, FetchType.Metadata)))
+ public Iterator<UpdatedFlags> updateFlags(Mailbox mailbox, FlagsUpdateCalculator flagUpdateCalculator, MessageRange set) throws MailboxException {
+ CassandraId mailboxId = (CassandraId) mailbox.getMailboxId();
+ return CassandraUtils.convertToStream(session.execute(buildQuery(mailboxId, set, FetchType.Metadata)))
.map((row) -> updateFlagsOnMessage(mailbox, flagUpdateCalculator, row))
.filter(Optional::isPresent)
.map(Optional::get)
@@ -253,13 +261,13 @@ public class CassandraMessageMapper implements MessageMapper<CassandraId> {
}
@Override
- public MessageMetaData copy(Mailbox<CassandraId> mailbox, MailboxMessage<CassandraId> original) throws MailboxException {
+ public MessageMetaData copy(Mailbox mailbox, MailboxMessage original) throws MailboxException {
original.setFlags(new FlagsBuilder().add(original.createFlags()).add(Flag.RECENT).build());
return add(mailbox, original);
}
@Override
- public long getLastUid(Mailbox<CassandraId> mailbox) throws MailboxException {
+ public long getLastUid(Mailbox mailbox) throws MailboxException {
return uidProvider.lastUid(mailboxSession, mailbox);
}
@@ -283,9 +291,9 @@ public class CassandraMessageMapper implements MessageMapper<CassandraId> {
session.execute(update(CassandraMailboxCountersTable.TABLE_NAME).with(operation).where(eq(CassandraMailboxCountersTable.MAILBOX_ID, mailboxId.asUuid())));
}
- private MailboxMessage<CassandraId> message(Row row, FetchType fetchType) {
- SimpleMailboxMessage<CassandraId> message =
- new SimpleMailboxMessage<>(
+ private MailboxMessage message(Row row, FetchType fetchType) {
+ SimpleMailboxMessage message =
+ new SimpleMailboxMessage(
row.getDate(INTERNAL_DATE),
row.getLong(FULL_CONTENT_OCTETS),
row.getInt(BODY_START_OCTET),
@@ -320,10 +328,11 @@ public class CassandraMessageMapper implements MessageMapper<CassandraId> {
return property;
}
- private MessageMetaData save(Mailbox<CassandraId> mailbox, MailboxMessage<CassandraId> message) throws MailboxException {
+ private MessageMetaData save(Mailbox mailbox, MailboxMessage message) throws MailboxException {
try {
+ CassandraId mailboxId = (CassandraId) mailbox.getMailboxId();
session.execute(insertInto(TABLE_NAME)
- .value(MAILBOX_ID, mailbox.getMailboxId().asUuid())
+ .value(MAILBOX_ID, mailboxId.asUuid())
.value(IMAP_UID, message.getUid())
.value(MOD_SEQ, message.getModSeq())
.value(INTERNAL_DATE, message.getInternalDate())
@@ -355,26 +364,27 @@ public class CassandraMessageMapper implements MessageMapper<CassandraId> {
}
}
- private Set<String> userFlagsSet(MailboxMessage<CassandraId> message) {
+ private Set<String> userFlagsSet(MailboxMessage message) {
return Arrays.stream(message.createFlags().getUserFlags()).collect(Collectors.toSet());
}
- private void manageUnseenMessageCounts(Mailbox<CassandraId> mailbox, Flags oldFlags, Flags newFlags) {
+ private void manageUnseenMessageCounts(Mailbox mailbox, Flags oldFlags, Flags newFlags) {
+ CassandraId mailboxId = (CassandraId) mailbox.getMailboxId();
if (oldFlags.contains(Flag.SEEN) && !newFlags.contains(Flag.SEEN)) {
- incrementUnseen(mailbox.getMailboxId());
+ incrementUnseen(mailboxId);
}
if (!oldFlags.contains(Flag.SEEN) && newFlags.contains(Flag.SEEN)) {
- decrementUnseen(mailbox.getMailboxId());
+ decrementUnseen(mailboxId);
}
}
- private Optional<UpdatedFlags> updateFlagsOnMessage(Mailbox<CassandraId> mailbox, FlagsUpdateCalculator flagUpdateCalculator, Row row) {
+ private Optional<UpdatedFlags> updateFlagsOnMessage(Mailbox mailbox, FlagsUpdateCalculator flagUpdateCalculator, Row row) {
return tryMessageFlagsUpdate(flagUpdateCalculator, mailbox, message(row, FetchType.Metadata))
.map(Optional::of)
.orElse(handleRetries(mailbox, flagUpdateCalculator, row.getLong(IMAP_UID)));
}
- private Optional<UpdatedFlags> tryMessageFlagsUpdate(FlagsUpdateCalculator flagUpdateCalculator, Mailbox<CassandraId> mailbox, MailboxMessage<CassandraId> message) {
+ private Optional<UpdatedFlags> tryMessageFlagsUpdate(FlagsUpdateCalculator flagUpdateCalculator, Mailbox mailbox, MailboxMessage message) {
try {
long oldModSeq = message.getModSeq();
Flags oldFlags = message.createFlags();
@@ -391,7 +401,7 @@ public class CassandraMessageMapper implements MessageMapper<CassandraId> {
}
}
- private Optional<UpdatedFlags> handleRetries(Mailbox<CassandraId> mailbox, FlagsUpdateCalculator flagUpdateCalculator, long uid) {
+ private Optional<UpdatedFlags> handleRetries(Mailbox mailbox, FlagsUpdateCalculator flagUpdateCalculator, long uid) {
try {
return Optional.of(
new FunctionRunnerWithRetry(maxRetries)
@@ -404,15 +414,17 @@ public class CassandraMessageMapper implements MessageMapper<CassandraId> {
}
}
- private Optional<UpdatedFlags> retryMessageFlagsUpdate(Mailbox<CassandraId> mailbox, long uid, FlagsUpdateCalculator flagUpdateCalculator) {
+ private Optional<UpdatedFlags> retryMessageFlagsUpdate(Mailbox mailbox, long uid, FlagsUpdateCalculator flagUpdateCalculator) {
+ CassandraId mailboxId = (CassandraId) mailbox.getMailboxId();
return tryMessageFlagsUpdate(flagUpdateCalculator,
mailbox,
- message(Optional.ofNullable(session.execute(selectMessage(mailbox, uid, FetchType.Metadata)).one())
- .orElseThrow(() -> new MessageDeletedDuringFlagsUpdateException(mailbox.getMailboxId(), uid)),
+ message(Optional.ofNullable(session.execute(selectMessage(mailboxId, uid, FetchType.Metadata)).one())
+ .orElseThrow(() -> new MessageDeletedDuringFlagsUpdateException(mailboxId, uid)),
FetchType.Metadata));
}
- private boolean conditionalSave(MailboxMessage<CassandraId> message, long oldModSeq) {
+ private boolean conditionalSave(MailboxMessage message, long oldModSeq) {
+ CassandraId mailboxId = (CassandraId) message.getMailboxId();
ResultSet resultSet = session.execute(
update(TABLE_NAME)
.with(set(ANSWERED, message.isAnswered()))
@@ -425,7 +437,7 @@ public class CassandraMessageMapper implements MessageMapper<CassandraId> {
.and(set(USER_FLAGS, userFlagsSet(message)))
.and(set(MOD_SEQ, message.getModSeq()))
.where(eq(IMAP_UID, message.getUid()))
- .and(eq(MAILBOX_ID, message.getMailboxId().asUuid()))
+ .and(eq(MAILBOX_ID, mailboxId.asUuid()))
.onlyIf(eq(MOD_SEQ, oldModSeq)));
return resultSet.one().getBool(CassandraConstants.LIGHTWEIGHT_TRANSACTION_APPLIED);
}
@@ -434,45 +446,45 @@ public class CassandraMessageMapper implements MessageMapper<CassandraId> {
return ByteBuffer.wrap(ByteStreams.toByteArray(stream));
}
- private Where buildQuery(Mailbox<CassandraId> mailbox, MessageRange set, FetchType fetchType) {
+ private Where buildQuery(CassandraId mailboxId, MessageRange set, FetchType fetchType) {
switch (set.getType()) {
case ALL:
- return selectAll(mailbox, fetchType);
+ return selectAll(mailboxId, fetchType);
case FROM:
- return selectFrom(mailbox, set.getUidFrom(), fetchType);
+ return selectFrom(mailboxId, set.getUidFrom(), fetchType);
case RANGE:
- return selectRange(mailbox, set.getUidFrom(), set.getUidTo(), fetchType);
+ return selectRange(mailboxId, set.getUidFrom(), set.getUidTo(), fetchType);
case ONE:
- return selectMessage(mailbox, set.getUidFrom(), fetchType);
+ return selectMessage(mailboxId, set.getUidFrom(), fetchType);
}
throw new UnsupportedOperationException();
}
- private Where selectAll(Mailbox<CassandraId> mailbox, FetchType fetchType) {
+ private Where selectAll(CassandraId mailboxId, FetchType fetchType) {
return select(retrieveFields(fetchType))
.from(TABLE_NAME)
- .where(eq(MAILBOX_ID, mailbox.getMailboxId().asUuid()));
+ .where(eq(MAILBOX_ID, mailboxId.asUuid()));
}
- private Where selectFrom(Mailbox<CassandraId> mailbox, long uid, FetchType fetchType) {
+ private Where selectFrom(CassandraId mailboxId, long uid, FetchType fetchType) {
return select(retrieveFields(fetchType))
.from(TABLE_NAME)
- .where(eq(MAILBOX_ID, mailbox.getMailboxId().asUuid()))
+ .where(eq(MAILBOX_ID, mailboxId.asUuid()))
.and(gte(IMAP_UID, uid));
}
- private Where selectRange(Mailbox<CassandraId> mailbox, long from, long to, FetchType fetchType) {
+ private Where selectRange(CassandraId mailboxId, long from, long to, FetchType fetchType) {
return select(retrieveFields(fetchType))
.from(TABLE_NAME)
- .where(eq(MAILBOX_ID, mailbox.getMailboxId().asUuid()))
+ .where(eq(MAILBOX_ID, mailboxId.asUuid()))
.and(gte(IMAP_UID, from))
.and(lte(IMAP_UID, to));
}
- private Where selectMessage(Mailbox<CassandraId> mailbox, long uid, FetchType fetchType) {
+ private Where selectMessage(CassandraId mailboxId, long uid, FetchType fetchType) {
return select(retrieveFields(fetchType))
.from(TABLE_NAME)
- .where(eq(MAILBOX_ID, mailbox.getMailboxId().asUuid()))
+ .where(eq(MAILBOX_ID, mailboxId.asUuid()))
.and(eq(IMAP_UID, uid));
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/7015d946/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraModSeqProvider.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraModSeqProvider.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraModSeqProvider.java
index a30e49b..361a564 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraModSeqProvider.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraModSeqProvider.java
@@ -29,13 +29,14 @@ import static org.apache.james.mailbox.cassandra.table.CassandraMessageModseqTab
import static org.apache.james.mailbox.cassandra.table.CassandraMessageModseqTable.TABLE_NAME;
import java.util.Optional;
+
import javax.inject.Inject;
import org.apache.james.backends.cassandra.utils.CassandraConstants;
+import org.apache.james.backends.cassandra.utils.FunctionRunnerWithRetry;
import org.apache.james.backends.cassandra.utils.LightweightTransactionException;
import org.apache.james.mailbox.MailboxSession;
import org.apache.james.mailbox.cassandra.CassandraId;
-import org.apache.james.backends.cassandra.utils.FunctionRunnerWithRetry;
import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.store.mail.ModSeqProvider;
import org.apache.james.mailbox.store.mail.model.Mailbox;
@@ -47,7 +48,7 @@ import com.datastax.driver.core.Session;
import com.datastax.driver.core.querybuilder.BuiltStatement;
import com.google.common.base.Throwables;
-public class CassandraModSeqProvider implements ModSeqProvider<CassandraId> {
+public class CassandraModSeqProvider implements ModSeqProvider {
private static final int DEFAULT_MAX_RETRY = 100000;
private static final Logger LOG = LoggerFactory.getLogger(CassandraModSeqProvider.class);
@@ -67,8 +68,9 @@ public class CassandraModSeqProvider implements ModSeqProvider<CassandraId> {
}
@Override
- public long nextModSeq(MailboxSession mailboxSession, Mailbox<CassandraId> mailbox) throws MailboxException {
- if (findHighestModSeq(mailboxSession, mailbox).isFirst()) {
+ public long nextModSeq(MailboxSession mailboxSession, Mailbox mailbox) throws MailboxException {
+ CassandraId mailboxId = (CassandraId) mailbox.getMailboxId();
+ if (findHighestModSeq(mailboxSession, mailboxId).isFirst()) {
Optional<ModSeq> optional = tryInsertModSeq(mailbox, FIRST_MODSEQ);
if (optional.isPresent()) {
return optional.get().getValue();
@@ -79,7 +81,7 @@ public class CassandraModSeqProvider implements ModSeqProvider<CassandraId> {
return runner.executeAndRetrieveObject(
() -> {
try {
- return tryUpdateModSeq(mailbox, findHighestModSeq(mailboxSession, mailbox))
+ return tryUpdateModSeq(mailboxId, findHighestModSeq(mailboxSession, mailboxId))
.map(ModSeq::getValue);
} catch (Exception exception) {
LOG.error("Can not retrieve next ModSeq", exception);
@@ -92,15 +94,15 @@ public class CassandraModSeqProvider implements ModSeqProvider<CassandraId> {
}
@Override
- public long highestModSeq(MailboxSession mailboxSession, Mailbox<CassandraId> mailbox) throws MailboxException {
- return findHighestModSeq(mailboxSession, mailbox).getValue();
+ public long highestModSeq(MailboxSession mailboxSession, Mailbox mailbox) throws MailboxException {
+ return findHighestModSeq(mailboxSession, (CassandraId) mailbox.getMailboxId()).getValue();
}
- private ModSeq findHighestModSeq(MailboxSession mailboxSession, Mailbox<CassandraId> mailbox) throws MailboxException {
+ private ModSeq findHighestModSeq(MailboxSession mailboxSession, CassandraId mailboxId) throws MailboxException {
ResultSet result = session.execute(
select(NEXT_MODSEQ)
.from(TABLE_NAME)
- .where(eq(MAILBOX_ID, mailbox.getMailboxId().asUuid())));
+ .where(eq(MAILBOX_ID, mailboxId.asUuid())));
if (result.isExhausted()) {
return FIRST_MODSEQ;
} else {
@@ -108,22 +110,23 @@ public class CassandraModSeqProvider implements ModSeqProvider<CassandraId> {
}
}
- private Optional<ModSeq> tryInsertModSeq(Mailbox<CassandraId> mailbox, ModSeq modSeq) {
+ private Optional<ModSeq> tryInsertModSeq(Mailbox mailbox, ModSeq modSeq) {
ModSeq nextModSeq = modSeq.next();
+ CassandraId mailboxId = (CassandraId) mailbox.getMailboxId();
return transactionalStatementToOptionalModSeq(nextModSeq,
insertInto(TABLE_NAME)
.value(NEXT_MODSEQ, nextModSeq.getValue())
- .value(MAILBOX_ID, mailbox.getMailboxId().asUuid())
+ .value(MAILBOX_ID, mailboxId.asUuid())
.ifNotExists());
}
- private Optional<ModSeq> tryUpdateModSeq(Mailbox<CassandraId> mailbox, ModSeq modSeq) {
+ private Optional<ModSeq> tryUpdateModSeq(CassandraId mailboxId, ModSeq modSeq) {
ModSeq nextModSeq = modSeq.next();
return transactionalStatementToOptionalModSeq(nextModSeq,
update(TABLE_NAME)
.onlyIf(eq(NEXT_MODSEQ, modSeq.getValue()))
.with(set(NEXT_MODSEQ, nextModSeq.getValue()))
- .where(eq(MAILBOX_ID, mailbox.getMailboxId().asUuid())));
+ .where(eq(MAILBOX_ID, mailboxId.asUuid())));
}
private Optional<ModSeq> transactionalStatementToOptionalModSeq(ModSeq modSeq, BuiltStatement statement) {
http://git-wip-us.apache.org/repos/asf/james-project/blob/7015d946/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProvider.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProvider.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProvider.java
index 59e0ead..e41609e 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProvider.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProvider.java
@@ -24,19 +24,17 @@ import static com.datastax.driver.core.querybuilder.QueryBuilder.insertInto;
import static com.datastax.driver.core.querybuilder.QueryBuilder.select;
import static com.datastax.driver.core.querybuilder.QueryBuilder.set;
import static com.datastax.driver.core.querybuilder.QueryBuilder.update;
-import org.apache.james.backends.cassandra.utils.CassandraConstants;
import static org.apache.james.mailbox.cassandra.table.CassandraMessageUidTable.NEXT_UID;
-import com.datastax.driver.core.querybuilder.BuiltStatement;
-import com.google.common.base.Throwables;
-import org.apache.james.backends.cassandra.utils.LightweightTransactionException;
-
import java.util.Optional;
+
import javax.inject.Inject;
+import org.apache.james.backends.cassandra.utils.CassandraConstants;
+import org.apache.james.backends.cassandra.utils.FunctionRunnerWithRetry;
+import org.apache.james.backends.cassandra.utils.LightweightTransactionException;
import org.apache.james.mailbox.MailboxSession;
import org.apache.james.mailbox.cassandra.CassandraId;
-import org.apache.james.backends.cassandra.utils.FunctionRunnerWithRetry;
import org.apache.james.mailbox.cassandra.table.CassandraMessageUidTable;
import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.store.mail.UidProvider;
@@ -46,8 +44,10 @@ import org.slf4j.LoggerFactory;
import com.datastax.driver.core.ResultSet;
import com.datastax.driver.core.Session;
+import com.datastax.driver.core.querybuilder.BuiltStatement;
+import com.google.common.base.Throwables;
-public class CassandraUidProvider implements UidProvider<CassandraId> {
+public class CassandraUidProvider implements UidProvider {
public final static int DEFAULT_MAX_RETRY = 100000;
private static final Logger LOG = LoggerFactory.getLogger(CassandraUidProvider.class);
private static final Uid FIRST_UID = new Uid(0);
@@ -66,9 +66,10 @@ public class CassandraUidProvider implements UidProvider<CassandraId> {
}
@Override
- public long nextUid(MailboxSession mailboxSession, Mailbox<CassandraId> mailbox) throws MailboxException {
- if (findHighestUid(mailbox).isFirst()) {
- Optional<Uid> optional = tryInsertUid(mailbox, FIRST_UID);
+ public long nextUid(MailboxSession mailboxSession, Mailbox mailbox) throws MailboxException {
+ CassandraId mailboxId = (CassandraId) mailbox.getMailboxId();
+ if (findHighestUid(mailboxId).isFirst()) {
+ Optional<Uid> optional = tryInsertUid(mailboxId, FIRST_UID);
if (optional.isPresent()) {
return optional.get().getValue();
}
@@ -78,7 +79,7 @@ public class CassandraUidProvider implements UidProvider<CassandraId> {
return runner.executeAndRetrieveObject(
() -> {
try {
- return tryUpdateUid(mailbox, findHighestUid(mailbox))
+ return tryUpdateUid(mailboxId, findHighestUid(mailboxId))
.map(Uid::getValue);
} catch (Exception exception) {
LOG.error("Can not retrieve next Uid", exception);
@@ -91,15 +92,15 @@ public class CassandraUidProvider implements UidProvider<CassandraId> {
}
@Override
- public long lastUid(MailboxSession mailboxSession, Mailbox<CassandraId> mailbox) throws MailboxException {
- return findHighestUid(mailbox).getValue();
+ public long lastUid(MailboxSession mailboxSession, Mailbox mailbox) throws MailboxException {
+ return findHighestUid((CassandraId) mailbox.getMailboxId()).getValue();
}
- private Uid findHighestUid(Mailbox<CassandraId> mailbox) throws MailboxException {
+ private Uid findHighestUid(CassandraId mailboxId) throws MailboxException {
ResultSet result = session.execute(
select(NEXT_UID)
.from(CassandraMessageUidTable.TABLE_NAME)
- .where(eq(CassandraMessageUidTable.MAILBOX_ID, mailbox.getMailboxId().asUuid())));
+ .where(eq(CassandraMessageUidTable.MAILBOX_ID, mailboxId.asUuid())));
if (result.isExhausted()) {
return FIRST_UID;
} else {
@@ -107,22 +108,22 @@ public class CassandraUidProvider implements UidProvider<CassandraId> {
}
}
- private Optional<Uid> tryInsertUid(Mailbox<CassandraId> mailbox, Uid uid) {
+ private Optional<Uid> tryInsertUid(CassandraId mailboxId, Uid uid) {
Uid nextUid = uid.next();
return transactionalStatementToOptionalUid(nextUid,
insertInto(CassandraMessageUidTable.TABLE_NAME)
.value(NEXT_UID, nextUid.getValue())
- .value(CassandraMessageUidTable.MAILBOX_ID, mailbox.getMailboxId().asUuid())
+ .value(CassandraMessageUidTable.MAILBOX_ID, mailboxId.asUuid())
.ifNotExists());
}
- private Optional<Uid> tryUpdateUid(Mailbox<CassandraId> mailbox, Uid uid) {
+ private Optional<Uid> tryUpdateUid(CassandraId mailboxId, Uid uid) {
Uid nextUid = uid.next();
return transactionalStatementToOptionalUid(nextUid,
update(CassandraMessageUidTable.TABLE_NAME)
.onlyIf(eq(NEXT_UID, uid.getValue()))
.with(set(NEXT_UID, nextUid.getValue()))
- .where(eq(CassandraMessageUidTable.MAILBOX_ID, mailbox.getMailboxId().asUuid())));
+ .where(eq(CassandraMessageUidTable.MAILBOX_ID, mailboxId.asUuid())));
}
private Optional<Uid> transactionalStatementToOptionalUid(Uid uid, BuiltStatement statement) {
http://git-wip-us.apache.org/repos/asf/james-project/blob/7015d946/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxSessionMapperFactoryTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxSessionMapperFactoryTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxSessionMapperFactoryTest.java
index 9e60854..9aa45d4 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxSessionMapperFactoryTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxSessionMapperFactoryTest.java
@@ -63,7 +63,7 @@ public class CassandraMailboxSessionMapperFactoryTest {
LOG.info("createMessageMapper");
MailboxSession session = null;
CassandraMailboxSessionMapperFactory instance = new CassandraMailboxSessionMapperFactory(null, null, null, null);
- MessageMapper<CassandraId> messageMapper = instance.createMessageMapper(session);
+ MessageMapper messageMapper = instance.createMessageMapper(session);
assertNotNull(messageMapper);
assertTrue(messageMapper instanceof MessageMapper);
}
@@ -77,7 +77,7 @@ public class CassandraMailboxSessionMapperFactoryTest {
LOG.info("createMailboxMapper");
MailboxSession session = null;
CassandraMailboxSessionMapperFactory instance = new CassandraMailboxSessionMapperFactory(null, null, null, null);
- MailboxMapper<CassandraId> mailboxMapper = instance.createMailboxMapper(session);
+ MailboxMapper mailboxMapper = instance.createMailboxMapper(session);
assertNotNull(mailboxMapper);
assertTrue(mailboxMapper instanceof MailboxMapper);
}
@@ -103,9 +103,9 @@ public class CassandraMailboxSessionMapperFactoryTest {
@Test
public void testGetModSeqProvider() {
LOG.info("getModSeqProvider");
- ModSeqProvider<CassandraId> expResult = new CassandraModSeqProvider(CLUSTER.getConf());
+ ModSeqProvider expResult = new CassandraModSeqProvider(CLUSTER.getConf());
CassandraMailboxSessionMapperFactory instance = new CassandraMailboxSessionMapperFactory(null, expResult, null, null);
- ModSeqProvider<CassandraId> result = instance.getModSeqProvider();
+ ModSeqProvider result = instance.getModSeqProvider();
assertEquals(expResult, result);
}
@@ -116,9 +116,9 @@ public class CassandraMailboxSessionMapperFactoryTest {
@Test
public void testGetUidProvider() {
LOG.info("getUidProvider");
- UidProvider<CassandraId> expResult = new CassandraUidProvider(CLUSTER.getConf());
+ UidProvider expResult = new CassandraUidProvider(CLUSTER.getConf());
CassandraMailboxSessionMapperFactory instance = new CassandraMailboxSessionMapperFactory((CassandraUidProvider) expResult, null, null, null);
- UidProvider<CassandraId> result = instance.getUidProvider();
+ UidProvider result = instance.getUidProvider();
assertEquals(expResult, result);
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/7015d946/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 cb96d1a..6456f81 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
@@ -19,6 +19,10 @@
package org.apache.james.mailbox.cassandra.event.distributed;
+import static org.assertj.core.api.Assertions.assertThat;
+
+import java.util.TreeMap;
+
import org.apache.james.backends.cassandra.CassandraCluster;
import org.apache.james.mailbox.MailboxListener;
import org.apache.james.mailbox.MailboxSession;
@@ -39,10 +43,6 @@ import org.apache.james.mailbox.util.EventCollector;
import org.junit.Before;
import org.junit.Test;
-import java.util.TreeMap;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
/**
Integration tests for RegisteredDelegatingMailboxListener using a cassandra back-end.
@@ -77,8 +77,8 @@ public class CassandraBasedRegisteredDistributedMailboxDelegatingListenerTest {
CASSANDRA_TIME_OUT_IN_S),
SCHEDULER_PERIOD_IN_S);
registeredDelegatingMailboxListener1 = new RegisteredDelegatingMailboxListener(
- new MessagePackEventSerializer<>(
- new EventConverter<>(new MailboxConverter<>(new TestIdDeserializer()))
+ new MessagePackEventSerializer(
+ new EventConverter(new MailboxConverter(new TestIdDeserializer()))
),
publisherReceiver,
publisherReceiver,
@@ -90,8 +90,8 @@ public class CassandraBasedRegisteredDistributedMailboxDelegatingListenerTest {
CASSANDRA_TIME_OUT_IN_S),
SCHEDULER_PERIOD_IN_S);
registeredDelegatingMailboxListener2 = new RegisteredDelegatingMailboxListener(
- new MessagePackEventSerializer<>(
- new EventConverter<>(new MailboxConverter<>(new TestIdDeserializer()))
+ new MessagePackEventSerializer(
+ new EventConverter(new MailboxConverter(new TestIdDeserializer()))
),
publisherReceiver,
publisherReceiver,
@@ -103,8 +103,8 @@ public class CassandraBasedRegisteredDistributedMailboxDelegatingListenerTest {
CASSANDRA_TIME_OUT_IN_S),
SCHEDULER_PERIOD_IN_S);
registeredDelegatingMailboxListener3 = new RegisteredDelegatingMailboxListener(
- new MessagePackEventSerializer<>(
- new EventConverter<>(new MailboxConverter<>(new TestIdDeserializer()))
+ new MessagePackEventSerializer(
+ new EventConverter(new MailboxConverter(new TestIdDeserializer()))
),
publisherReceiver,
publisherReceiver,
@@ -126,9 +126,9 @@ public class CassandraBasedRegisteredDistributedMailboxDelegatingListenerTest {
@Test
public void mailboxEventListenersShouldBeTriggeredIfRegistered() throws Exception {
- SimpleMailbox<TestId> simpleMailbox = new SimpleMailbox<>(MAILBOX_PATH_1, 42);
+ SimpleMailbox simpleMailbox = new SimpleMailbox(MAILBOX_PATH_1, 42);
simpleMailbox.setMailboxId(TestId.of(52));
- final MailboxListener.Event event = new EventFactory<TestId>().added(mailboxSession, new TreeMap<>(), simpleMailbox);
+ final MailboxListener.Event event = new EventFactory().added(mailboxSession, new TreeMap<>(), simpleMailbox);
registeredDelegatingMailboxListener1.event(event);
@@ -139,9 +139,9 @@ public class CassandraBasedRegisteredDistributedMailboxDelegatingListenerTest {
@Test
public void onceEventListenersShouldBeTriggeredOnceAcrossTheCluster() {
- SimpleMailbox<TestId> simpleMailbox = new SimpleMailbox<>(MAILBOX_PATH_1, 42);
+ SimpleMailbox simpleMailbox = new SimpleMailbox(MAILBOX_PATH_1, 42);
simpleMailbox.setMailboxId(TestId.of(52));
- final MailboxListener.Event event = new EventFactory<TestId>().added(mailboxSession, new TreeMap<>(), simpleMailbox);
+ final MailboxListener.Event event = new EventFactory().added(mailboxSession, new TreeMap<>(), simpleMailbox);
registeredDelegatingMailboxListener1.event(event);
http://git-wip-us.apache.org/repos/asf/james-project/blob/7015d946/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 bc589b5..008bcdf 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
@@ -49,7 +49,7 @@ public class CassandraACLMapperTest {
private CassandraACLMapper cassandraACLMapper;
private CassandraCluster cassandra;
- private SimpleMailbox<CassandraId> mailbox;
+ private SimpleMailbox mailbox;
private int uidValidity;
private int maxRetry;
private ExecutorService executor;
@@ -59,7 +59,7 @@ public class CassandraACLMapperTest {
cassandra = CassandraCluster.create(new CassandraAclModule());
cassandra.ensureAllTables();
uidValidity = 10;
- mailbox = new SimpleMailbox<>(new MailboxPath("#private", "benwa@linagora.com", "INBOX"), uidValidity);
+ mailbox = new SimpleMailbox(new MailboxPath("#private", "benwa@linagora.com", "INBOX"), uidValidity);
mailbox.setMailboxId(CassandraId.of(UUID.fromString("464765a0-e4e7-11e4-aba4-710c1de3782b")));
maxRetry = 100;
cassandraACLMapper = new CassandraACLMapper(mailbox, cassandra.getConf(), maxRetry);
@@ -84,14 +84,14 @@ public class CassandraACLMapperTest {
@Test(expected = IllegalArgumentException.class)
public void creatingACLMapperWithNoMailboxIdShouldFail() {
- new CassandraACLMapper(new SimpleMailbox<>(new MailboxPath("#private", "user", "name"), uidValidity), cassandra.getConf(), maxRetry);
+ new CassandraACLMapper(new SimpleMailbox(new MailboxPath("#private", "user", "name"), uidValidity), cassandra.getConf(), maxRetry);
}
@Test
public void retrieveACLWhenPresentInBaseShouldReturnCorrespondingACL() throws Exception {
cassandra.getConf().execute(
insertInto(CassandraACLTable.TABLE_NAME)
- .value(CassandraACLTable.ID, mailbox.getMailboxId().asUuid())
+ .value(CassandraACLTable.ID, ((CassandraId) mailbox.getMailboxId()).asUuid())
.value(CassandraACLTable.ACL, "{\"entries\":{\"bob\":64}}")
.value(CassandraACLTable.VERSION, 1)
);
@@ -107,7 +107,7 @@ public class CassandraACLMapperTest {
public void retrieveACLWhenInvalidInBaseShouldReturnEmptyACL() throws Exception {
cassandra.getConf().execute(
insertInto(CassandraACLTable.TABLE_NAME)
- .value(CassandraACLTable.ID, mailbox.getMailboxId().asUuid())
+ .value(CassandraACLTable.ID, ((CassandraId) mailbox.getMailboxId()).asUuid())
.value(CassandraACLTable.ACL, "{\"entries\":{\"bob\":invalid}}")
.value(CassandraACLTable.VERSION, 1)
);
@@ -167,7 +167,7 @@ public class CassandraACLMapperTest {
public void updateInvalidACLShouldBeBasedOnEmptyACL() throws Exception {
cassandra.getConf().execute(
insertInto(CassandraACLTable.TABLE_NAME)
- .value(CassandraACLTable.ID, mailbox.getMailboxId().asUuid())
+ .value(CassandraACLTable.ID, ((CassandraId) mailbox.getMailboxId()).asUuid())
.value(CassandraACLTable.ACL, "{\"entries\":{\"bob\":invalid}}")
.value(CassandraACLTable.VERSION, 1)
);
http://git-wip-us.apache.org/repos/asf/james-project/blob/7015d946/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 1106de4..a6b1291 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
@@ -18,10 +18,9 @@
****************************************************************/
package org.apache.james.mailbox.cassandra.mail;
-import org.apache.james.mailbox.cassandra.CassandraId;
import org.apache.james.mailbox.store.mail.model.AbstractMailboxMapperTest;
-public class CassandraMailboxMapperTest extends AbstractMailboxMapperTest<CassandraId> {
+public class CassandraMailboxMapperTest extends AbstractMailboxMapperTest {
public CassandraMailboxMapperTest() {
super(new CassandraMapperProvider());
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/7015d946/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMessageMapperTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMessageMapperTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMessageMapperTest.java
index 4dafcba..a656d28 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMessageMapperTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMessageMapperTest.java
@@ -18,10 +18,9 @@
****************************************************************/
package org.apache.james.mailbox.cassandra.mail;
-import org.apache.james.mailbox.cassandra.CassandraId;
import org.apache.james.mailbox.store.mail.model.AbstractMessageMapperTest;
-public class CassandraMailboxMessageMapperTest extends AbstractMessageMapperTest<CassandraId> {
+public class CassandraMailboxMessageMapperTest extends AbstractMessageMapperTest {
public CassandraMailboxMessageMapperTest() {
super(new CassandraMapperProvider());
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/7015d946/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMapperProvider.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMapperProvider.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMapperProvider.java
index bc21830..6201a9e 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMapperProvider.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMapperProvider.java
@@ -16,7 +16,7 @@ import org.apache.james.mailbox.store.mail.MailboxMapper;
import org.apache.james.mailbox.store.mail.MessageMapper;
import org.apache.james.mailbox.store.mail.model.MapperProvider;
-public class CassandraMapperProvider implements MapperProvider<CassandraId> {
+public class CassandraMapperProvider implements MapperProvider {
private static final CassandraCluster cassandra = CassandraCluster.create(new CassandraModuleComposite(
new CassandraAclModule(),
@@ -27,7 +27,7 @@ public class CassandraMapperProvider implements MapperProvider<CassandraId> {
new CassandraUidModule()));
@Override
- public MailboxMapper<CassandraId> createMailboxMapper() throws MailboxException {
+ public MailboxMapper createMailboxMapper() throws MailboxException {
return new CassandraMailboxSessionMapperFactory(
new CassandraUidProvider(cassandra.getConf()),
new CassandraModSeqProvider(cassandra.getConf()),
@@ -37,7 +37,7 @@ public class CassandraMapperProvider implements MapperProvider<CassandraId> {
}
@Override
- public MessageMapper<CassandraId> createMessageMapper() throws MailboxException {
+ public MessageMapper createMessageMapper() throws MailboxException {
return new CassandraMailboxSessionMapperFactory(
new CassandraUidProvider(cassandra.getConf()),
new CassandraModSeqProvider(cassandra.getConf()),
http://git-wip-us.apache.org/repos/asf/james-project/blob/7015d946/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 51bc8c3..fbf7804 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
@@ -19,10 +19,9 @@
package org.apache.james.mailbox.cassandra.mail;
-import org.apache.james.mailbox.cassandra.CassandraId;
import org.apache.james.mailbox.store.mail.model.AbstractMessageMoveTest;
-public class CassandraMessageMoveTest extends AbstractMessageMoveTest<CassandraId> {
+public class CassandraMessageMoveTest extends AbstractMessageMoveTest {
public CassandraMessageMoveTest() {
super(new CassandraMapperProvider());
http://git-wip-us.apache.org/repos/asf/james-project/blob/7015d946/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 f0d116a..4143cbc 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
@@ -25,7 +25,6 @@ import java.util.stream.LongStream;
import org.apache.james.backends.cassandra.CassandraCluster;
import org.apache.james.backends.cassandra.init.CassandraModuleComposite;
-import org.apache.james.mailbox.cassandra.CassandraId;
import org.apache.james.mailbox.cassandra.modules.CassandraAclModule;
import org.apache.james.mailbox.cassandra.modules.CassandraMailboxModule;
import org.apache.james.mailbox.cassandra.modules.CassandraModSeqModule;
@@ -48,7 +47,7 @@ public class CassandraModSeqProviderTest {
private CassandraModSeqProvider modSeqProvider;
private CassandraMailboxMapper mapper;
- private SimpleMailbox<CassandraId> mailbox;
+ private SimpleMailbox mailbox;
@Before
public void setUpClass() throws Exception {
@@ -56,7 +55,7 @@ public class CassandraModSeqProviderTest {
modSeqProvider = new CassandraModSeqProvider(CASSANDRA.getConf());
mapper = new CassandraMailboxMapper(CASSANDRA.getConf(), CASSANDRA.getTypesProvider(), MAX_RETRY);
MailboxPath path = new MailboxPath("gsoc", "ieugen", "Trash");
- mailbox = new SimpleMailbox<>(path, 1234);
+ mailbox = new SimpleMailbox(path, 1234);
mapper.save(mailbox);
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/7015d946/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 8b2bc24..568db73 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
@@ -25,7 +25,6 @@ import java.util.stream.LongStream;
import org.apache.james.backends.cassandra.CassandraCluster;
import org.apache.james.backends.cassandra.init.CassandraModuleComposite;
-import org.apache.james.mailbox.cassandra.CassandraId;
import org.apache.james.mailbox.cassandra.modules.CassandraAclModule;
import org.apache.james.mailbox.cassandra.modules.CassandraMailboxModule;
import org.apache.james.mailbox.cassandra.modules.CassandraUidModule;
@@ -48,7 +47,7 @@ public class CassandraUidProviderTest {
private CassandraUidProvider uidProvider;
private CassandraMailboxMapper mapper;
- private SimpleMailbox<CassandraId> mailbox;
+ private SimpleMailbox mailbox;
@Before
public void setUpClass() throws Exception {
@@ -56,7 +55,7 @@ public class CassandraUidProviderTest {
uidProvider = new CassandraUidProvider(CASSANDRA.getConf());
mapper = new CassandraMailboxMapper(CASSANDRA.getConf(), CASSANDRA.getTypesProvider(), MAX_RETRY);
MailboxPath path = new MailboxPath("gsoc", "ieugen", "Trash");
- mailbox = new SimpleMailbox<>(path, 1234);
+ mailbox = new SimpleMailbox(path, 1234);
mapper.save(mailbox);
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/7015d946/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndex.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndex.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndex.java
index 4e1ddec..ef053b5 100644
--- a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndex.java
+++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndex.java
@@ -36,7 +36,6 @@ import org.apache.james.mailbox.model.SearchQuery;
import org.apache.james.mailbox.model.UpdatedFlags;
import org.apache.james.mailbox.store.mail.MessageMapperFactory;
import org.apache.james.mailbox.store.mail.model.Mailbox;
-import org.apache.james.mailbox.store.mail.model.MailboxId;
import org.apache.james.mailbox.store.mail.model.MailboxMessage;
import org.apache.james.mailbox.store.search.ListeningMessageSearchIndex;
import org.slf4j.Logger;
@@ -44,18 +43,18 @@ import org.slf4j.LoggerFactory;
import com.fasterxml.jackson.core.JsonProcessingException;
-public class ElasticSearchListeningMessageSearchIndex<Id extends MailboxId> extends ListeningMessageSearchIndex<Id> {
+public class ElasticSearchListeningMessageSearchIndex extends ListeningMessageSearchIndex {
private final static Logger LOGGER = LoggerFactory.getLogger(ElasticSearchListeningMessageSearchIndex.class);
private final static String ID_SEPARATOR = ":";
private final ElasticSearchIndexer indexer;
- private final ElasticSearchSearcher<Id> searcher;
+ private final ElasticSearchSearcher searcher;
private final MessageToElasticSearchJson messageToElasticSearchJson;
@Inject
- public ElasticSearchListeningMessageSearchIndex(MessageMapperFactory<Id> factory, ElasticSearchIndexer indexer,
- ElasticSearchSearcher<Id> searcher, MessageToElasticSearchJson messageToElasticSearchJson) {
+ public ElasticSearchListeningMessageSearchIndex(MessageMapperFactory factory, ElasticSearchIndexer indexer,
+ ElasticSearchSearcher searcher, MessageToElasticSearchJson messageToElasticSearchJson) {
super(factory);
this.indexer = indexer;
this.messageToElasticSearchJson = messageToElasticSearchJson;
@@ -68,12 +67,12 @@ public class ElasticSearchListeningMessageSearchIndex<Id extends MailboxId> exte
}
@Override
- public Iterator<Long> search(MailboxSession session, Mailbox<Id> mailbox, SearchQuery searchQuery) throws MailboxException {
+ public Iterator<Long> search(MailboxSession session, Mailbox mailbox, SearchQuery searchQuery) throws MailboxException {
return searcher.search(mailbox, searchQuery);
}
@Override
- public void add(MailboxSession session, Mailbox<Id> mailbox, MailboxMessage<Id> message) throws MailboxException {
+ public void add(MailboxSession session, Mailbox mailbox, MailboxMessage message) throws MailboxException {
try {
indexer.indexMessage(indexIdFor(mailbox, message.getUid()), messageToElasticSearchJson.convertToJson(message));
} catch (Exception e) {
@@ -82,7 +81,7 @@ public class ElasticSearchListeningMessageSearchIndex<Id extends MailboxId> exte
}
@Override
- public void delete(MailboxSession session, Mailbox<Id> mailbox, List<Long> expungedUids) throws MailboxException {
+ public void delete(MailboxSession session, Mailbox mailbox, List<Long> expungedUids) throws MailboxException {
try {
indexer.deleteMessages(expungedUids.stream()
.map(uid -> indexIdFor(mailbox, uid))
@@ -93,7 +92,7 @@ public class ElasticSearchListeningMessageSearchIndex<Id extends MailboxId> exte
}
@Override
- public void deleteAll(MailboxSession session, Mailbox<Id> mailbox) throws MailboxException {
+ public void deleteAll(MailboxSession session, Mailbox mailbox) throws MailboxException {
try {
indexer.deleteAllMatchingQuery(
termQuery(
@@ -105,7 +104,7 @@ public class ElasticSearchListeningMessageSearchIndex<Id extends MailboxId> exte
}
@Override
- public void update(MailboxSession session, Mailbox<Id> mailbox, List<UpdatedFlags> updatedFlagsList) throws MailboxException {
+ public void update(MailboxSession session, Mailbox mailbox, List<UpdatedFlags> updatedFlagsList) throws MailboxException {
try {
indexer.updateMessages(updatedFlagsList.stream()
.map(updatedFlags -> createUpdatedDocumentPartFromUpdatedFlags(mailbox, updatedFlags))
@@ -115,7 +114,7 @@ public class ElasticSearchListeningMessageSearchIndex<Id extends MailboxId> exte
}
}
- private ElasticSearchIndexer.UpdatedRepresentation createUpdatedDocumentPartFromUpdatedFlags(Mailbox<Id> mailbox, UpdatedFlags updatedFlags) {
+ private ElasticSearchIndexer.UpdatedRepresentation createUpdatedDocumentPartFromUpdatedFlags(Mailbox mailbox, UpdatedFlags updatedFlags) {
try {
return new ElasticSearchIndexer.UpdatedRepresentation(
indexIdFor(mailbox, updatedFlags.getUid()),
@@ -127,7 +126,7 @@ public class ElasticSearchListeningMessageSearchIndex<Id extends MailboxId> exte
}
}
- private String indexIdFor(Mailbox<Id> mailbox, long messageId) {
+ private String indexIdFor(Mailbox mailbox, long messageId) {
return String.join(ID_SEPARATOR, mailbox.getMailboxId().serialize(), String.valueOf(messageId));
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/7015d946/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessage.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessage.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessage.java
index db8fc15..9174dcd 100644
--- a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessage.java
+++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessage.java
@@ -19,30 +19,29 @@
package org.apache.james.mailbox.elasticsearch.json;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.google.common.base.Preconditions;
-import com.google.common.base.Throwables;
-import com.google.common.collect.Multimap;
-import org.apache.james.mailbox.elasticsearch.query.DateResolutionFormater;
-import org.apache.james.mailbox.store.extractor.TextExtractor;
-import org.apache.james.mailbox.store.mail.model.MailboxId;
-import org.apache.james.mailbox.store.mail.model.MailboxMessage;
-import org.apache.james.mailbox.store.mail.model.Property;
-import org.apache.james.mime4j.MimeException;
-
import java.io.IOException;
import java.time.Instant;
import java.time.ZoneId;
import java.time.ZonedDateTime;
-
import java.util.List;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
+import org.apache.james.mailbox.elasticsearch.query.DateResolutionFormater;
+import org.apache.james.mailbox.store.extractor.TextExtractor;
+import org.apache.james.mailbox.store.mail.model.MailboxMessage;
+import org.apache.james.mailbox.store.mail.model.Property;
+import org.apache.james.mime4j.MimeException;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.google.common.base.Preconditions;
+import com.google.common.base.Throwables;
+import com.google.common.collect.Multimap;
+
public class IndexableMessage {
- public static IndexableMessage from(MailboxMessage<? extends MailboxId> message, TextExtractor textExtractor, ZoneId zoneId) {
+ public static IndexableMessage from(MailboxMessage message, TextExtractor textExtractor, ZoneId zoneId) {
Preconditions.checkNotNull(message.getMailboxId());
IndexableMessage indexableMessage = new IndexableMessage();
try {
@@ -73,7 +72,7 @@ public class IndexableMessage {
this.sentDate = DateResolutionFormater.DATE_TIME_FOMATTER.format(headerCollection.getSentDate().orElse(internalDate));
}
- private void copyMessageFields(MailboxMessage<? extends MailboxId> message, ZoneId zoneId) {
+ private void copyMessageFields(MailboxMessage message, ZoneId zoneId) {
this.id = message.getUid();
this.mailboxId = message.getMailboxId().serialize();
this.modSeq = message.getModSeq();
@@ -91,7 +90,7 @@ public class IndexableMessage {
this.properties = message.getProperties();
}
- private static ZonedDateTime getSanitizedInternalDate(MailboxMessage<? extends MailboxId> message, ZoneId zoneId) {
+ private static ZonedDateTime getSanitizedInternalDate(MailboxMessage message, ZoneId zoneId) {
if (message.getInternalDate() == null) {
return ZonedDateTime.now();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/7015d946/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/MessageToElasticSearchJson.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/MessageToElasticSearchJson.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/MessageToElasticSearchJson.java
index ce44ee2..01f8a00 100644
--- a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/MessageToElasticSearchJson.java
+++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/MessageToElasticSearchJson.java
@@ -19,18 +19,19 @@
package org.apache.james.mailbox.elasticsearch.json;
+import java.time.ZoneId;
+
import javax.inject.Inject;
import javax.mail.Flags;
-import java.time.ZoneId;
+import org.apache.james.mailbox.store.extractor.TextExtractor;
+import org.apache.james.mailbox.store.mail.model.MailboxMessage;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.datatype.guava.GuavaModule;
import com.fasterxml.jackson.datatype.jdk8.Jdk8Module;
import com.google.common.base.Preconditions;
-import org.apache.james.mailbox.store.extractor.TextExtractor;
-import org.apache.james.mailbox.store.mail.model.MailboxMessage;
public class MessageToElasticSearchJson {
@@ -51,7 +52,7 @@ public class MessageToElasticSearchJson {
this(textExtractor, ZoneId.systemDefault());
}
- public String convertToJson(MailboxMessage<?> message) throws JsonProcessingException {
+ public String convertToJson(MailboxMessage message) throws JsonProcessingException {
Preconditions.checkNotNull(message);
return mapper.writeValueAsString(IndexableMessage.from(message, textExtractor, zoneId));
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/7015d946/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/search/ElasticSearchSearcher.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/search/ElasticSearchSearcher.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/search/ElasticSearchSearcher.java
index 39e74c2..1042ec8 100644
--- a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/search/ElasticSearchSearcher.java
+++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/search/ElasticSearchSearcher.java
@@ -33,7 +33,6 @@ import org.apache.james.mailbox.elasticsearch.query.SortConverter;
import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.model.SearchQuery;
import org.apache.james.mailbox.store.mail.model.Mailbox;
-import org.apache.james.mailbox.store.mail.model.MailboxId;
import org.elasticsearch.action.search.SearchRequestBuilder;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.client.Client;
@@ -42,7 +41,7 @@ import org.elasticsearch.search.SearchHit;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-public class ElasticSearchSearcher<Id extends MailboxId> {
+public class ElasticSearchSearcher {
private static final Logger LOGGER = LoggerFactory.getLogger(ElasticSearchSearcher.class);
private static final TimeValue TIMEOUT = new TimeValue(60000);
@@ -63,13 +62,13 @@ public class ElasticSearchSearcher<Id extends MailboxId> {
this.size = size;
}
- public Iterator<Long> search(Mailbox<Id> mailbox, SearchQuery searchQuery) throws MailboxException {
+ public Iterator<Long> search(Mailbox mailbox, SearchQuery searchQuery) throws MailboxException {
return new ScrollIterable(client, getSearchRequestBuilder(client, mailbox, searchQuery)).stream()
.flatMap(this::transformResponseToUidStream)
.iterator();
}
- private SearchRequestBuilder getSearchRequestBuilder(Client client, Mailbox<Id> mailbox, SearchQuery searchQuery) {
+ private SearchRequestBuilder getSearchRequestBuilder(Client client, Mailbox mailbox, SearchQuery searchQuery) {
return searchQuery.getSorts()
.stream()
.reduce(
http://git-wip-us.apache.org/repos/asf/james-project/blob/7015d946/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIntegrationTest.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIntegrationTest.java b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIntegrationTest.java
index 90f9844..bc82a95 100644
--- a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIntegrationTest.java
+++ b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIntegrationTest.java
@@ -32,14 +32,12 @@ import org.apache.james.mailbox.acl.SimpleGroupMembershipResolver;
import org.apache.james.mailbox.acl.UnionMailboxACLResolver;
import org.apache.james.mailbox.elasticsearch.events.ElasticSearchListeningMessageSearchIndex;
import org.apache.james.mailbox.elasticsearch.json.MessageToElasticSearchJson;
-import org.apache.james.mailbox.inmemory.InMemoryMailboxManager;
-import org.apache.james.mailbox.store.extractor.DefaultTextExtractor;
import org.apache.james.mailbox.elasticsearch.query.CriterionConverter;
import org.apache.james.mailbox.elasticsearch.query.QueryConverter;
import org.apache.james.mailbox.elasticsearch.search.ElasticSearchSearcher;
import org.apache.james.mailbox.elasticsearch.utils.TestingClientProvider;
import org.apache.james.mailbox.exception.MailboxException;
-import org.apache.james.mailbox.inmemory.InMemoryId;
+import org.apache.james.mailbox.inmemory.InMemoryMailboxManager;
import org.apache.james.mailbox.inmemory.InMemoryMailboxSessionMapperFactory;
import org.apache.james.mailbox.model.MailboxPath;
import org.apache.james.mailbox.model.SearchQuery;
@@ -48,6 +46,7 @@ import org.apache.james.mailbox.store.MailboxSessionMapperFactory;
import org.apache.james.mailbox.store.MockAuthenticator;
import org.apache.james.mailbox.store.StoreMailboxManager;
import org.apache.james.mailbox.store.StoreMessageManager;
+import org.apache.james.mailbox.store.extractor.DefaultTextExtractor;
import org.apache.james.mailbox.store.mail.model.Mailbox;
import org.elasticsearch.client.Client;
import org.junit.Before;
@@ -73,20 +72,19 @@ public class ElasticSearchIntegrationTest {
public RuleChain ruleChain = RuleChain.outerRule(temporaryFolder).around(embeddedElasticSearch);
- private StoreMailboxManager<InMemoryId> storeMailboxManager;
- private ElasticSearchListeningMessageSearchIndex<InMemoryId> elasticSearchListeningMessageSearchIndex;
- private Mailbox<InMemoryId> mailbox;
+ private StoreMailboxManager storeMailboxManager;
+ private ElasticSearchListeningMessageSearchIndex elasticSearchListeningMessageSearchIndex;
+ private Mailbox mailbox;
private MailboxSession session;
@Before
- @SuppressWarnings("unchecked")
public void setUp() throws Exception {
initializeMailboxManager();
session = storeMailboxManager.createSystemSession("benwa", LOGGER);
storeMailboxManager.createMailbox(new MailboxPath("#private", "benwa", "INBOX"), session);
- StoreMessageManager<InMemoryId> messageManager = (StoreMessageManager<InMemoryId>) storeMailboxManager.getMailbox(new MailboxPath("#private", "benwa", "INBOX"), session);
+ StoreMessageManager messageManager = (StoreMessageManager) storeMailboxManager.getMailbox(new MailboxPath("#private", "benwa", "INBOX"), session);
mailbox = messageManager.getMailboxEntity();
// sentDate: Wed, 3 Jun 2015 09:05:46 +0000
@@ -169,10 +167,10 @@ public class ElasticSearchIntegrationTest {
Client client = NodeMappingFactory.applyMapping(
IndexCreationFactory.createIndex(new TestingClientProvider(embeddedElasticSearch.getNode()).get())
);
- MailboxSessionMapperFactory<InMemoryId> mapperFactory = new InMemoryMailboxSessionMapperFactory();
- elasticSearchListeningMessageSearchIndex = new ElasticSearchListeningMessageSearchIndex<>(mapperFactory,
+ MailboxSessionMapperFactory mapperFactory = new InMemoryMailboxSessionMapperFactory();
+ elasticSearchListeningMessageSearchIndex = new ElasticSearchListeningMessageSearchIndex(mapperFactory,
new ElasticSearchIndexer(client, new DeleteByQueryPerformer(client, Executors.newSingleThreadExecutor(), BATCH_SIZE)),
- new ElasticSearchSearcher<>(client, new QueryConverter(new CriterionConverter()), SEARCH_SIZE),
+ new ElasticSearchSearcher(client, new QueryConverter(new CriterionConverter()), SEARCH_SIZE),
new MessageToElasticSearchJson(new DefaultTextExtractor(), ZoneId.of("Europe/Paris")));
storeMailboxManager = new InMemoryMailboxManager(
mapperFactory,
http://git-wip-us.apache.org/repos/asf/james-project/blob/7015d946/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMailboxMessageSearchIndexTest.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMailboxMessageSearchIndexTest.java b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMailboxMessageSearchIndexTest.java
index 64bb04c..0039eb9 100644
--- a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMailboxMessageSearchIndexTest.java
+++ b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMailboxMessageSearchIndexTest.java
@@ -58,35 +58,33 @@ public class ElasticSearchListeningMailboxMessageSearchIndexTest {
private IMocksControl control;
private ElasticSearchIndexer indexer;
- private ElasticSearchListeningMessageSearchIndex<TestId> testee;
+ private ElasticSearchListeningMessageSearchIndex testee;
@Before
- @SuppressWarnings("unchecked")
public void setup() throws JsonProcessingException {
control = createControl();
- MessageMapperFactory<TestId> mapperFactory = control.createMock(MessageMapperFactory.class);
+ MessageMapperFactory mapperFactory = control.createMock(MessageMapperFactory.class);
MessageToElasticSearchJson messageToElasticSearchJson = control.createMock(MessageToElasticSearchJson.class);
- ElasticSearchSearcher<TestId> elasticSearchSearcher = control.createMock(ElasticSearchSearcher.class);
+ ElasticSearchSearcher elasticSearchSearcher = control.createMock(ElasticSearchSearcher.class);
indexer = control.createMock(ElasticSearchIndexer.class);
expect(messageToElasticSearchJson.convertToJson(anyObject(MailboxMessage.class))).andReturn("json content").anyTimes();
expect(messageToElasticSearchJson.getUpdatedJsonMessagePart(anyObject(Flags.class), anyLong())).andReturn("json updated content").anyTimes();
- testee = new ElasticSearchListeningMessageSearchIndex<>(mapperFactory, indexer, elasticSearchSearcher, messageToElasticSearchJson);
+ testee = new ElasticSearchListeningMessageSearchIndex(mapperFactory, indexer, elasticSearchSearcher, messageToElasticSearchJson);
}
@Test
- @SuppressWarnings("unchecked")
public void addShouldIndex() throws Exception {
MailboxSession session = control.createMock(MailboxSession.class);
- Mailbox<TestId> mailbox = control.createMock(Mailbox.class);
+ Mailbox mailbox = control.createMock(Mailbox.class);
long messageId = 1;
TestId mailboxId = TestId.of(12);
expect(mailbox.getMailboxId()).andReturn(mailboxId);
- MailboxMessage<TestId> message = mockedMessage(messageId);
+ MailboxMessage message = mockedMessage(messageId);
IndexResponse expectedIndexResponse = control.createMock(IndexResponse.class);
expect(indexer.indexMessage(eq(mailboxId.serialize() + ":" + messageId), anyString()))
@@ -97,22 +95,20 @@ public class ElasticSearchListeningMailboxMessageSearchIndexTest {
control.verify();
}
- @SuppressWarnings("unchecked")
- private MailboxMessage<TestId> mockedMessage(long messageId) throws IOException {
- MailboxMessage<TestId> message = control.createMock(MailboxMessage.class);
+ private MailboxMessage mockedMessage(long messageId) throws IOException {
+ MailboxMessage message = control.createMock(MailboxMessage.class);
expect(message.getUid()).andReturn(messageId).anyTimes();
return message;
}
@Test
- @SuppressWarnings("unchecked")
public void addShouldNotPropagateExceptionWhenExceptionOccurs() throws Exception {
MailboxSession session = control.createMock(MailboxSession.class);
- Mailbox<TestId> mailbox = control.createMock(Mailbox.class);
+ Mailbox mailbox = control.createMock(Mailbox.class);
long messageId = 1;
TestId mailboxId = TestId.of(12);
- MailboxMessage<TestId> message = mockedMessage(messageId);
+ MailboxMessage message = mockedMessage(messageId);
expect(mailbox.getMailboxId()).andReturn(mailboxId);
expect(indexer.indexMessage(eq(mailboxId.serialize() + ":" + messageId), anyString()))
@@ -127,7 +123,7 @@ public class ElasticSearchListeningMailboxMessageSearchIndexTest {
@SuppressWarnings("unchecked")
public void deleteShouldWork() throws Exception {
MailboxSession session = control.createMock(MailboxSession.class);
- Mailbox<TestId> mailbox = control.createMock(Mailbox.class);
+ Mailbox mailbox = control.createMock(Mailbox.class);
long messageId = 1;
TestId mailboxId = TestId.of(12);
expect(mailbox.getMailboxId()).andReturn(mailboxId);
@@ -145,7 +141,7 @@ public class ElasticSearchListeningMailboxMessageSearchIndexTest {
@SuppressWarnings("unchecked")
public void deleteShouldWorkWhenMultipleMessageIds() throws Exception {
MailboxSession session = control.createMock(MailboxSession.class);
- Mailbox<TestId> mailbox = control.createMock(Mailbox.class);
+ Mailbox mailbox = control.createMock(Mailbox.class);
long messageId1 = 1;
long messageId2 = 2;
long messageId3 = 3;
@@ -167,7 +163,7 @@ public class ElasticSearchListeningMailboxMessageSearchIndexTest {
@SuppressWarnings("unchecked")
public void deleteShouldNotPropagateExceptionWhenExceptionOccurs() throws Exception {
MailboxSession session = control.createMock(MailboxSession.class);
- Mailbox<TestId> mailbox = control.createMock(Mailbox.class);
+ Mailbox mailbox = control.createMock(Mailbox.class);
long messageId = 1;
TestId mailboxId = TestId.of(12);
expect(mailbox.getMailboxId()).andReturn(mailboxId).times(2);
@@ -185,7 +181,7 @@ public class ElasticSearchListeningMailboxMessageSearchIndexTest {
public void updateShouldWork() throws Exception {
MailboxSession session = control.createMock(MailboxSession.class);
- Mailbox<TestId> mailbox = control.createMock(Mailbox.class);
+ Mailbox mailbox = control.createMock(Mailbox.class);
Flags flags = new Flags();
long messageId = 1;
@@ -209,7 +205,7 @@ public class ElasticSearchListeningMailboxMessageSearchIndexTest {
public void updateShouldNotPropagateExceptionWhenExceptionOccurs() throws Exception {
MailboxSession session = control.createMock(MailboxSession.class);
- Mailbox<TestId> mailbox = control.createMock(Mailbox.class);
+ Mailbox mailbox = control.createMock(Mailbox.class);
Flags flags = new Flags();
long messageId = 1;
UpdatedFlags updatedFlags = new UpdatedFlags(messageId, MODSEQ, flags, flags);
@@ -227,11 +223,10 @@ public class ElasticSearchListeningMailboxMessageSearchIndexTest {
}
@Test
- @SuppressWarnings("unchecked")
public void deleteAllShouldWork() throws Exception {
MailboxSession session = control.createMock(MailboxSession.class);
- Mailbox<TestId> mailbox = control.createMock(Mailbox.class);
+ Mailbox mailbox = control.createMock(Mailbox.class);
TestId mailboxId = TestId.of(12);
@@ -247,11 +242,10 @@ public class ElasticSearchListeningMailboxMessageSearchIndexTest {
}
@Test
- @SuppressWarnings("unchecked")
public void deleteAllShouldNotPropagateExceptionWhenExceptionOccurs() throws Exception {
MailboxSession session = control.createMock(MailboxSession.class);
- Mailbox<TestId> mailbox = control.createMock(Mailbox.class);
+ Mailbox mailbox = control.createMock(Mailbox.class);
TestId mailboxId = TestId.of(12);
expectLastCall();
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
|