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/03/27 08:19:14 UTC

[30/41] james-project git commit: JAMES-2362 Use messageID based search in ReferenceUpdater

JAMES-2362 Use messageID based search in ReferenceUpdater


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/01afb64c
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/01afb64c
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/01afb64c

Branch: refs/heads/master
Commit: 01afb64cd56b0171e42ab76664822e4465df3af3
Parents: c9c1250
Author: benwa <bt...@linagora.com>
Authored: Tue Mar 27 09:56:11 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Tue Mar 27 15:16:33 2018 +0700

----------------------------------------------------------------------
 .../org/apache/james/jmap/methods/ReferenceUpdater.java     | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/01afb64c/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/ReferenceUpdater.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/ReferenceUpdater.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/ReferenceUpdater.java
index 6fb13ea..2f2248b 100644
--- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/ReferenceUpdater.java
+++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/ReferenceUpdater.java
@@ -36,6 +36,7 @@ import org.apache.james.mailbox.model.FetchGroupImpl;
 import org.apache.james.mailbox.model.Headers;
 import org.apache.james.mailbox.model.MailboxId;
 import org.apache.james.mailbox.model.MessageId;
+import org.apache.james.mailbox.model.MessageResult;
 import org.apache.james.mailbox.model.MessageResult.Header;
 import org.apache.james.mailbox.model.MultimailboxesSearchQuery;
 import org.apache.james.mailbox.model.SearchQuery;
@@ -86,20 +87,20 @@ public class ReferenceUpdater {
 
     private void updateFlag(String messageId, MailboxSession session, Flags flag) throws MailboxException {
         int limit = 2;
-        MultimailboxesSearchQuery searchByRFC822MessageId = MultimailboxesSearchQuery.from(new SearchQuery(SearchQuery.headerContains(RFC2822Headers.MESSAGE_ID, messageId))).build();
+        MultimailboxesSearchQuery searchByRFC822MessageId = MultimailboxesSearchQuery
+            .from(new SearchQuery(SearchQuery.mimeMessageID(messageId)))
+            .build();
         List<MessageId> references = mailboxManager.search(searchByRFC822MessageId, session, limit);
         try {
             MessageId reference = Iterables.getOnlyElement(references);
             List<MailboxId> mailboxIds = messageIdManager.getMessages(references, FetchGroupImpl.MINIMAL, session).stream()
-                .map(result -> result.getMailboxId())
+                .map(MessageResult::getMailboxId)
                 .collect(Guavate.toImmutableList());
             messageIdManager.setFlags(flag, FlagsUpdateMode.ADD, reference, mailboxIds, session);
         } catch (NoSuchElementException e) {
             logger.info("Unable to find a message with this Mime Message Id: " + messageId);
-            return;
         } catch (IllegalArgumentException e) {
             logger.info("Too many messages are matching this Mime Message Id: " + messageId);
-            return;
         }
     }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org