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 1bb233be776e4f047108d3336bab738662ebdea0 Author: Benoit Tellier <[email protected]> AuthorDate: Tue May 5 09:09:24 2020 +0700 JAMES-3149 Reactify PreDeletion hooks running --- .../apache/james/mailbox/store/StoreMessageManager.java | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java index 8708344..090f488 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java @@ -679,19 +679,17 @@ public class StoreMessageManager implements MessageManager { } - private void runPredeletionHooks(List<MessageUid> uids, MailboxSession session) throws MailboxException { + private void runPredeletionHooks(List<MessageUid> uids, MailboxSession session) { MessageMapper messageMapper = mapperFactory.getMessageMapper(session); - DeleteOperation deleteOperation = Flux.fromIterable(MessageRange.toRanges(uids)) + Mono<DeleteOperation> deleteOperation = Flux.fromIterable(MessageRange.toRanges(uids)) .publishOn(Schedulers.elastic()) - .flatMap(range -> Mono.fromCallable(() -> messageMapper.findInMailbox(mailbox, range, FetchType.Metadata, UNLIMITED)) - .flatMapMany(iterator -> Flux.fromStream(Iterators.toStream(iterator)))) + .flatMap(range -> messageMapper.findInMailboxReactive(mailbox, range, FetchType.Metadata, UNLIMITED)) .map(mailboxMessage -> MetadataWithMailboxId.from(mailboxMessage.metaData(), mailboxMessage.getMailboxId())) .collect(Guavate.toImmutableList()) - .map(DeleteOperation::from) - .block(); + .map(DeleteOperation::from); - preDeletionHooks.runHooks(deleteOperation).block(); + deleteOperation.flatMap(preDeletionHooks::runHooks).block(); } @Override @@ -851,7 +849,7 @@ public class StoreMessageManager implements MessageManager { final MessageMapper messageMapper = mapperFactory.getMessageMapper(session); return messageMapper.execute( - () -> Iterators.toStream(messageMapper.listAllMessageUids(mailbox))); + () -> messageMapper.listAllMessageUids(mailbox).toStream()); } @Override --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
