You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by rc...@apache.org on 2020/12/11 10:44:12 UTC
[james-project] 08/15: [REFACTORING] Use default methods in Mapper
interface
This is an automated email from the ASF dual-hosted git repository.
rcordier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 81b8cc9114a440bc5ade47669f8ca69e5a63b48c
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Sun Dec 6 21:35:47 2020 +0700
[REFACTORING] Use default methods in Mapper interface
Add a reactive transaction handling in the API
---
.../mailbox/cassandra/mail/CassandraAnnotationMapper.java | 4 ----
.../mailbox/cassandra/mail/CassandraAttachmentMapper.java | 9 ---------
.../mailbox/cassandra/mail/CassandraMailboxMapper.java | 11 -----------
.../mailbox/cassandra/mail/CassandraMessageMapper.java | 10 ----------
.../cassandra/user/CassandraSubscriptionMapper.java | 6 ------
.../mailbox/jpa/mail/TransactionalAnnotationMapper.java | 11 -----------
.../mailbox/jpa/mail/TransactionalMailboxMapper.java | 11 -----------
.../mailbox/jpa/mail/TransactionalMessageMapper.java | 11 -----------
.../james/mailbox/maildir/mail/MaildirMailboxMapper.java | 5 -----
.../james/mailbox/maildir/mail/MaildirMessageMapper.java | 6 ------
.../mailbox/maildir/user/MaildirSubscriptionMapper.java | 6 ------
.../mailbox/inmemory/mail/InMemoryAnnotationMapper.java | 11 -----------
.../mailbox/inmemory/mail/InMemoryAttachmentMapper.java | 10 ----------
.../mailbox/inmemory/mail/InMemoryMailboxMapper.java | 11 -----------
.../mailbox/inmemory/mail/InMemoryMessageMapper.java | 5 -----
.../mailbox/inmemory/mail/InMemoryModSeqProvider.java | 1 -
.../mailbox/inmemory/user/InMemorySubscriptionMapper.java | 6 ------
.../apache/james/mailbox/store/transaction/Mapper.java | 14 ++++++++++++--
.../mailbox/store/transaction/NonTransactionalMapper.java | 7 -------
.../mailbox/store/transaction/TransactionalMapper.java | 2 +-
.../store/StoreMailboxMessageResultIteratorTest.java | 15 +--------------
21 files changed, 14 insertions(+), 158 deletions(-)
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraAnnotationMapper.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraAnnotationMapper.java
index 7a96dd7..c9c0ee7 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraAnnotationMapper.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraAnnotationMapper.java
@@ -170,8 +170,4 @@ public class CassandraAnnotationMapper extends NonTransactionalMapper implements
.map(this::toAnnotation)
.filter(annotation -> key.isParentOrIsEqual(annotation.getKey()));
}
-
- @Override
- public void endRequest() {
- }
}
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraAttachmentMapper.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraAttachmentMapper.java
index bc2cb99..ce98ec0 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraAttachmentMapper.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraAttachmentMapper.java
@@ -69,15 +69,6 @@ public class CassandraAttachmentMapper implements AttachmentMapper {
}
@Override
- public void endRequest() {
- }
-
- @Override
- public <T> T execute(Transaction<T> transaction) throws MailboxException {
- return transaction.run();
- }
-
- @Override
public AttachmentMetadata getAttachment(AttachmentId attachmentId) throws AttachmentNotFoundException {
Preconditions.checkArgument(attachmentId != null);
return getAttachmentInternal(attachmentId)
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapper.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapper.java
index 6032ef1..f4dbd1d 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapper.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapper.java
@@ -32,7 +32,6 @@ import org.apache.james.core.Username;
import org.apache.james.mailbox.acl.ACLDiff;
import org.apache.james.mailbox.cassandra.ids.CassandraId;
import org.apache.james.mailbox.cassandra.mail.task.SolveMailboxInconsistenciesService;
-import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.exception.MailboxExistsException;
import org.apache.james.mailbox.exception.MailboxNotFoundException;
import org.apache.james.mailbox.model.Mailbox;
@@ -329,11 +328,6 @@ public class CassandraMailboxMapper implements MailboxMapper {
}
@Override
- public <T> T execute(Transaction<T> transaction) throws MailboxException {
- return transaction.run();
- }
-
- @Override
public Mono<ACLDiff> updateACL(Mailbox mailbox, MailboxACL.ACLCommand mailboxACLCommand) {
CassandraId cassandraId = (CassandraId) mailbox.getMailboxId();
return cassandraACLMapper.updateACL(cassandraId, mailboxACLCommand);
@@ -345,11 +339,6 @@ public class CassandraMailboxMapper implements MailboxMapper {
return cassandraACLMapper.setACL(cassandraId, mailboxACL);
}
- @Override
- public void endRequest() {
- // Do nothing
- }
-
private Mono<Mailbox> toMailboxWithAcl(Mailbox mailbox) {
CassandraId cassandraId = (CassandraId) mailbox.getMailboxId();
return retrieveAcl(cassandraId)
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 1c9c587..ffc0f36 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
@@ -294,11 +294,6 @@ public class CassandraMessageMapper implements MessageMapper {
}
@Override
- public void endRequest() {
- // Do nothing
- }
-
- @Override
public ModSeq getHighestModSeq(Mailbox mailbox) throws MailboxException {
return modSeqProvider.highestModSeq(mailbox);
}
@@ -417,11 +412,6 @@ public class CassandraMessageMapper implements MessageMapper {
}
@Override
- public <T> T execute(Transaction<T> transaction) throws MailboxException {
- return transaction.run();
- }
-
- @Override
public MessageMetaData copy(Mailbox mailbox, MailboxMessage original) throws MailboxException {
original.setFlags(new FlagsBuilder().add(original.createFlags()).add(Flag.RECENT).build());
return setInMailbox(mailbox, original);
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/user/CassandraSubscriptionMapper.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/user/CassandraSubscriptionMapper.java
index df22d6c..800f000 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/user/CassandraSubscriptionMapper.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/user/CassandraSubscriptionMapper.java
@@ -80,10 +80,4 @@ public class CassandraSubscriptionMapper extends NonTransactionalMapper implemen
.map((row) -> new Subscription(Username.of(row.getString(USER)), row.getString(MAILBOX)))
.collect(Collectors.toList());
}
-
- @Override
- public void endRequest() {
- // nothing to do
- }
-
}
diff --git a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalAnnotationMapper.java b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalAnnotationMapper.java
index 4cb9930..7a0ff31 100644
--- a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalAnnotationMapper.java
+++ b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalAnnotationMapper.java
@@ -22,7 +22,6 @@ package org.apache.james.mailbox.jpa.mail;
import java.util.List;
import java.util.Set;
-import org.apache.commons.lang3.NotImplementedException;
import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.model.MailboxAnnotation;
import org.apache.james.mailbox.model.MailboxAnnotationKey;
@@ -38,16 +37,6 @@ public class TransactionalAnnotationMapper implements AnnotationMapper {
}
@Override
- public void endRequest() {
- throw new NotImplementedException("not implemented");
- }
-
- @Override
- public <T> T execute(Transaction<T> transaction) {
- throw new NotImplementedException("not implemented");
- }
-
- @Override
public List<MailboxAnnotation> getAllAnnotations(MailboxId mailboxId) {
return wrapped.getAllAnnotations(mailboxId);
}
diff --git a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalMailboxMapper.java b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalMailboxMapper.java
index 5b6f9b8..d3ebc16 100644
--- a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalMailboxMapper.java
+++ b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalMailboxMapper.java
@@ -19,7 +19,6 @@
package org.apache.james.mailbox.jpa.mail;
-import org.apache.commons.lang3.NotImplementedException;
import org.apache.james.core.Username;
import org.apache.james.mailbox.acl.ACLDiff;
import org.apache.james.mailbox.model.Mailbox;
@@ -42,16 +41,6 @@ public class TransactionalMailboxMapper implements MailboxMapper {
}
@Override
- public void endRequest() {
- throw new NotImplementedException("not implemented");
- }
-
- @Override
- public <T> T execute(Transaction<T> transaction) {
- throw new NotImplementedException("not implemented");
- }
-
- @Override
public Mono<Mailbox> create(MailboxPath mailboxPath, UidValidity uidValidity) {
return wrapped.executeReactive(wrapped.create(mailboxPath, uidValidity));
}
diff --git a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalMessageMapper.java b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalMessageMapper.java
index 1e7d09b..ad7e9e5 100644
--- a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalMessageMapper.java
+++ b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalMessageMapper.java
@@ -26,7 +26,6 @@ import java.util.Optional;
import javax.mail.Flags;
-import org.apache.commons.lang3.NotImplementedException;
import org.apache.james.mailbox.MessageUid;
import org.apache.james.mailbox.ModSeq;
import org.apache.james.mailbox.exception.MailboxException;
@@ -48,11 +47,6 @@ public class TransactionalMessageMapper implements MessageMapper {
public TransactionalMessageMapper(JPAMessageMapper messageMapper) {
this.messageMapper = messageMapper;
}
-
- @Override
- public void endRequest() {
- throw new NotImplementedException("not implemented");
- }
@Override
public MailboxCounters getMailboxCounters(Mailbox mailbox) throws MailboxException {
@@ -69,11 +63,6 @@ public class TransactionalMessageMapper implements MessageMapper {
}
@Override
- public <T> T execute(Transaction<T> transaction) throws MailboxException {
- throw new NotImplementedException("not implemented");
- }
-
- @Override
public Iterator<MailboxMessage> findInMailbox(Mailbox mailbox, MessageRange set, FetchType type, int limit)
throws MailboxException {
return messageMapper.findInMailbox(mailbox, set, type, limit);
diff --git a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMailboxMapper.java b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMailboxMapper.java
index 9e02cf0..edadc5c 100644
--- a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMailboxMapper.java
+++ b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMailboxMapper.java
@@ -280,11 +280,6 @@ public class MaildirMailboxMapper extends NonTransactionalMapper implements Mail
.flatMapIterable(mailboxes -> mailboxes.collect(Guavate.toImmutableList()));
}
- @Override
- public void endRequest() {
-
- }
-
private List<Mailbox> visitUsersForMailboxList(File domain, File[] users) throws MailboxException {
ImmutableList.Builder<Mailbox> mailboxList = ImmutableList.builder();
diff --git a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMessageMapper.java b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMessageMapper.java
index 30ca42f..e670055 100644
--- a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMessageMapper.java
+++ b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMessageMapper.java
@@ -341,12 +341,6 @@ public class MaildirMessageMapper extends AbstractMessageMapper {
.computeApplicableFlags();
}
- @Override
- public void endRequest() {
- // not used
-
- }
-
private List<MailboxMessage> findMessageInMailboxWithUID(Mailbox mailbox, MessageUid from)
throws MailboxException {
MaildirFolder folder = maildirStore.createMaildirFolder(mailbox);
diff --git a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/user/MaildirSubscriptionMapper.java b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/user/MaildirSubscriptionMapper.java
index c36096a..e278eef 100644
--- a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/user/MaildirSubscriptionMapper.java
+++ b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/user/MaildirSubscriptionMapper.java
@@ -91,12 +91,6 @@ public class MaildirSubscriptionMapper extends NonTransactionalMapper implements
}
}
}
-
- @Override
- public void endRequest() {
- // nothing to do
- }
-
/**
* Read the subscriptions for a particular user
diff --git a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryAnnotationMapper.java b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryAnnotationMapper.java
index c4001c8..49ffa77 100644
--- a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryAnnotationMapper.java
+++ b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryAnnotationMapper.java
@@ -26,7 +26,6 @@ import java.util.concurrent.locks.ReentrantReadWriteLock;
import java.util.function.Predicate;
import org.apache.commons.lang3.StringUtils;
-import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.inmemory.InMemoryId;
import org.apache.james.mailbox.model.MailboxAnnotation;
import org.apache.james.mailbox.model.MailboxAnnotationKey;
@@ -46,16 +45,6 @@ public class InMemoryAnnotationMapper implements AnnotationMapper {
mailboxesAnnotations = HashBasedTable.create();
}
- @Override
- public void endRequest() {
-
- }
-
- @Override
- public <T> T execute(Transaction<T> transaction) throws MailboxException {
- return transaction.run();
- }
-
private List<MailboxAnnotation> retrieveAllAnnotations(InMemoryId mailboxId) {
lock.readLock().lock();
try {
diff --git a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryAttachmentMapper.java b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryAttachmentMapper.java
index c5237b9..80e0e83 100644
--- a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryAttachmentMapper.java
+++ b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryAttachmentMapper.java
@@ -111,16 +111,6 @@ public class InMemoryAttachmentMapper implements AttachmentMapper {
}
@Override
- public void endRequest() {
- // Do nothing
- }
-
- @Override
- public <T> T execute(Transaction<T> transaction) throws MailboxException {
- return transaction.run();
- }
-
- @Override
public List<MessageAttachmentMetadata> storeAttachmentsForMessage(Collection<ParsedAttachment> parsedAttachments, MessageId ownerMessageId) throws MailboxException {
return parsedAttachments.stream()
.map(Throwing.<ParsedAttachment, MessageAttachmentMetadata>function(
diff --git a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMailboxMapper.java b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMailboxMapper.java
index 0f76a8f..6bc7180 100644
--- a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMailboxMapper.java
+++ b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMailboxMapper.java
@@ -25,7 +25,6 @@ import java.util.function.Function;
import org.apache.james.core.Username;
import org.apache.james.mailbox.acl.ACLDiff;
-import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.exception.MailboxExistsException;
import org.apache.james.mailbox.exception.MailboxNotFoundException;
import org.apache.james.mailbox.inmemory.InMemoryId;
@@ -114,11 +113,6 @@ public class InMemoryMailboxMapper implements MailboxMapper {
}
@Override
- public void endRequest() {
- // Do nothing
- }
-
- @Override
public Mono<Boolean> hasChildren(Mailbox mailbox, char delimiter) {
String mailboxName = mailbox.getName() + delimiter;
return Mono.fromCallable(mailboxesByPath::values)
@@ -139,11 +133,6 @@ public class InMemoryMailboxMapper implements MailboxMapper {
}
@Override
- public <T> T execute(Transaction<T> transaction) throws MailboxException {
- return transaction.run();
- }
-
- @Override
public Mono<ACLDiff> updateACL(Mailbox mailbox, MailboxACL.ACLCommand mailboxACLCommand) {
return Mono.fromCallable(() -> {
MailboxACL oldACL = mailbox.getACL();
diff --git a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java
index df9b8b2..56760f2 100644
--- a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java
+++ b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java
@@ -181,11 +181,6 @@ public class InMemoryMessageMapper extends AbstractMessageMapper {
}
@Override
- public void endRequest() {
- // Do nothing
- }
-
- @Override
protected MessageMetaData copy(Mailbox mailbox, MessageUid uid, ModSeq modSeq, MailboxMessage original)
throws MailboxException {
SimpleMailboxMessage message = SimpleMailboxMessage.copy(mailbox.getMailboxId(), original);
diff --git a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryModSeqProvider.java b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryModSeqProvider.java
index d4c80a1..390070a 100644
--- a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryModSeqProvider.java
+++ b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryModSeqProvider.java
@@ -35,7 +35,6 @@ public class InMemoryModSeqProvider implements ModSeqProvider {
@Override
public ModSeq nextModSeq(Mailbox mailbox) {
return ModSeq.of(nextModSeq((InMemoryId) mailbox.getMailboxId()));
-
}
@Override
diff --git a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/user/InMemorySubscriptionMapper.java b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/user/InMemorySubscriptionMapper.java
index 663fe71..04691a9 100644
--- a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/user/InMemorySubscriptionMapper.java
+++ b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/user/InMemorySubscriptionMapper.java
@@ -71,10 +71,4 @@ public class InMemorySubscriptionMapper extends NonTransactionalMapper implement
subscriptionsByUser.clear();
}
}
-
- @Override
- public void endRequest() {
- // nothing to do
- }
-
}
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/transaction/Mapper.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/transaction/Mapper.java
index 1560e83..d817a1c 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/transaction/Mapper.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/transaction/Mapper.java
@@ -21,6 +21,8 @@ package org.apache.james.mailbox.store.transaction;
import org.apache.james.mailbox.exception.MailboxException;
+import reactor.core.publisher.Mono;
+
/**
* Mapper which execute units of work in a {@link Transaction}
*/
@@ -29,12 +31,20 @@ public interface Mapper {
/**
* IMAP Request was complete. Cleanup all Request scoped stuff
*/
- void endRequest();
+ default void endRequest() {
+
+ }
/**
* Execute the given Transaction
*/
- <T> T execute(Transaction<T> transaction) throws MailboxException;
+ default <T> T execute(Transaction<T> transaction) throws MailboxException {
+ return transaction.run();
+ }
+
+ default <T> Mono<T> executeReactive(Mono<T> transaction) {
+ return transaction;
+ }
/**
* Unit of work executed in a Transaction
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/transaction/NonTransactionalMapper.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/transaction/NonTransactionalMapper.java
index 7417ce5..8fd8ecf 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/transaction/NonTransactionalMapper.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/transaction/NonTransactionalMapper.java
@@ -18,8 +18,6 @@
****************************************************************/
package org.apache.james.mailbox.store.transaction;
-import org.apache.james.mailbox.exception.MailboxException;
-
/**
* A Mapper which does no transaction handling. It just executes the execute() method
* of the Transaction object without any special handling.
@@ -28,9 +26,4 @@ import org.apache.james.mailbox.exception.MailboxException;
*/
public abstract class NonTransactionalMapper implements Mapper {
- @Override
- public final <T> T execute(Transaction<T> transaction) throws MailboxException {
- return transaction.run();
- }
-
}
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/transaction/TransactionalMapper.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/transaction/TransactionalMapper.java
index 139d8e7..4bc1073 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/transaction/TransactionalMapper.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/transaction/TransactionalMapper.java
@@ -47,7 +47,7 @@ public abstract class TransactionalMapper implements Mapper {
public final <T> Mono<T> executeReactive(Mono<T> transaction) {
return Mono.fromRunnable(Throwing.runnable(this::begin).sneakyThrow())
.then(transaction)
- .doOnNext(Throwing.consumer(ignored -> commit()).sneakyThrow())
+ .doOnSuccess(Throwing.<T>consumer(ignored -> commit()).sneakyThrow())
.doOnError(MailboxException.class, Throwing.consumer(e -> rollback()).sneakyThrow());
}
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxMessageResultIteratorTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxMessageResultIteratorTest.java
index d608338..fc50181 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxMessageResultIteratorTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxMessageResultIteratorTest.java
@@ -68,25 +68,12 @@ class StoreMailboxMessageResultIteratorTest {
}
@Override
- public void endRequest() {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public <T> T execute(Transaction<T> transaction) {
- throw new UnsupportedOperationException();
- }
-
- @Override
public MailboxCounters getMailboxCounters(Mailbox mailbox) {
throw new UnsupportedOperationException();
}
@Override
- public Iterator<MailboxMessage> findInMailbox(Mailbox mailbox, MessageRange set,
- org.apache.james.mailbox.store.mail.MessageMapper.FetchType type, int limit)
- throws MailboxException {
-
+ public Iterator<MailboxMessage> findInMailbox(Mailbox mailbox, MessageRange set, FetchType type, int limit) {
List<MailboxMessage> messages = new ArrayList<>();
for (MessageUid uid: Iterables.limit(set, limit)) {
if (messageRange.includes(uid)) {
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org