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 4f79944ea4570dceca950fe784bc325345977455
Author: Benoit Tellier <[email protected]>
AuthorDate: Fri Dec 6 10:11:14 2019 +0700

    JAMES-2991 Add a convenience MessageIdManager::getMessage method
---
 .../org/apache/james/mailbox/MessageIdManager.java |   4 +
 .../james/mailbox/store/StoreBlobManager.java      |   3 +-
 .../store/AbstractCombinationManagerTest.java      |  16 +--
 .../AbstractMessageIdManagerSideEffectTest.java    |  16 +--
 .../store/AbstractMessageIdManagerStorageTest.java | 119 +++++++++------------
 .../james/mailbox/store/StoreBlobManagerTest.java  |  16 +--
 .../apache/james/jmap/draft/MessageIdProbe.java    |   8 +-
 .../james/jmap/draft/methods/ReferenceUpdater.java |   2 +-
 .../james/jmap/draft/methods/SendMDNProcessor.java |   4 +-
 .../draft/methods/SetMessagesUpdateProcessor.java  |   5 +-
 .../jmap/draft/send/PostDequeueDecorator.java      |   2 +-
 .../jmap/draft/send/PostDequeueDecoratorTest.java  |   6 +-
 12 files changed, 88 insertions(+), 113 deletions(-)

diff --git 
a/mailbox/api/src/main/java/org/apache/james/mailbox/MessageIdManager.java 
b/mailbox/api/src/main/java/org/apache/james/mailbox/MessageIdManager.java
index 095a697..a4548be 100644
--- a/mailbox/api/src/main/java/org/apache/james/mailbox/MessageIdManager.java
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/MessageIdManager.java
@@ -49,6 +49,10 @@ public interface MessageIdManager {
 
     void setInMailboxes(MessageId messageId, Collection<MailboxId> mailboxIds, 
MailboxSession mailboxSession) throws MailboxException;
 
+    default List<MessageResult> getMessage(MessageId messageId, FetchGroup 
fetchGroup, MailboxSession mailboxSession) throws MailboxException {
+        return getMessages(ImmutableList.of(messageId), fetchGroup, 
mailboxSession);
+    }
+
     default DeleteResult delete(MessageId messageId, MailboxSession 
mailboxSession) throws MailboxException {
         return delete(ImmutableList.of(messageId), mailboxSession);
     }
diff --git 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreBlobManager.java
 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreBlobManager.java
index 85eba76..3be2405 100644
--- 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreBlobManager.java
+++ 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreBlobManager.java
@@ -39,7 +39,6 @@ import org.apache.james.mailbox.model.FetchGroup;
 import org.apache.james.mailbox.model.MessageId;
 
 import com.github.fge.lambdas.Throwing;
-import com.google.common.collect.ImmutableList;
 
 public class StoreBlobManager implements BlobManager {
     public static final String MESSAGE_RFC822_CONTENT_TYPE = "message/rfc822";
@@ -97,7 +96,7 @@ public class StoreBlobManager implements BlobManager {
 
     private Optional<InputStream> loadMessageAsBlob(MessageId messageId, 
MailboxSession mailboxSession)  {
         try {
-            return messageIdManager.getMessages(ImmutableList.of(messageId), 
FetchGroup.FULL_CONTENT, mailboxSession)
+            return messageIdManager.getMessage(messageId, 
FetchGroup.FULL_CONTENT, mailboxSession)
                 .stream()
                 .map(Throwing.function(message -> 
message.getFullContent().getInputStream()))
                 .findFirst();
diff --git 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractCombinationManagerTest.java
 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractCombinationManagerTest.java
index 344d673..30dedcf 100644
--- 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractCombinationManagerTest.java
+++ 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractCombinationManagerTest.java
@@ -127,7 +127,7 @@ public abstract class AbstractCombinationManagerTest {
         messageIdManager.setInMailboxes(messageId,
             ImmutableList.of(mailbox1.getMailboxId(), 
mailbox2.getMailboxId()), session);
 
-        MessageUid uidInMailbox2 = 
messageIdManager.getMessages(ImmutableList.of(messageId), FetchGroup.MINIMAL, 
session)
+        MessageUid uidInMailbox2 = messageIdManager.getMessage(messageId, 
FetchGroup.MINIMAL, session)
             .get(0)
             .getUid();
 
@@ -175,7 +175,7 @@ public abstract class AbstractCombinationManagerTest {
         messageManager1.setFlags(deleted, FlagsUpdateMode.ADD, 
MessageRange.all(), session);
         messageManager1.expunge(MessageRange.all(), session);
 
-        assertThat(messageIdManager.getMessages(ImmutableList.of(messageId), 
FetchGroup.MINIMAL, session)).isEmpty();
+        assertThat(messageIdManager.getMessage(messageId, FetchGroup.MINIMAL, 
session)).isEmpty();
     }
 
     @Test
@@ -210,7 +210,7 @@ public abstract class AbstractCombinationManagerTest {
         MessageId messageId = 
messageManager1.appendMessage(MessageManager.AppendCommand.from(mailContent), 
session)
             .getMessageId();
 
-        assertThat(messageIdManager.getMessages(ImmutableList.of(messageId), 
FetchGroup.MINIMAL, session)).hasSize(1);
+        assertThat(messageIdManager.getMessage(messageId, FetchGroup.MINIMAL, 
session)).hasSize(1);
     }
 
     @Test
@@ -220,7 +220,7 @@ public abstract class AbstractCombinationManagerTest {
 
         mailboxManager.copyMessages(MessageRange.all(), 
mailbox1.getMailboxId(), mailbox2.getMailboxId(), session);
 
-        List<MessageResult> listMessages = 
messageIdManager.getMessages(ImmutableList.of(messageId), FetchGroup.MINIMAL, 
session);
+        List<MessageResult> listMessages = 
messageIdManager.getMessage(messageId, FetchGroup.MINIMAL, session);
 
         assertThat(listMessages).hasSize(2)
             .extractingResultOf("getMailboxId")
@@ -234,7 +234,7 @@ public abstract class AbstractCombinationManagerTest {
 
         mailboxManager.copyMessages(MessageRange.all(), 
MailboxFixture.INBOX_ALICE, MailboxFixture.OUTBOX_ALICE, session);
 
-        List<MessageResult> listMessages = 
messageIdManager.getMessages(ImmutableList.of(messageId), FetchGroup.MINIMAL, 
session);
+        List<MessageResult> listMessages = 
messageIdManager.getMessage(messageId, FetchGroup.MINIMAL, session);
 
         assertThat(listMessages).hasSize(2)
             .extractingResultOf("getMailboxId")
@@ -248,7 +248,7 @@ public abstract class AbstractCombinationManagerTest {
 
         mailboxManager.moveMessages(MessageRange.all(), 
MailboxFixture.INBOX_ALICE, MailboxFixture.OUTBOX_ALICE, session);
 
-        List<MessageResult> listMessages = 
messageIdManager.getMessages(ImmutableList.of(messageId), FetchGroup.MINIMAL, 
session);
+        List<MessageResult> listMessages = 
messageIdManager.getMessage(messageId, FetchGroup.MINIMAL, session);
 
         assertThat(listMessages).hasSize(1)
             .extractingResultOf("getMailboxId")
@@ -308,7 +308,7 @@ public abstract class AbstractCombinationManagerTest {
 
         messageIdManager.setInMailboxes(messageId.getMessageId(), 
ImmutableList.of(mailbox1.getMailboxId(), mailbox2.getMailboxId()), session);
 
-        List<MessageResult> listMessages = 
messageIdManager.getMessages(ImmutableList.of(messageId.getMessageId()), 
FetchGroup.MINIMAL, session);
+        List<MessageResult> listMessages = 
messageIdManager.getMessage(messageId.getMessageId(), FetchGroup.MINIMAL, 
session);
 
         long uid2 = listMessages.stream()
             .filter(messageInMailbox2())
@@ -501,7 +501,7 @@ public abstract class AbstractCombinationManagerTest {
 
         messageIdManager.setInMailboxes(messageId, 
ImmutableList.of(mailbox1.getMailboxId(), mailbox2.getMailboxId()), session);
 
-        MessageUid uid2 = 
messageIdManager.getMessages(ImmutableList.of(messageId), FetchGroup.MINIMAL, 
session)
+        MessageUid uid2 = messageIdManager.getMessage(messageId, 
FetchGroup.MINIMAL, session)
             .stream()
             .filter(messageInMailbox2())
             .findFirst()
diff --git 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractMessageIdManagerSideEffectTest.java
 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractMessageIdManagerSideEffectTest.java
index 60124c3..b579036 100644
--- 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractMessageIdManagerSideEffectTest.java
+++ 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractMessageIdManagerSideEffectTest.java
@@ -134,7 +134,7 @@ public abstract class 
AbstractMessageIdManagerSideEffectTest {
         givenUnlimitedQuota();
         MessageId messageId = testingData.persist(mailbox1.getMailboxId(), 
messageUid1, FLAGS, session);
 
-        MessageResult messageResult = 
messageIdManager.getMessages(ImmutableList.of(messageId), FetchGroup.MINIMAL, 
session).get(0);
+        MessageResult messageResult = messageIdManager.getMessage(messageId, 
FetchGroup.MINIMAL, session).get(0);
         MessageMetaData simpleMessageMetaData = 
messageResult.messageMetaData();
 
         eventBus.register(eventCollector);
@@ -158,9 +158,9 @@ public abstract class 
AbstractMessageIdManagerSideEffectTest {
         MessageId messageId1 = testingData.persist(mailbox1.getMailboxId(), 
messageUid1, FLAGS, session);
         MessageId messageId2 = testingData.persist(mailbox1.getMailboxId(), 
messageUid2, FLAGS, session);
 
-        MessageResult messageResult1 = 
messageIdManager.getMessages(ImmutableList.of(messageId1), FetchGroup.MINIMAL, 
session).get(0);
+        MessageResult messageResult1 = messageIdManager.getMessage(messageId1, 
FetchGroup.MINIMAL, session).get(0);
         MessageMetaData simpleMessageMetaData1 = 
messageResult1.messageMetaData();
-        MessageResult messageResult2 = 
messageIdManager.getMessages(ImmutableList.of(messageId2), FetchGroup.MINIMAL, 
session).get(0);
+        MessageResult messageResult2 = messageIdManager.getMessage(messageId2, 
FetchGroup.MINIMAL, session).get(0);
         MessageMetaData simpleMessageMetaData2 = 
messageResult2.messageMetaData();
 
         eventBus.register(eventCollector);
@@ -275,7 +275,7 @@ public abstract class 
AbstractMessageIdManagerSideEffectTest {
         assertThatThrownBy(() -> messageIdManager.delete(messageId, 
ImmutableList.of(mailbox1.getMailboxId()), session))
             .isInstanceOf(RuntimeException.class);
 
-        assertThat(messageIdManager.getMessages(ImmutableList.of(messageId), 
FetchGroup.MINIMAL, session)
+        assertThat(messageIdManager.getMessage(messageId, FetchGroup.MINIMAL, 
session)
                 .stream()
                 .map(MessageResult::getMessageId))
             .hasSize(1)
@@ -306,7 +306,7 @@ public abstract class 
AbstractMessageIdManagerSideEffectTest {
         latchForHook1.await();
         latchForHook2.await();
 
-        assertThat(messageIdManager.getMessages(ImmutableList.of(messageId), 
FetchGroup.MINIMAL, session))
+        assertThat(messageIdManager.getMessage(messageId, FetchGroup.MINIMAL, 
session))
             .isEmpty();
     }
 
@@ -343,7 +343,7 @@ public abstract class 
AbstractMessageIdManagerSideEffectTest {
         eventBus.register(eventCollector);
         messageIdManager.setInMailboxes(messageId, 
ImmutableList.of(mailbox1.getMailboxId(), mailbox2.getMailboxId(), 
mailbox3.getMailboxId()), session);
 
-        messageIdManager.getMessages(ImmutableList.of(messageId), 
FetchGroup.MINIMAL, session);
+        messageIdManager.getMessage(messageId, FetchGroup.MINIMAL, session);
 
         assertThat(eventCollector.getEvents()).filteredOn(event -> event 
instanceof MessageMoveEvent).hasSize(1);
         assertThat(eventCollector.getEvents()).filteredOn(event -> event 
instanceof MailboxListener.Added).hasSize(2)
@@ -373,7 +373,7 @@ public abstract class 
AbstractMessageIdManagerSideEffectTest {
         MessageId messageId = testingData.persist(mailbox1.getMailboxId(), 
messageUid1, FLAGS, session);
         messageIdManager.setInMailboxes(messageId, 
ImmutableList.of(mailbox1.getMailboxId(), mailbox2.getMailboxId()), session);
 
-        List<MessageResult> messageResults = 
messageIdManager.getMessages(ImmutableList.of(messageId), FetchGroup.MINIMAL, 
session);
+        List<MessageResult> messageResults = 
messageIdManager.getMessage(messageId, FetchGroup.MINIMAL, session);
         assertThat(messageResults).hasSize(2);
 
         eventBus.register(eventCollector);
@@ -459,7 +459,7 @@ public abstract class 
AbstractMessageIdManagerSideEffectTest {
         Flags newFlags = new Flags(Flags.Flag.SEEN);
         messageIdManager.setFlags(newFlags, 
MessageManager.FlagsUpdateMode.ADD, messageId, 
ImmutableList.of(mailbox1.getMailboxId(), mailbox2.getMailboxId()), session);
 
-        List<MessageResult> messages = 
messageIdManager.getMessages(ImmutableList.of(messageId), FetchGroup.MINIMAL, 
session);
+        List<MessageResult> messages = messageIdManager.getMessage(messageId, 
FetchGroup.MINIMAL, session);
         assertThat(messages).hasSize(1);
         MessageResult messageResult = messages.get(0);
         MessageUid messageUid = messageResult.getUid();
diff --git 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractMessageIdManagerStorageTest.java
 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractMessageIdManagerStorageTest.java
index ac79368..fa1c0ec 100644
--- 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractMessageIdManagerStorageTest.java
+++ 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractMessageIdManagerStorageTest.java
@@ -92,7 +92,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
     void getMessagesShouldReturnEmptyListWhenMessageIdNotUsed() throws 
Exception {
         MessageId messageId = testingData.createNotUsedMessageId();
 
-        assertThat(messageIdManager.getMessages(ImmutableList.of(messageId), 
FetchGroup.MINIMAL, aliceSession))
+        assertThat(messageIdManager.getMessage(messageId, FetchGroup.MINIMAL, 
aliceSession))
             .isEmpty();
     }
 
@@ -122,7 +122,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
     void getMessagesShouldReturnStoredResults() throws Exception {
         MessageId messageId = 
testingData.persist(aliceMailbox1.getMailboxId(), messageUid1, FLAGS, 
aliceSession);
 
-        assertThat(messageIdManager.getMessages(ImmutableList.of(messageId), 
FetchGroup.MINIMAL, aliceSession))
+        assertThat(messageIdManager.getMessage(messageId, FetchGroup.MINIMAL, 
aliceSession))
             .hasSize(1);
     }
 
@@ -130,8 +130,8 @@ public abstract class AbstractMessageIdManagerStorageTest {
     void getMessageShouldReturnOnlyMessageBelongingToCurrentUser() throws 
Exception {
         MessageId messageId = 
testingData.persist(aliceMailbox1.getMailboxId(), messageUid1, FLAGS, 
aliceSession);
 
-        assertThat(messageIdManager.getMessages(ImmutableList.of(messageId), 
FetchGroup.MINIMAL, aliceSession)).hasSize(1);
-        assertThat(messageIdManager.getMessages(ImmutableList.of(messageId), 
FetchGroup.MINIMAL, bobSession)).isEmpty();
+        assertThat(messageIdManager.getMessage(messageId, FetchGroup.MINIMAL, 
aliceSession)).hasSize(1);
+        assertThat(messageIdManager.getMessage(messageId, FetchGroup.MINIMAL, 
bobSession)).isEmpty();
     }
 
     @Test
@@ -140,7 +140,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
 
         messageIdManager.setInMailboxes(messageId, 
ImmutableList.of(aliceMailbox1.getMailboxId(), aliceMailbox2.getMailboxId()), 
aliceSession);
 
-        assertThat(messageIdManager.getMessages(ImmutableList.of(messageId), 
FetchGroup.MINIMAL, aliceSession))
+        assertThat(messageIdManager.getMessage(messageId, FetchGroup.MINIMAL, 
aliceSession))
             .hasSize(2);
     }
 
@@ -150,7 +150,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
 
         messageIdManager.setInMailboxes(messageId, 
ImmutableList.of(aliceMailbox1.getMailboxId()), aliceSession);
 
-        assertThat(messageIdManager.getMessages(ImmutableList.of(messageId), 
FetchGroup.MINIMAL, aliceSession))
+        assertThat(messageIdManager.getMessage(messageId, FetchGroup.MINIMAL, 
aliceSession))
             .hasSize(1);
     }
 
@@ -161,10 +161,10 @@ public abstract class AbstractMessageIdManagerStorageTest 
{
 
         messageIdManager.setInMailboxes(messageId2, 
ImmutableList.of(aliceMailbox1.getMailboxId()), aliceSession);
 
-        MessageUid uidMessage1Mailbox1 = 
messageIdManager.getMessages(ImmutableList.of(messageId1), FetchGroup.MINIMAL, 
aliceSession)
+        MessageUid uidMessage1Mailbox1 = 
messageIdManager.getMessage(messageId1, FetchGroup.MINIMAL, aliceSession)
             .get(0)
             .getUid();
-        MessageUid uidMessage2Mailbox1 = 
messageIdManager.getMessages(ImmutableList.of(messageId2), FetchGroup.MINIMAL, 
aliceSession)
+        MessageUid uidMessage2Mailbox1 = 
messageIdManager.getMessage(messageId2, FetchGroup.MINIMAL, aliceSession)
             .stream()
             .filter(inMailbox(aliceMailbox1.getMailboxId()))
             .findFirst()
@@ -181,10 +181,10 @@ public abstract class AbstractMessageIdManagerStorageTest 
{
 
         messageIdManager.setInMailboxes(messageId2, 
ImmutableList.of(aliceMailbox1.getMailboxId(), aliceMailbox2.getMailboxId()), 
aliceSession);
 
-        ModSeq modSeqMessage1Mailbox1 = 
messageIdManager.getMessages(ImmutableList.of(messageId1), FetchGroup.MINIMAL, 
aliceSession)
+        ModSeq modSeqMessage1Mailbox1 = 
messageIdManager.getMessage(messageId1, FetchGroup.MINIMAL, aliceSession)
             .get(0)
             .getModSeq();
-        ModSeq modSeqMessage2Mailbox1 = 
messageIdManager.getMessages(ImmutableList.of(messageId2), FetchGroup.MINIMAL, 
aliceSession)
+        ModSeq modSeqMessage2Mailbox1 = 
messageIdManager.getMessage(messageId2, FetchGroup.MINIMAL, aliceSession)
             .stream()
             .filter(inMailbox(aliceMailbox1.getMailboxId()))
             .findFirst()
@@ -197,13 +197,13 @@ public abstract class AbstractMessageIdManagerStorageTest 
{
     @Test
     void setInMailboxesShouldNotChangeUidAndModSeqInOriginalMailbox() throws 
Exception {
         MessageId messageId = 
testingData.persist(aliceMailbox1.getMailboxId(), messageUid1, FLAGS, 
aliceSession);
-        MessageResult messageResult1 = 
messageIdManager.getMessages(ImmutableList.of(messageId), FetchGroup.MINIMAL, 
aliceSession).get(0);
+        MessageResult messageResult1 = messageIdManager.getMessage(messageId, 
FetchGroup.MINIMAL, aliceSession).get(0);
         MessageUid messageUid1 = messageResult1.getUid();
         ModSeq modSeq1 = messageResult1.getModSeq();
 
         messageIdManager.setInMailboxes(messageId, 
ImmutableList.of(aliceMailbox1.getMailboxId(), aliceMailbox2.getMailboxId()), 
aliceSession);
 
-        MessageResult messageResult2 = 
messageIdManager.getMessages(ImmutableList.of(messageId), FetchGroup.MINIMAL, 
aliceSession)
+        MessageResult messageResult2 = messageIdManager.getMessage(messageId, 
FetchGroup.MINIMAL, aliceSession)
             .stream()
             .filter(inMailbox(aliceMailbox1.getMailboxId()))
             .findFirst()
@@ -221,7 +221,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
         messageIdManager.setInMailboxes(messageId, 
ImmutableList.of(aliceMailbox1.getMailboxId(), aliceMailbox2.getMailboxId()), 
aliceSession);
         messageIdManager.setInMailboxes(messageId, 
ImmutableList.of(aliceMailbox1.getMailboxId(), aliceMailbox3.getMailboxId()), 
aliceSession);
 
-        List<MailboxId> messageMailboxIds = 
messageIdManager.getMessages(ImmutableList.of(messageId), FetchGroup.MINIMAL, 
aliceSession)
+        List<MailboxId> messageMailboxIds = 
messageIdManager.getMessage(messageId, FetchGroup.MINIMAL, aliceSession)
             .stream()
             .map(MessageResult::getMailboxId)
             .collect(Guavate.toImmutableList());
@@ -238,7 +238,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
 
         messageIdManager.setInMailboxes(messageId, 
ImmutableList.of(aliceMailbox1.getMailboxId(), aliceMailbox3.getMailboxId()), 
aliceSession);
 
-        MessageResult messageResult3 = 
messageIdManager.getMessages(ImmutableList.of(messageId), FetchGroup.MINIMAL, 
aliceSession)
+        MessageResult messageResult3 = messageIdManager.getMessage(messageId, 
FetchGroup.MINIMAL, aliceSession)
             .stream()
             .filter(inMailbox(aliceMailbox3.getMailboxId()))
             .findFirst()
@@ -272,7 +272,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
 
         messageIdManager.setInMailboxes(messageId, 
ImmutableList.of(aliceMailbox1.getMailboxId()), aliceSession);
 
-        assertThat(messageIdManager.getMessages(ImmutableList.of(messageId), 
FetchGroup.MINIMAL, aliceSession)).isEmpty();
+        assertThat(messageIdManager.getMessage(messageId, FetchGroup.MINIMAL, 
aliceSession)).isEmpty();
     }
 
     @Test
@@ -281,7 +281,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
 
         messageIdManager.delete(messageId, 
ImmutableList.of(aliceMailbox1.getMailboxId()), aliceSession);
 
-        assertThat(messageIdManager.getMessages(ImmutableList.of(messageId), 
FetchGroup.MINIMAL, aliceSession)).isEmpty();
+        assertThat(messageIdManager.getMessage(messageId, FetchGroup.MINIMAL, 
aliceSession)).isEmpty();
     }
 
     @Test
@@ -290,7 +290,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
 
         messageIdManager.delete(messageId, aliceSession);
 
-        assertThat(messageIdManager.getMessages(ImmutableList.of(messageId), 
FetchGroup.MINIMAL, aliceSession)).isEmpty();
+        assertThat(messageIdManager.getMessage(messageId, FetchGroup.MINIMAL, 
aliceSession)).isEmpty();
     }
 
     @Test
@@ -300,7 +300,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
 
         messageIdManager.delete(messageId, 
ImmutableList.of(aliceMailbox1.getMailboxId()), aliceSession);
 
-        List<MessageResult> messageResults = 
messageIdManager.getMessages(ImmutableList.of(messageId), FetchGroup.MINIMAL, 
aliceSession);
+        List<MessageResult> messageResults = 
messageIdManager.getMessage(messageId, FetchGroup.MINIMAL, aliceSession);
         assertThat(messageResults).hasSize(1);
         
assertThat(messageResults.get(0).getMailboxId()).isEqualTo(aliceMailbox2.getMailboxId());
     }
@@ -312,7 +312,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
 
         messageIdManager.delete(messageId, aliceSession);
 
-        assertThat(messageIdManager.getMessages(ImmutableList.of(messageId), 
FetchGroup.MINIMAL, aliceSession)).isEmpty();
+        assertThat(messageIdManager.getMessage(messageId, FetchGroup.MINIMAL, 
aliceSession)).isEmpty();
     }
 
     @Test
@@ -321,7 +321,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
 
         messageIdManager.delete(messageId, 
ImmutableList.of(aliceMailbox2.getMailboxId()), aliceSession);
 
-        List<MessageResult> messageResults = 
messageIdManager.getMessages(ImmutableList.of(messageId), FetchGroup.MINIMAL, 
aliceSession);
+        List<MessageResult> messageResults = 
messageIdManager.getMessage(messageId, FetchGroup.MINIMAL, aliceSession);
         assertThat(messageResults).hasSize(1);
         
assertThat(messageResults.get(0).getMailboxId()).isEqualTo(aliceMailbox1.getMailboxId());
     }
@@ -365,7 +365,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
 
         messageIdManager.setFlags(newFlags, 
MessageManager.FlagsUpdateMode.ADD, messageId, 
ImmutableList.of(aliceMailbox1.getMailboxId()), aliceSession);
 
-        MessageResult messageResult = 
messageIdManager.getMessages(ImmutableList.of(messageId), FetchGroup.MINIMAL, 
aliceSession).get(0);
+        MessageResult messageResult = messageIdManager.getMessage(messageId, 
FetchGroup.MINIMAL, aliceSession).get(0);
         assertThat(messageResult.getFlags()).isEqualTo(newFlags);
     }
 
@@ -374,12 +374,12 @@ public abstract class AbstractMessageIdManagerStorageTest 
{
         Flags newFlags = new Flags(Flags.Flag.SEEN);
         MessageId messageId = 
testingData.persist(aliceMailbox1.getMailboxId(), messageUid1, FLAGS, 
aliceSession);
 
-        MessageResult messageResult1 = 
messageIdManager.getMessages(ImmutableList.of(messageId), FetchGroup.MINIMAL, 
aliceSession).get(0);
+        MessageResult messageResult1 = messageIdManager.getMessage(messageId, 
FetchGroup.MINIMAL, aliceSession).get(0);
         MessageUid messageUid1 = messageResult1.getUid();
 
         messageIdManager.setFlags(newFlags, 
MessageManager.FlagsUpdateMode.ADD, messageId, 
ImmutableList.of(aliceMailbox1.getMailboxId()), aliceSession);
 
-        MessageResult messageResult2 = 
messageIdManager.getMessages(ImmutableList.of(messageId), FetchGroup.MINIMAL, 
aliceSession).get(0);
+        MessageResult messageResult2 = messageIdManager.getMessage(messageId, 
FetchGroup.MINIMAL, aliceSession).get(0);
         MessageUid messageUid2 = messageResult2.getUid();
 
         assertThat(messageUid2).isEqualTo(messageUid1);
@@ -390,12 +390,12 @@ public abstract class AbstractMessageIdManagerStorageTest 
{
         Flags newFlags = new Flags(Flags.Flag.SEEN);
         MessageId messageId = 
testingData.persist(aliceMailbox1.getMailboxId(), messageUid1, FLAGS, 
aliceSession);
 
-        MessageResult messageResult1 = 
messageIdManager.getMessages(ImmutableList.of(messageId), FetchGroup.MINIMAL, 
aliceSession).get(0);
+        MessageResult messageResult1 = messageIdManager.getMessage(messageId, 
FetchGroup.MINIMAL, aliceSession).get(0);
         ModSeq modSeq1 = messageResult1.getModSeq();
 
         messageIdManager.setFlags(newFlags, 
MessageManager.FlagsUpdateMode.ADD, messageId, 
ImmutableList.of(aliceMailbox1.getMailboxId()), aliceSession);
 
-        MessageResult messageResult2 = 
messageIdManager.getMessages(ImmutableList.of(messageId), FetchGroup.MINIMAL, 
aliceSession).get(0);
+        MessageResult messageResult2 = messageIdManager.getMessage(messageId, 
FetchGroup.MINIMAL, aliceSession).get(0);
         ModSeq modSeq2 = messageResult2.getModSeq();
 
         assertThat(modSeq2).isGreaterThan(modSeq1);
@@ -409,7 +409,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
 
         messageIdManager.setFlags(newFlags, 
MessageManager.FlagsUpdateMode.ADD, messageId, 
ImmutableList.of(aliceMailbox1.getMailboxId(), aliceMailbox2.getMailboxId()), 
aliceSession);
 
-        List<Flags> flags = 
messageIdManager.getMessages(ImmutableList.of(messageId), FetchGroup.MINIMAL, 
aliceSession)
+        List<Flags> flags = messageIdManager.getMessage(messageId, 
FetchGroup.MINIMAL, aliceSession)
             .stream()
             .map(MessageResult::getFlags)
             .collect(Guavate.toImmutableList());
@@ -427,7 +427,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
 
         messageIdManager.setFlags(newFlags, 
MessageManager.FlagsUpdateMode.ADD, messageId2, 
ImmutableList.of(aliceMailbox1.getMailboxId()), aliceSession);
 
-        List<Flags> flags = 
messageIdManager.getMessages(ImmutableList.of(messageId1), FetchGroup.MINIMAL, 
aliceSession)
+        List<Flags> flags = messageIdManager.getMessage(messageId1, 
FetchGroup.MINIMAL, aliceSession)
             .stream()
             .map(MessageResult::getFlags)
             .collect(Guavate.toImmutableList());
@@ -443,7 +443,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
 
         messageIdManager.setFlags(newFlags, 
MessageManager.FlagsUpdateMode.ADD, messageId1, ImmutableList.of(), 
aliceSession);
 
-        List<Flags> flags = 
messageIdManager.getMessages(ImmutableList.of(messageId1), FetchGroup.MINIMAL, 
aliceSession)
+        List<Flags> flags = messageIdManager.getMessage(messageId1, 
FetchGroup.MINIMAL, aliceSession)
             .stream()
             .map(MessageResult::getFlags)
             .collect(Guavate.toImmutableList());
@@ -459,7 +459,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
 
         messageIdManager.setFlags(newFlags, 
MessageManager.FlagsUpdateMode.ADD, messageId1, 
ImmutableList.of(aliceMailbox2.getMailboxId()), aliceSession);
 
-        List<Flags> flags = 
messageIdManager.getMessages(ImmutableList.of(messageId1), FetchGroup.MINIMAL, 
aliceSession)
+        List<Flags> flags = messageIdManager.getMessage(messageId1, 
FetchGroup.MINIMAL, aliceSession)
             .stream()
             .map(MessageResult::getFlags)
             .collect(Guavate.toImmutableList());
@@ -530,7 +530,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
 
         testingData.deleteMailbox(aliceMailbox1.getMailboxId(), aliceSession);
 
-        assertThat(messageIdManager.getMessages(ImmutableList.of(messageId), 
FetchGroup.MINIMAL, aliceSession)).isEmpty();
+        assertThat(messageIdManager.getMessage(messageId, FetchGroup.MINIMAL, 
aliceSession)).isEmpty();
     }
 
     @Test
@@ -540,7 +540,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
 
         testingData.deleteMailbox(aliceMailbox1.getMailboxId(), aliceSession);
 
-        List<MessageResult> messageResults = 
messageIdManager.getMessages(ImmutableList.of(messageId), FetchGroup.MINIMAL, 
aliceSession);
+        List<MessageResult> messageResults = 
messageIdManager.getMessage(messageId, FetchGroup.MINIMAL, aliceSession);
         assertThat(messageResults).hasSize(1);
         
assertThat(messageResults.get(0).getMailboxId()).isEqualTo(aliceMailbox2.getMailboxId());
     }
@@ -588,7 +588,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
             aliceSession);
         MessageId messageId = 
testingData.persist(aliceMailbox1.getMailboxId(), messageUid1, FLAGS, 
aliceSession);
 
-        List<MessageResult> messages = 
messageIdManager.getMessages(ImmutableList.of(messageId),
+        List<MessageResult> messages = messageIdManager.getMessage(messageId,
             FetchGroup.MINIMAL, bobSession);
 
         assertThat(messages)
@@ -607,7 +607,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
             aliceSession);
         MessageId messageId = 
testingData.persist(aliceMailbox1.getMailboxId(), messageUid1, FLAGS, 
aliceSession);
 
-        List<MessageResult> messages = 
messageIdManager.getMessages(ImmutableList.of(messageId), FetchGroup.MINIMAL, 
bobSession);
+        List<MessageResult> messages = messageIdManager.getMessage(messageId, 
FetchGroup.MINIMAL, bobSession);
 
         assertThat(messages)
             .isEmpty();
@@ -628,7 +628,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
         messageIdManager.setFlags(newFlags, 
MessageManager.FlagsUpdateMode.REPLACE,
             messageId, ImmutableList.of(aliceMailbox1.getMailboxId()), 
bobSession);
 
-        List<MessageResult> messages = 
messageIdManager.getMessages(ImmutableList.of(messageId), FetchGroup.MINIMAL, 
aliceSession);
+        List<MessageResult> messages = messageIdManager.getMessage(messageId, 
FetchGroup.MINIMAL, aliceSession);
         assertThat(messages)
             .extracting(MessageResult::getFlags)
             .containsOnly(newFlags);
@@ -650,7 +650,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
                 messageId, ImmutableList.of(aliceMailbox1.getMailboxId()), 
bobSession))
             .isInstanceOf(MailboxNotFoundException.class);
 
-        List<MessageResult> messages = 
messageIdManager.getMessages(ImmutableList.of(messageId), FetchGroup.MINIMAL, 
aliceSession);
+        List<MessageResult> messages = messageIdManager.getMessage(messageId, 
FetchGroup.MINIMAL, aliceSession);
         assertThat(messages)
             .extracting(MessageResult::getFlags)
             .containsOnly(FLAGS);
@@ -672,7 +672,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
         messageIdManager.setInMailboxes(messageId, 
ImmutableList.of(aliceMailbox1.getMailboxId(), bobMailbox1.getMailboxId()), 
bobSession);
 
         //Then
-        List<MessageResult> messages = 
messageIdManager.getMessages(ImmutableList.of(messageId), FetchGroup.MINIMAL, 
bobSession);
+        List<MessageResult> messages = messageIdManager.getMessage(messageId, 
FetchGroup.MINIMAL, bobSession);
         assertThat(messages)
             .extracting(MessageResult::getMessageId)
             .containsOnly(messageId, messageId);
@@ -701,10 +701,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
             .isInstanceOf(MailboxNotFoundException.class);
 
         //Then
-        List<MessageResult> messages = messageIdManager.getMessages(
-            ImmutableList.of(messageId),
-            FetchGroup.MINIMAL,
-            bobSession);
+        List<MessageResult> messages = messageIdManager.getMessage(messageId, 
FetchGroup.MINIMAL, bobSession);
         assertThat(messages)
             .isEmpty();
     }
@@ -725,10 +722,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
         messageIdManager.setInMailboxes(messageId, 
ImmutableList.of(aliceMailbox1.getMailboxId(), bobMailbox1.getMailboxId()), 
bobSession);
 
         //Then
-        List<MessageResult> messages = messageIdManager.getMessages(
-            ImmutableList.of(messageId),
-            FetchGroup.MINIMAL,
-            aliceSession);
+        List<MessageResult> messages = messageIdManager.getMessage(messageId, 
FetchGroup.MINIMAL, aliceSession);
         assertThat(messages)
             .extracting(MessageResult::getMessageId)
             .containsOnly(messageId);
@@ -757,10 +751,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
             .isInstanceOf(MailboxNotFoundException.class);
 
         //Then
-        List<MessageResult> messages = messageIdManager.getMessages(
-            ImmutableList.of(messageId),
-            FetchGroup.MINIMAL,
-            bobSession);
+        List<MessageResult> messages = messageIdManager.getMessage(messageId, 
FetchGroup.MINIMAL, bobSession);
         assertThat(messages)
             .extracting(MessageResult::getMessageId)
             .containsOnly(messageId);
@@ -785,10 +776,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
         messageIdManager.setInMailboxes(messageId, 
ImmutableList.of(bobMailbox1.getMailboxId()), bobSession);
 
         //Then
-        List<MessageResult> messages = messageIdManager.getMessages(
-            ImmutableList.of(messageId),
-            FetchGroup.MINIMAL,
-            bobSession);
+        List<MessageResult> messages = messageIdManager.getMessage(messageId, 
FetchGroup.MINIMAL, bobSession);
         assertThat(messages)
             .extracting(MessageResult::getMessageId)
             .containsOnly(messageId);
@@ -817,10 +805,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
             .isInstanceOf(MailboxNotFoundException.class);
 
         //Then
-        List<MessageResult> messages = messageIdManager.getMessages(
-            ImmutableList.of(messageId),
-            FetchGroup.MINIMAL,
-            bobSession);
+        List<MessageResult> messages = messageIdManager.getMessage(messageId, 
FetchGroup.MINIMAL, bobSession);
         assertThat(messages)
             .extracting(MessageResult::getMessageId)
             .containsOnly(messageId);
@@ -848,10 +833,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
             bobSession);
 
         //Then
-        List<MessageResult> messagesForSharee = messageIdManager.getMessages(
-            ImmutableList.of(messageId),
-            FetchGroup.MINIMAL,
-            bobSession);
+        List<MessageResult> messagesForSharee = 
messageIdManager.getMessage(messageId, FetchGroup.MINIMAL, bobSession);
         assertThat(messagesForSharee)
             .extracting(MessageResult::getMessageId)
             .containsOnly(messageId, messageId);
@@ -859,10 +841,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
             .extracting(MessageResult::getMailboxId)
             .containsOnly(aliceMailbox2.getMailboxId(), 
bobMailbox1.getMailboxId());
 
-        List<MessageResult> messagesForOwner = messageIdManager.getMessages(
-            ImmutableList.of(messageId),
-            FetchGroup.MINIMAL,
-            aliceSession);
+        List<MessageResult> messagesForOwner = 
messageIdManager.getMessage(messageId, FetchGroup.MINIMAL, aliceSession);
         assertThat(messagesForOwner)
             .extracting(MessageResult::getMessageId)
             .containsOnly(messageId, messageId);
@@ -884,7 +863,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
 
         messageIdManager.delete(messageId, 
ImmutableList.of(aliceMailbox1.getMailboxId()), bobSession);
 
-        List<MessageResult> messages = 
messageIdManager.getMessages(ImmutableList.of(messageId), FetchGroup.MINIMAL, 
aliceSession);
+        List<MessageResult> messages = messageIdManager.getMessage(messageId, 
FetchGroup.MINIMAL, aliceSession);
         assertThat(messages)
             .isEmpty();
     }
@@ -904,7 +883,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
             messageIdManager.delete(messageId, 
ImmutableList.of(aliceMailbox1.getMailboxId()), bobSession))
             .isInstanceOf(MailboxNotFoundException.class);
 
-        List<MessageResult> messages = 
messageIdManager.getMessages(ImmutableList.of(messageId), FetchGroup.MINIMAL, 
aliceSession);
+        List<MessageResult> messages = messageIdManager.getMessage(messageId, 
FetchGroup.MINIMAL, aliceSession);
         assertThat(messages)
             .extracting(MessageResult::getMessageId)
             .containsOnly(messageId);
@@ -958,7 +937,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
 
         messageIdManager.setInMailboxes(messageId, 
ImmutableList.of(aliceMailbox1.getMailboxId()), bobSession);
 
-        List<MessageResult> messages = 
messageIdManager.getMessages(ImmutableList.of(messageId), FetchGroup.MINIMAL, 
aliceSession);
+        List<MessageResult> messages = messageIdManager.getMessage(messageId, 
FetchGroup.MINIMAL, aliceSession);
         assertThat(messages)
             .extracting(MessageResult::getFlags)
             .containsOnly(new Flags());
@@ -978,7 +957,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
 
         messageIdManager.setInMailboxes(messageId, 
ImmutableList.of(aliceMailbox1.getMailboxId()), bobSession);
 
-        List<MessageResult> messages = 
messageIdManager.getMessages(ImmutableList.of(messageId), FetchGroup.MINIMAL, 
aliceSession);
+        List<MessageResult> messages = messageIdManager.getMessage(messageId, 
FetchGroup.MINIMAL, aliceSession);
         assertThat(messages)
             .extracting(MessageResult::getFlags)
             .containsOnly(flags);
@@ -992,7 +971,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
             
.build(ClassLoaderUtils.getSystemResourceAsSharedStream("eml/twoAttachmentsApi.eml")),
 bobSession)
             .getMessageId();
 
-        List<MessageResult> messages = 
messageIdManager.getMessages(ImmutableList.of(messageId), FetchGroup.MINIMAL, 
bobSession);
+        List<MessageResult> messages = messageIdManager.getMessage(messageId, 
FetchGroup.MINIMAL, bobSession);
 
         assertThat(messages)
             .hasSize(1)
@@ -1005,7 +984,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
         Flags flags = new Flags(Flags.Flag.FLAGGED);
         MessageId messageId = testingData.persist(bobMailbox1.getMailboxId(), 
messageUid1, flags, bobSession);
 
-        List<MessageResult> messages = 
messageIdManager.getMessages(ImmutableList.of(messageId), FetchGroup.MINIMAL, 
bobSession);
+        List<MessageResult> messages = messageIdManager.getMessage(messageId, 
FetchGroup.MINIMAL, bobSession);
 
         assertThat(messages)
             .hasSize(1)
diff --git 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreBlobManagerTest.java
 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreBlobManagerTest.java
index 91b6661..dbcaca0 100644
--- 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreBlobManagerTest.java
+++ 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreBlobManagerTest.java
@@ -94,7 +94,7 @@ class StoreBlobManagerTest {
     void retrieveShouldThrowWhenNotFound() throws Exception {
         when(attachmentManager.getAttachment(ATTACHMENT_ID, session))
             .thenThrow(new AttachmentNotFoundException(ID));
-        when(messageIdManager.getMessages(ImmutableList.of(MESSAGE_ID), 
FetchGroup.FULL_CONTENT, session))
+        when(messageIdManager.getMessage(MESSAGE_ID, FetchGroup.FULL_CONTENT, 
session))
             .thenReturn(ImmutableList.of());
 
         assertThatThrownBy(() -> blobManager.retrieve(BLOB_ID_ATTACHMENT, 
session))
@@ -110,7 +110,7 @@ class StoreBlobManagerTest {
         Content content = mock(Content.class);
         when(content.getInputStream()).thenReturn(new 
ByteArrayInputStream(BYTES));
         when(messageResult.getFullContent()).thenReturn(content);
-        when(messageIdManager.getMessages(ImmutableList.of(MESSAGE_ID), 
FetchGroup.FULL_CONTENT, session))
+        when(messageIdManager.getMessage(MESSAGE_ID, FetchGroup.FULL_CONTENT, 
session))
             .thenReturn(ImmutableList.of(messageResult));
 
         assertThat(blobManager.retrieve(BLOB_ID_MESSAGE, session))
@@ -144,7 +144,7 @@ class StoreBlobManagerTest {
         when(attachmentManager.getAttachment(any(), any()))
             .thenThrow(new AttachmentNotFoundException(ID));
 
-        when(messageIdManager.getMessages(ImmutableList.of(MESSAGE_ID), 
FetchGroup.FULL_CONTENT, session))
+        when(messageIdManager.getMessage(MESSAGE_ID, FetchGroup.FULL_CONTENT, 
session))
             .thenThrow(new RuntimeException());
 
         assertThatThrownBy(() -> blobManager.retrieve(BLOB_ID_MESSAGE, 
session))
@@ -156,7 +156,7 @@ class StoreBlobManagerTest {
         when(attachmentManager.getAttachment(any(), any()))
             .thenThrow(new AttachmentNotFoundException(ID));
 
-        when(messageIdManager.getMessages(ImmutableList.of(MESSAGE_ID), 
FetchGroup.FULL_CONTENT, session))
+        when(messageIdManager.getMessage(MESSAGE_ID, FetchGroup.FULL_CONTENT, 
session))
             .thenThrow(new MailboxException());
 
         assertThatThrownBy(() -> blobManager.retrieve(BLOB_ID_MESSAGE, 
session))
@@ -170,7 +170,7 @@ class StoreBlobManagerTest {
 
         MessageResult messageResult = mock(MessageResult.class);
         when(messageResult.getFullContent()).thenThrow(new MailboxException());
-        when(messageIdManager.getMessages(ImmutableList.of(MESSAGE_ID), 
FetchGroup.FULL_CONTENT, session))
+        when(messageIdManager.getMessage(MESSAGE_ID, FetchGroup.FULL_CONTENT, 
session))
             .thenReturn(ImmutableList.of(messageResult));
 
         assertThatThrownBy(() -> blobManager.retrieve(BLOB_ID_MESSAGE, 
session))
@@ -184,7 +184,7 @@ class StoreBlobManagerTest {
 
         MessageResult messageResult = mock(MessageResult.class);
         when(messageResult.getFullContent()).thenThrow(new RuntimeException());
-        when(messageIdManager.getMessages(ImmutableList.of(MESSAGE_ID), 
FetchGroup.FULL_CONTENT, session))
+        when(messageIdManager.getMessage(MESSAGE_ID, FetchGroup.FULL_CONTENT, 
session))
             .thenReturn(ImmutableList.of(messageResult));
 
         assertThatThrownBy(() -> blobManager.retrieve(BLOB_ID_MESSAGE, 
session))
@@ -200,7 +200,7 @@ class StoreBlobManagerTest {
         Content content = mock(Content.class);
         when(content.getInputStream()).thenThrow(new IOException());
         when(messageResult.getFullContent()).thenReturn(content);
-        when(messageIdManager.getMessages(ImmutableList.of(MESSAGE_ID), 
FetchGroup.FULL_CONTENT, session))
+        when(messageIdManager.getMessage(MESSAGE_ID, FetchGroup.FULL_CONTENT, 
session))
             .thenReturn(ImmutableList.of(messageResult));
 
         assertThatThrownBy(() -> blobManager.retrieve(BLOB_ID_MESSAGE, 
session))
@@ -216,7 +216,7 @@ class StoreBlobManagerTest {
         Content content = mock(Content.class);
         when(content.getInputStream()).thenThrow(new RuntimeException());
         when(messageResult.getFullContent()).thenReturn(content);
-        when(messageIdManager.getMessages(ImmutableList.of(MESSAGE_ID), 
FetchGroup.FULL_CONTENT, session))
+        when(messageIdManager.getMessage(MESSAGE_ID, FetchGroup.FULL_CONTENT, 
session))
             .thenReturn(ImmutableList.of(messageResult));
 
         assertThatThrownBy(() -> blobManager.retrieve(BLOB_ID_MESSAGE, 
session))
diff --git 
a/server/container/guice/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/MessageIdProbe.java
 
b/server/container/guice/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/MessageIdProbe.java
index 6b57af0..9d7dc4b 100644
--- 
a/server/container/guice/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/MessageIdProbe.java
+++ 
b/server/container/guice/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/MessageIdProbe.java
@@ -40,7 +40,6 @@ import org.apache.james.utils.GuiceProbe;
 
 import com.github.fge.lambdas.Throwing;
 import com.github.steveash.guavate.Guavate;
-import com.google.common.collect.ImmutableList;
 
 public class MessageIdProbe implements GuiceProbe {
     private final MailboxManager mailboxManager;
@@ -55,7 +54,7 @@ public class MessageIdProbe implements GuiceProbe {
     public List<MessageResult> getMessages(MessageId messageId, Username user) 
throws MailboxException {
         MailboxSession mailboxSession = 
mailboxManager.createSystemSession(user);
 
-        return messageIdManager.getMessages(ImmutableList.of(messageId), 
FetchGroup.FULL_CONTENT, mailboxSession);
+        return messageIdManager.getMessage(messageId, FetchGroup.FULL_CONTENT, 
mailboxSession);
     }
 
     public void updateNewFlags(Username user, Flags newFlags, MessageId 
messageId, List<MailboxId> mailboxIds) throws MailboxException {
@@ -66,10 +65,7 @@ public class MessageIdProbe implements GuiceProbe {
 
     public List<AttachmentId> retrieveAttachmentIds(MessageId messageId, 
Username username) throws MailboxException {
         MailboxSession mailboxSession = 
mailboxManager.createSystemSession(username);
-        List<MessageResult> messages = messageIdManager.getMessages(
-            ImmutableList.of(messageId),
-            FetchGroup.FULL_CONTENT,
-            mailboxSession);
+        List<MessageResult> messages = messageIdManager.getMessage(messageId, 
FetchGroup.FULL_CONTENT, mailboxSession);
 
         return messages.stream()
             .flatMap(Throwing.function(messageResult -> 
messageResult.getLoadedAttachments().stream()))
diff --git 
a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/ReferenceUpdater.java
 
b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/ReferenceUpdater.java
index bfc1c30..dca90fc 100644
--- 
a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/ReferenceUpdater.java
+++ 
b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/ReferenceUpdater.java
@@ -93,7 +93,7 @@ public class ReferenceUpdater {
         List<MessageId> references = 
mailboxManager.search(searchByRFC822MessageId, session, limit);
         try {
             MessageId reference = Iterables.getOnlyElement(references);
-            List<MailboxId> mailboxIds = 
messageIdManager.getMessages(references, FetchGroup.MINIMAL, session).stream()
+            List<MailboxId> mailboxIds = 
messageIdManager.getMessage(reference, FetchGroup.MINIMAL, session).stream()
                 .map(MessageResult::getMailboxId)
                 .collect(Guavate.toImmutableList());
             messageIdManager.setFlags(flag, FlagsUpdateMode.ADD, reference, 
mailboxIds, session);
diff --git 
a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SendMDNProcessor.java
 
b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SendMDNProcessor.java
index 9edfb60..85e9068 100644
--- 
a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SendMDNProcessor.java
+++ 
b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SendMDNProcessor.java
@@ -161,9 +161,7 @@ public class SendMDNProcessor implements 
SetMessagesProcessor {
     }
 
     private Message retrieveOriginalMessage(JmapMDN mdn, MailboxSession 
mailboxSession) throws MailboxException, IOException, MessageNotFoundException {
-        List<MessageResult> messages = 
messageIdManager.getMessages(ImmutableList.of(mdn.getMessageId()),
-            FetchGroup.HEADERS,
-            mailboxSession);
+        List<MessageResult> messages = 
messageIdManager.getMessage(mdn.getMessageId(), FetchGroup.HEADERS, 
mailboxSession);
 
         if (messages.size() == 0) {
             throw new MessageNotFoundException();
diff --git 
a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMessagesUpdateProcessor.java
 
b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMessagesUpdateProcessor.java
index 0633c0d..07816cb 100644
--- 
a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMessagesUpdateProcessor.java
+++ 
b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMessagesUpdateProcessor.java
@@ -127,7 +127,7 @@ public class SetMessagesUpdateProcessor implements 
SetMessagesProcessor {
     private void update(MessageId messageId, UpdateMessagePatch 
updateMessagePatch, MailboxSession mailboxSession,
                         SetMessagesResponse.Builder builder) {
         try {
-            List<MessageResult> messages = 
messageIdManager.getMessages(ImmutableList.of(messageId), FetchGroup.MINIMAL, 
mailboxSession);
+            List<MessageResult> messages = 
messageIdManager.getMessage(messageId, FetchGroup.MINIMAL, mailboxSession);
             assertValidUpdate(messages, updateMessagePatch, mailboxSession);
 
             if (messages.isEmpty()) {
@@ -174,8 +174,7 @@ public class SetMessagesUpdateProcessor implements 
SetMessagesProcessor {
     private void sendMessageWhenOutboxInTargetMailboxIds(MessageId messageId, 
UpdateMessagePatch updateMessagePatch, MailboxSession mailboxSession, 
SetMessagesResponse.Builder builder) throws MailboxException, 
MessagingException, IOException {
         if (isTargetingOutbox(mailboxSession, 
listTargetMailboxIds(updateMessagePatch))) {
             Optional<MessageResult> maybeMessageToSend =
-                messageIdManager.getMessages(
-                    ImmutableList.of(messageId), FetchGroup.FULL_CONTENT, 
mailboxSession)
+                messageIdManager.getMessage(messageId, 
FetchGroup.FULL_CONTENT, mailboxSession)
                     .stream()
                     .findFirst();
             if (maybeMessageToSend.isPresent()) {
diff --git 
a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/send/PostDequeueDecorator.java
 
b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/send/PostDequeueDecorator.java
index a7ff93c..0d11502 100644
--- 
a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/send/PostDequeueDecorator.java
+++ 
b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/send/PostDequeueDecorator.java
@@ -143,7 +143,7 @@ public class PostDequeueDecorator extends 
MailQueueItemDecorator {
 
     private void assertMessageBelongsToOutbox(MessageId messageId, 
MailboxSession mailboxSession) throws MailboxException, 
MailShouldBeInOutboxException {
         MailboxId outboxMailboxId = getOutboxMailboxId(mailboxSession);
-        List<MessageResult> messages = 
messageIdManager.getMessages(ImmutableList.of(messageId), FetchGroup.MINIMAL, 
mailboxSession);
+        List<MessageResult> messages = messageIdManager.getMessage(messageId, 
FetchGroup.MINIMAL, mailboxSession);
         for (MessageResult message: messages) {
             if (message.getMailboxId().equals(outboxMailboxId)) {
                 return;
diff --git 
a/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/send/PostDequeueDecoratorTest.java
 
b/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/send/PostDequeueDecoratorTest.java
index 21555bf..1b4f256 100644
--- 
a/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/send/PostDequeueDecoratorTest.java
+++ 
b/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/send/PostDequeueDecoratorTest.java
@@ -271,12 +271,12 @@ public class PostDequeueDecoratorTest {
 
         ImmutableList<MessageResult> allMessages = 
ImmutableList.copyOf(messageManager.getMessages(MessageRange.all(), 
FetchGroup.MINIMAL, mailboxSession));
 
-        
when(messageIdManager.getMessages(eq(ImmutableList.of(messageId.getMessageId())),
 eq(FetchGroup.MINIMAL), any(MailboxSession.class))).thenReturn(allMessages);
+        when(messageIdManager.getMessage(eq(messageId.getMessageId()), 
eq(FetchGroup.MINIMAL), any(MailboxSession.class))).thenReturn(allMessages);
 
         testee.done(true);
         testee.done(true);
 
-        verify(messageIdManager, 
times(1)).getMessages(eq(ImmutableList.of(messageId.getMessageId())), 
eq(FetchGroup.MINIMAL), any(MailboxSession.class));
+        verify(messageIdManager, 
times(1)).getMessage(eq(messageId.getMessageId()), eq(FetchGroup.MINIMAL), 
any(MailboxSession.class));
         verify(messageIdManager, 
times(1)).setInMailboxes(eq(messageId.getMessageId()), 
eq(ImmutableList.of(sentMailboxId)), any(MailboxSession.class));
         verify(messageIdManager, times(1)).setFlags(eq(new Flags(Flag.SEEN)), 
eq(MessageManager.FlagsUpdateMode.ADD), eq(messageId.getMessageId()), 
eq(ImmutableList.of(sentMailboxId)), any(MailboxSession.class));
 
@@ -297,7 +297,7 @@ public class PostDequeueDecoratorTest {
         
mail.setAttribute(messageIdAttribute(messageId.getMessageId().serialize()));
         mail.setAttribute(USERNAME_ATTRIBUTE);
 
-        
when(messageIdManager.getMessages(eq(ImmutableList.of(messageId.getMessageId())),
 eq(FetchGroup.MINIMAL), 
any(MailboxSession.class))).thenThrow(MailboxException.class);
+        when(messageIdManager.getMessage(eq(messageId.getMessageId()), 
eq(FetchGroup.MINIMAL), 
any(MailboxSession.class))).thenThrow(MailboxException.class);
 
         testee.done(true);
     }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to