You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2018/12/12 10:52:01 UTC
[08/16] james-project git commit: MAILBOX-357 Use functional paradigm
in ListeningSearchIndex
MAILBOX-357 Use functional paradigm in ListeningSearchIndex
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/205f8178
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/205f8178
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/205f8178
Branch: refs/heads/master
Commit: 205f8178a6f84b0cefa08c127e4b43d51d0a900d
Parents: 2ef26a7
Author: Benoit Tellier <bt...@linagora.com>
Authored: Tue Dec 11 09:02:09 2018 +0700
Committer: Benoit Tellier <bt...@linagora.com>
Committed: Wed Dec 12 17:50:58 2018 +0700
----------------------------------------------------------------------
.../store/search/ListeningMessageSearchIndex.java | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/205f8178/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/ListeningMessageSearchIndex.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/ListeningMessageSearchIndex.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/ListeningMessageSearchIndex.java
index e02b736..e11dc86 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/ListeningMessageSearchIndex.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/ListeningMessageSearchIndex.java
@@ -19,7 +19,7 @@
package org.apache.james.mailbox.store.search;
import java.util.List;
-import java.util.Optional;
+import java.util.stream.Stream;
import org.apache.james.mailbox.Event;
import org.apache.james.mailbox.MailboxListener;
@@ -69,10 +69,10 @@ public abstract class ListeningMessageSearchIndex implements MessageSearchIndex,
if (event instanceof Added) {
Added added = (Added) event;
- for (MessageUid uid : added.getUids()) {
- retrieveMailboxMessage(session, mailbox, uid)
- .ifPresent(mailboxMessage -> addMessage(session, mailbox, mailboxMessage));
- }
+ added.getUids()
+ .stream()
+ .flatMap(uid -> retrieveMailboxMessage(session, mailbox, uid))
+ .forEach(mailboxMessage -> addMessage(session, mailbox, mailboxMessage));
} else if (event instanceof Expunged) {
Expunged expunged = (Expunged) event;
try {
@@ -97,14 +97,14 @@ public abstract class ListeningMessageSearchIndex implements MessageSearchIndex,
}
}
- private Optional<MailboxMessage> retrieveMailboxMessage(MailboxSession session, Mailbox mailbox, MessageUid uid) {
+ private Stream<MailboxMessage> retrieveMailboxMessage(MailboxSession session, Mailbox mailbox, MessageUid uid) {
try {
- return Optional.of(factory.getMessageMapper(session)
+ return Stream.of(factory.getMessageMapper(session)
.findInMailbox(mailbox, MessageRange.one(uid), FetchType.Full, UNLIMITED)
.next());
} catch (Exception e) {
LOGGER.error("Could not retrieve message {} in mailbox {}", uid.asLong(), mailbox.getMailboxId().serialize(), e);
- return Optional.empty();
+ return Stream.empty();
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org