You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2020/05/07 02:12:45 UTC
[james-project] 21/22: JAMES-3148 Readability enhencements: method
rename and extraction
This is an automated email from the ASF dual-hosted git repository.
btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 48daa66b16c1e62fd7cb4b2d3fb584dd9fdd787f
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Fri Apr 17 14:43:07 2020 +0700
JAMES-3148 Readability enhencements: method rename and extraction
---
.../mailbox/cassandra/DeleteMessageListener.java | 46 +++++++++++++---------
1 file changed, 27 insertions(+), 19 deletions(-)
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/DeleteMessageListener.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/DeleteMessageListener.java
index ce1a3ce..53b1d2e 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/DeleteMessageListener.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/DeleteMessageListener.java
@@ -123,12 +123,7 @@ public class DeleteMessageListener implements MailboxListener.GroupMailboxListen
if (event instanceof Expunged) {
Expunged expunged = (Expunged) event;
- Flux.fromIterable(expunged.getExpunged()
- .values())
- .map(MessageMetaData::getMessageId)
- .map(CassandraMessageId.class::cast)
- .concatMap(this::handleDeletion)
- .then()
+ handleMessageDeletion(expunged)
.block();
}
if (event instanceof MailboxDeletion) {
@@ -136,28 +131,41 @@ public class DeleteMessageListener implements MailboxListener.GroupMailboxListen
CassandraId mailboxId = (CassandraId) mailboxDeletion.getMailboxId();
- messageIdDAO.retrieveMessages(mailboxId, MessageRange.all())
- .map(ComposedMessageIdWithMetaData::getComposedMessageId)
- .concatMap(metadata -> handleDeletion((CassandraMessageId) metadata.getMessageId(), mailboxId)
- .then(imapUidDAO.delete((CassandraMessageId) metadata.getMessageId(), mailboxId))
- .then(messageIdDAO.delete(mailboxId, metadata.getUid())))
- .then(deleteAcl(mailboxId))
- .then(applicableFlagDAO.delete(mailboxId))
- .then(firstUnseenDAO.removeAll(mailboxId))
- .then(deletedMessageDAO.removeAll(mailboxId))
- .then(counterDAO.delete(mailboxId))
- .then(recentsDAO.delete(mailboxId))
+ handleMailboxDeletion(mailboxId)
.block();
}
}
+ private Mono<Void> handleMailboxDeletion(CassandraId mailboxId) {
+ return messageIdDAO.retrieveMessages(mailboxId, MessageRange.all())
+ .map(ComposedMessageIdWithMetaData::getComposedMessageId)
+ .concatMap(metadata -> handleMessageDeletionAsPartOfMailboxDeletion((CassandraMessageId) metadata.getMessageId(), mailboxId)
+ .then(imapUidDAO.delete((CassandraMessageId) metadata.getMessageId(), mailboxId))
+ .then(messageIdDAO.delete(mailboxId, metadata.getUid())))
+ .then(deleteAcl(mailboxId))
+ .then(applicableFlagDAO.delete(mailboxId))
+ .then(firstUnseenDAO.removeAll(mailboxId))
+ .then(deletedMessageDAO.removeAll(mailboxId))
+ .then(counterDAO.delete(mailboxId))
+ .then(recentsDAO.delete(mailboxId));
+ }
+
+ private Mono<Void> handleMessageDeletion(Expunged expunged) {
+ return Flux.fromIterable(expunged.getExpunged()
+ .values())
+ .map(MessageMetaData::getMessageId)
+ .map(CassandraMessageId.class::cast)
+ .concatMap(this::handleMessageDeletion)
+ .then();
+ }
+
private Mono<Void> deleteAcl(CassandraId mailboxId) {
return aclMapper.getACL(mailboxId)
.flatMap(acl -> rightsDAO.update(mailboxId, ACLDiff.computeDiff(acl, MailboxACL.EMPTY)))
.then(aclMapper.delete(mailboxId));
}
- private Mono<Void> handleDeletion(CassandraMessageId messageId) {
+ private Mono<Void> handleMessageDeletion(CassandraMessageId messageId) {
return Mono.just(messageId)
.filterWhen(this::isReferenced)
.flatMap(id -> readMessage(id)
@@ -166,7 +174,7 @@ public class DeleteMessageListener implements MailboxListener.GroupMailboxListen
.then(messageDAO.delete(messageId)));
}
- private Mono<Void> handleDeletion(CassandraMessageId messageId, CassandraId excludedId) {
+ private Mono<Void> handleMessageDeletionAsPartOfMailboxDeletion(CassandraMessageId messageId, CassandraId excludedId) {
return Mono.just(messageId)
.filterWhen(id -> isReferenced(id, excludedId))
.flatMap(id -> readMessage(id)
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org