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 be52477691577d1cdb567ad1f31979273c5c8aac
Author: Benoit Tellier <btell...@linagora.com>
AuthorDate: Sun Apr 19 16:47:52 2020 +0700

    JAMES-2997 step #10 Mailbox backend is responsible of creating 
messageAttachments
---
 .../listeners/SetCustomFlagOnBigMessagesTest.java  | 12 ++---
 .../org/apache/james/mailbox/MessageManager.java   | 14 ++---
 .../mailbox/MailboxManagerStressContract.java      |  2 +-
 .../apache/james/mailbox/MailboxManagerTest.java   | 56 +++++++++----------
 .../mailbox/manager/ManagerTestProvisionner.java   |  2 +-
 .../ElasticSearchIntegrationTest.java              | 16 +++---
 .../search/ElasticSearchSearcherTest.java          |  2 +-
 .../james/vault/DeletedMessageVaultHookTest.java   |  2 +-
 .../store/AbstractCombinationManagerTest.java      | 62 +++++++++++-----------
 .../store/AbstractMessageIdManagerStorageTest.java |  2 +-
 .../search/AbstractMessageSearchIndexTest.java     | 52 +++++++++---------
 .../tools/indexer/MessageIdReIndexerImplTest.java  |  2 +-
 .../mailbox/tools/indexer/ReIndexerImplTest.java   | 12 ++---
 .../james/imap/processor/AppendProcessor.java      |  2 +-
 .../org/apache/james/modules/MailboxProbeImpl.java |  4 +-
 .../mailets/delivery/MailboxAppender.java          |  2 +-
 .../james/jmap/draft/methods/MessageAppender.java  |  4 +-
 .../MessageFastViewProjectionItemFactoryTest.java  |  2 +-
 .../jmap/draft/methods/GetMessagesMethodTest.java  | 52 +++++++++---------
 .../message/view/MessageFastViewFactoryTest.java   |  8 +--
 .../message/view/MessageFullViewFactoryTest.java   |  2 +-
 .../message/view/MessageHeaderViewFactoryTest.java |  2 +-
 .../view/MessageMetadataViewFactoryTest.java       |  2 +-
 .../jmap/draft/send/PostDequeueDecoratorTest.java  | 16 +++---
 ...mputeMessageFastViewProjectionListenerTest.java | 12 ++---
 ...llFastViewProjectionItemsRequestToTaskTest.java |  4 +-
 ...erFastViewProjectionItemsRequestToTaskTest.java |  4 +-
 .../webadmin/vault/routes/RestoreService.java      |  2 +-
 .../james/webadmin/routes/MailboxesRoutesTest.java | 16 +++---
 .../james/webadmin/routes/MessageRoutesTest.java   |  4 +-
 .../webadmin/routes/UserMailboxesRoutesTest.java   |  4 +-
 .../james/webadmin/service/ExportServiceTest.java  |  2 +-
 .../service/MailboxesExportRequestToTaskTest.java  |  4 +-
 33 files changed, 192 insertions(+), 192 deletions(-)

diff --git 
a/examples/custom-listeners/src/test/java/org/apache/james/examples/custom/listeners/SetCustomFlagOnBigMessagesTest.java
 
b/examples/custom-listeners/src/test/java/org/apache/james/examples/custom/listeners/SetCustomFlagOnBigMessagesTest.java
index d198a94..8972fff 100644
--- 
a/examples/custom-listeners/src/test/java/org/apache/james/examples/custom/listeners/SetCustomFlagOnBigMessagesTest.java
+++ 
b/examples/custom-listeners/src/test/java/org/apache/james/examples/custom/listeners/SetCustomFlagOnBigMessagesTest.java
@@ -81,7 +81,7 @@ class SetCustomFlagOnBigMessagesTest {
         ComposedMessageId composedId = inboxMessageManager.appendMessage(
             MessageManager.AppendCommand.builder()
                 .build(smallMessage()),
-            mailboxSession).getIds();
+            mailboxSession).getId();
 
         assertThat(getMessageFlags(composedId.getUid()))
             .allSatisfy(flags -> 
assertThat(flags.contains(BIG_MESSAGE)).isFalse());
@@ -97,7 +97,7 @@ class SetCustomFlagOnBigMessagesTest {
             MessageManager.AppendCommand.builder()
                 .withFlags(appendMessageFlag)
                 .build(smallMessage()),
-            mailboxSession).getIds();
+            mailboxSession).getId();
 
         assertThat(getMessageFlags(composedId.getUid()))
             .allSatisfy(flags -> {
@@ -111,7 +111,7 @@ class SetCustomFlagOnBigMessagesTest {
         ComposedMessageId composedId = inboxMessageManager.appendMessage(
             MessageManager.AppendCommand.builder()
                 .build(bigMessage()),
-            mailboxSession).getIds();
+            mailboxSession).getId();
 
         assertThat(getMessageFlags(composedId.getUid()))
             .allSatisfy(flags -> 
assertThat(flags.contains(BIG_MESSAGE)).isTrue());
@@ -122,7 +122,7 @@ class SetCustomFlagOnBigMessagesTest {
         ComposedMessageId composedIdOfSmallMessage = 
inboxMessageManager.appendMessage(
             MessageManager.AppendCommand.builder()
                 .build(smallMessage()),
-            mailboxSession).getIds();
+            mailboxSession).getId();
 
         MessageResult addedMessage = inboxMessageManager
             .getMessages(MessageRange.one(composedIdOfSmallMessage.getUid()), 
FetchGroup.MINIMAL, mailboxSession)
@@ -154,7 +154,7 @@ class SetCustomFlagOnBigMessagesTest {
             MessageManager.AppendCommand.builder()
                 .withFlags(appendMessageFlag)
                 .build(bigMessage()),
-            mailboxSession).getIds();
+            mailboxSession).getId();
 
         assertThat(getMessageFlags(composedId.getUid()))
             .allSatisfy(flags -> {
@@ -173,7 +173,7 @@ class SetCustomFlagOnBigMessagesTest {
             MessageManager.AppendCommand.builder()
                 .withFlags(appendMessageFlag)
                 .build(bigMessage()),
-            mailboxSession).getIds();
+            mailboxSession).getId();
 
         assertThat(getMessageFlags(composedId.getUid()))
             .allSatisfy(flags -> 
assertThat(flags.contains(BIG_MESSAGE)).isTrue());
diff --git 
a/mailbox/api/src/main/java/org/apache/james/mailbox/MessageManager.java 
b/mailbox/api/src/main/java/org/apache/james/mailbox/MessageManager.java
index 53f3b67..f9c2065 100644
--- a/mailbox/api/src/main/java/org/apache/james/mailbox/MessageManager.java
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/MessageManager.java
@@ -143,16 +143,16 @@ public interface MessageManager {
     Map<MessageUid, Flags> setFlags(Flags flags, FlagsUpdateMode 
flagsUpdateMode, MessageRange set, MailboxSession mailboxSession) throws 
MailboxException;
 
     class AppendResult {
-        private final ComposedMessageId ids;
+        private final ComposedMessageId id;
         private final Optional<List<MessageAttachment>> messageAttachments;
 
-        public AppendResult(ComposedMessageId ids, 
Optional<List<MessageAttachment>> messageAttachments) {
-            this.ids = ids;
+        public AppendResult(ComposedMessageId id, 
Optional<List<MessageAttachment>> messageAttachments) {
+            this.id = id;
             this.messageAttachments = messageAttachments;
         }
 
-        public ComposedMessageId getIds() {
-            return ids;
+        public ComposedMessageId getId() {
+            return id;
         }
 
         public List<MessageAttachment> getMessageAttachments() {
@@ -165,7 +165,7 @@ public interface MessageManager {
             if (o instanceof AppendResult) {
                 AppendResult that = (AppendResult) o;
 
-                return Objects.equals(this.ids, that.ids)
+                return Objects.equals(this.id, that.id)
                     && Objects.equals(this.messageAttachments, 
that.messageAttachments);
             }
             return false;
@@ -173,7 +173,7 @@ public interface MessageManager {
 
         @Override
         public final int hashCode() {
-            return Objects.hash(ids, messageAttachments);
+            return Objects.hash(id, messageAttachments);
         }
     }
 
diff --git 
a/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressContract.java
 
b/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressContract.java
index 4821757..d160f17 100644
--- 
a/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressContract.java
+++ 
b/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressContract.java
@@ -93,7 +93,7 @@ public interface MailboxManagerStressContract<T extends 
MailboxManager> {
                         MessageManager.AppendCommand
                             .from(Message.Builder.of()
                                 .setSubject("test")
-                                .setBody("testmail", StandardCharsets.UTF_8)), 
mailboxSession).getIds();
+                                .setBody("testmail", StandardCharsets.UTF_8)), 
mailboxSession).getId();
 
                     System.out.println("Append message with uid=" + 
messageId.getUid());
                     if (uids.put(messageId.getUid(), new Object()) != null) {
diff --git 
a/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerTest.java 
b/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerTest.java
index 7382127..f3dfaa4 100644
--- a/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerTest.java
+++ b/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerTest.java
@@ -824,7 +824,7 @@ public abstract class MailboxManagerTest<T extends 
MailboxManager> {
 
         @Test
         void deleteMessageShouldFireExpungedEvent() throws Exception {
-            ComposedMessageId messageId = 
inboxManager.appendMessage(MessageManager.AppendCommand.builder().build(message),
 session).getIds();
+            ComposedMessageId messageId = 
inboxManager.appendMessage(MessageManager.AppendCommand.builder().build(message),
 session).getId();
             inboxManager.setFlags(new Flags(Flags.Flag.DELETED), 
MessageManager.FlagsUpdateMode.ADD, MessageRange.all(), session);
 
             retrieveEventBus(mailboxManager).register(listener, new 
MailboxIdRegistrationKey(inboxId));
@@ -913,7 +913,7 @@ public abstract class MailboxManagerTest<T extends 
MailboxManager> {
             
assumeTrue(mailboxManager.getSupportedMessageCapabilities().contains(MailboxManager.MessageCapabilities.UniqueID));
 
             Optional<MailboxId> targetMailboxId = 
mailboxManager.createMailbox(newPath, session);
-            ComposedMessageId messageId = 
inboxManager.appendMessage(AppendCommand.builder().build(message), 
session).getIds();
+            ComposedMessageId messageId = 
inboxManager.appendMessage(AppendCommand.builder().build(message), 
session).getId();
 
             retrieveEventBus(mailboxManager).register(listener, new 
MailboxIdRegistrationKey(targetMailboxId.get()));
             mailboxManager.copyMessages(MessageRange.all(), inbox, newPath, 
session);
@@ -946,7 +946,7 @@ public abstract class MailboxManagerTest<T extends 
MailboxManager> {
             
assumeTrue(mailboxManager.getSupportedMessageCapabilities().contains(MailboxManager.MessageCapabilities.UniqueID));
 
             Optional<MailboxId> targetMailboxId = 
mailboxManager.createMailbox(newPath, session);
-            ComposedMessageId messageId = 
inboxManager.appendMessage(AppendCommand.builder().build(message), 
session).getIds();
+            ComposedMessageId messageId = 
inboxManager.appendMessage(AppendCommand.builder().build(message), 
session).getId();
 
             retrieveEventBus(mailboxManager).register(listener, new 
MailboxIdRegistrationKey(targetMailboxId.get()));
             mailboxManager.moveMessages(MessageRange.all(), inbox, newPath, 
session);
@@ -964,7 +964,7 @@ public abstract class MailboxManagerTest<T extends 
MailboxManager> {
             
assumeTrue(mailboxManager.getSupportedMessageCapabilities().contains(MailboxManager.MessageCapabilities.UniqueID));
 
             mailboxManager.createMailbox(newPath, session);
-            ComposedMessageId messageId = 
inboxManager.appendMessage(AppendCommand.builder().build(message), 
session).getIds();
+            ComposedMessageId messageId = 
inboxManager.appendMessage(AppendCommand.builder().build(message), 
session).getId();
 
             retrieveEventBus(mailboxManager).register(listener, new 
MailboxIdRegistrationKey(inboxId));
             mailboxManager.moveMessages(MessageRange.all(), inbox, newPath, 
session);
@@ -1194,7 +1194,7 @@ public abstract class MailboxManagerTest<T extends 
MailboxManager> {
             MessageManager cacahueteMessageManager = 
mailboxManager.getMailbox(cacahueteMailboxId, session);
             MessageId cacahueteMessageId = cacahueteMessageManager
                 .appendMessage(AppendCommand.from(message), session)
-                .getIds().getMessageId();
+                .getId().getMessageId();
 
             MailboxPath pirouetteFilder = MailboxPath.forUser(USER_1, 
"PIROUETTE");
             MailboxId pirouetteMailboxId = 
mailboxManager.createMailbox(pirouetteFilder, session).get();
@@ -1202,7 +1202,7 @@ public abstract class MailboxManagerTest<T extends 
MailboxManager> {
 
             MessageId pirouetteMessageId = pirouetteMessageManager
                 .appendMessage(AppendCommand.from(message), session)
-                .getIds().getMessageId();
+                .getId().getMessageId();
 
             MultimailboxesSearchQuery multiMailboxesQuery = 
MultimailboxesSearchQuery
                 .from(new SearchQuery())
@@ -1226,7 +1226,7 @@ public abstract class MailboxManagerTest<T extends 
MailboxManager> {
 
             MessageId messageId = delegatedMessageManager
                 .appendMessage(AppendCommand.from(message), 
sessionFromDelegater)
-                .getIds().getMessageId();
+                .getId().getMessageId();
 
             mailboxManager.setRights(delegatedMailboxPath,
                 MailboxACL.EMPTY.apply(MailboxACL.command()
@@ -1376,7 +1376,7 @@ public abstract class MailboxManagerTest<T extends 
MailboxManager> {
 
             MessageId messageId = searchedMessageManager
                 .appendMessage(AppendCommand.from(message), session)
-                .getIds().getMessageId();
+                .getId().getMessageId();
 
             MultimailboxesSearchQuery multiMailboxesQuery = 
MultimailboxesSearchQuery
                 .from(new SearchQuery())
@@ -1842,11 +1842,11 @@ public abstract class MailboxManagerTest<T extends 
MailboxManager> {
 
             MessageId messageId1 = inboxMessageManager
                 .appendMessage(AppendCommand.from(message), session)
-                .getIds()
+                .getId()
                 .getMessageId();
             MessageId messageId2 = inboxMessageManager
                 .appendMessage(AppendCommand.from(message), session)
-                .getIds()
+                .getId()
                 .getMessageId();
 
             mailboxManager.moveMessages(MessageRange.all(), inbox, 
otherMailbox, session);
@@ -1886,10 +1886,10 @@ public abstract class MailboxManagerTest<T extends 
MailboxManager> {
 
             ComposedMessageId composedMessageId1 = inboxMessageManager
                 .appendMessage(AppendCommand.from(message), session)
-                .getIds();
+                .getId();
             MessageId messageId2 = inboxMessageManager
                 .appendMessage(AppendCommand.from(message), session)
-                .getIds()
+                .getId()
                 .getMessageId();
 
             
mailboxManager.moveMessages(MessageRange.one(composedMessageId1.getUid()), 
inbox, otherMailbox, session);
@@ -1979,11 +1979,11 @@ public abstract class MailboxManagerTest<T extends 
MailboxManager> {
 
             MessageId messageId1 = inboxMessageManager
                 .appendMessage(AppendCommand.from(message), session)
-                .getIds()
+                .getId()
                 .getMessageId();
             MessageId messageId2 = inboxMessageManager
                 .appendMessage(AppendCommand.from(message), session)
-                .getIds()
+                .getId()
                 .getMessageId();
 
             mailboxManager.copyMessages(MessageRange.all(), inbox, 
otherMailbox, session);
@@ -2022,10 +2022,10 @@ public abstract class MailboxManagerTest<T extends 
MailboxManager> {
 
             ComposedMessageId composedMessageId1 = inboxMessageManager
                 .appendMessage(AppendCommand.from(message), session)
-                .getIds();
+                .getId();
             MessageId messageId2 = inboxMessageManager
                 .appendMessage(AppendCommand.from(message), session)
-                .getIds()
+                .getId()
                 .getMessageId();
 
             MessageId messageId1 = composedMessageId1.getMessageId();
@@ -2213,7 +2213,7 @@ public abstract class MailboxManagerTest<T extends 
MailboxManager> {
             void expungeShouldCallAllPreDeletionHooks() throws Exception {
                 ComposedMessageId composeId = 
inboxManager.appendMessage(AppendCommand.builder()
                     .withFlags(new Flags(Flags.Flag.DELETED))
-                    .build(message), session).getIds();
+                    .build(message), session).getId();
                 inboxManager.expunge(MessageRange.one(composeId.getUid()), 
session);
 
                 ArgumentCaptor<PreDeletionHook.DeleteOperation> 
preDeleteCaptor1 = 
ArgumentCaptor.forClass(PreDeletionHook.DeleteOperation.class);
@@ -2234,7 +2234,7 @@ public abstract class MailboxManagerTest<T extends 
MailboxManager> {
             void deleteMailboxShouldCallAllPreDeletionHooks() throws Exception 
{
                 ComposedMessageId composeId = 
inboxManager.appendMessage(AppendCommand.builder()
                     .withFlags(new Flags(Flags.Flag.DELETED))
-                    .build(message), session).getIds();
+                    .build(message), session).getId();
                 mailboxManager.deleteMailbox(inbox, session);
 
                 ArgumentCaptor<PreDeletionHook.DeleteOperation> 
preDeleteCaptor1 = 
ArgumentCaptor.forClass(PreDeletionHook.DeleteOperation.class);
@@ -2255,7 +2255,7 @@ public abstract class MailboxManagerTest<T extends 
MailboxManager> {
             void deleteMailboxByIdShouldCallAllPreDeletionHooks() throws 
Exception {
                 ComposedMessageId composeId = 
inboxManager.appendMessage(AppendCommand.builder()
                     .withFlags(new Flags(Flags.Flag.DELETED))
-                    .build(message), session).getIds();
+                    .build(message), session).getId();
                 mailboxManager.deleteMailbox(inboxId, session);
 
                 ArgumentCaptor<PreDeletionHook.DeleteOperation> 
preDeleteCaptor1 = 
ArgumentCaptor.forClass(PreDeletionHook.DeleteOperation.class);
@@ -2276,10 +2276,10 @@ public abstract class MailboxManagerTest<T extends 
MailboxManager> {
             void 
expungeShouldCallAllPreDeletionHooksOnEachMessageDeletionCall() throws 
Exception {
                 ComposedMessageId composeId1 = 
inboxManager.appendMessage(AppendCommand.builder()
                     .withFlags(new Flags(Flags.Flag.DELETED))
-                    .build(message), session).getIds();
+                    .build(message), session).getId();
                 ComposedMessageId composeId2 = 
inboxManager.appendMessage(AppendCommand.builder()
                     .withFlags(new Flags(Flags.Flag.DELETED))
-                    .build(message), session).getIds();
+                    .build(message), session).getId();
 
                 inboxManager.expunge(MessageRange.one(composeId1.getUid()), 
session);
                 inboxManager.expunge(MessageRange.one(composeId2.getUid()), 
session);
@@ -2302,7 +2302,7 @@ public abstract class MailboxManagerTest<T extends 
MailboxManager> {
             void 
expungeShouldCallAllPreDeletionHooksOnlyOnMessagesMarkedAsDeleted() throws 
Exception {
                 ComposedMessageId composeId1 = 
inboxManager.appendMessage(AppendCommand.builder()
                     .withFlags(new Flags(Flags.Flag.DELETED))
-                    .build(message), session).getIds();
+                    .build(message), session).getId();
                 inboxManager.appendMessage(AppendCommand.builder()
                     .build(message), session);
 
@@ -2337,10 +2337,10 @@ public abstract class MailboxManagerTest<T extends 
MailboxManager> {
             void 
expungeShouldCallAllPreDeletionHooksOnEachMessageDeletionOnDifferentMailboxes() 
throws Exception {
                 ComposedMessageId composeId1 = 
inboxManager.appendMessage(AppendCommand.builder()
                     .withFlags(new Flags(Flags.Flag.DELETED))
-                    .build(message), session).getIds();
+                    .build(message), session).getId();
                 ComposedMessageId composeId2 = 
anotherMailboxManager.appendMessage(AppendCommand.builder()
                     .withFlags(new Flags(Flags.Flag.DELETED))
-                    .build(message), session).getIds();
+                    .build(message), session).getId();
 
                 inboxManager.expunge(MessageRange.one(composeId1.getUid()), 
session);
                 
anotherMailboxManager.expunge(MessageRange.one(composeId2.getUid()), session);
@@ -2370,7 +2370,7 @@ public abstract class MailboxManagerTest<T extends 
MailboxManager> {
 
                 ComposedMessageId composeId1 = 
inboxManager.appendMessage(AppendCommand.builder()
                     .withFlags(new Flags(Flags.Flag.DELETED))
-                    .build(message), session).getIds();
+                    .build(message), session).getId();
                 assertThatThrownBy(() -> 
inboxManager.expunge(MessageRange.one(composeId1.getUid()), session))
                     .isInstanceOf(RuntimeException.class);
 
@@ -2397,7 +2397,7 @@ public abstract class MailboxManagerTest<T extends 
MailboxManager> {
                         return Mono.empty();
                     });
 
-                ComposedMessageId composeId1 = 
inboxManager.appendMessage(AppendCommand.builder().build(message), 
session).getIds();
+                ComposedMessageId composeId1 = 
inboxManager.appendMessage(AppendCommand.builder().build(message), 
session).getId();
                 inboxManager.setFlags(new Flags(Flags.Flag.DELETED), 
MessageManager.FlagsUpdateMode.ADD,
                     MessageRange.one(composeId1.getUid()), session);
                 inboxManager.expunge(MessageRange.all(), session);
@@ -2428,7 +2428,7 @@ public abstract class MailboxManagerTest<T extends 
MailboxManager> {
         void getMessagesShouldIncludeHasAttachmentInformation() throws 
Exception {
             ComposedMessageId composeId = 
inboxManager.appendMessage(AppendCommand.builder()
                 .withFlags(new Flags(Flags.Flag.DELETED))
-                
.build(ClassLoaderUtils.getSystemResourceAsSharedStream("eml/twoAttachmentsApi.eml")),
 session).getIds();
+                
.build(ClassLoaderUtils.getSystemResourceAsSharedStream("eml/twoAttachmentsApi.eml")),
 session).getId();
 
             MessageResultIterator messages = 
inboxManager.getMessages(MessageRange.one(composeId.getUid()), 
FetchGroup.MINIMAL, session);
 
@@ -2442,7 +2442,7 @@ public abstract class MailboxManagerTest<T extends 
MailboxManager> {
         void getMessagesShouldNotIncludeAttachmentInformationWhenNone() throws 
Exception {
             ComposedMessageId composeId = 
inboxManager.appendMessage(AppendCommand.builder()
                 .withFlags(new Flags(Flags.Flag.DELETED))
-                .build(message), session).getIds();
+                .build(message), session).getId();
 
             MessageResultIterator messages = 
inboxManager.getMessages(MessageRange.one(composeId.getUid()), 
FetchGroup.MINIMAL, session);
 
diff --git 
a/mailbox/api/src/test/java/org/apache/james/mailbox/manager/ManagerTestProvisionner.java
 
b/mailbox/api/src/test/java/org/apache/james/mailbox/manager/ManagerTestProvisionner.java
index 309d48b..45079dc 100644
--- 
a/mailbox/api/src/test/java/org/apache/james/mailbox/manager/ManagerTestProvisionner.java
+++ 
b/mailbox/api/src/test/java/org/apache/james/mailbox/manager/ManagerTestProvisionner.java
@@ -100,7 +100,7 @@ public class ManagerTestProvisionner {
     public MessageUid appendMessage(MessageManager messageManager, 
MailboxSession session, Flags flags) throws MailboxException, 
UnsupportedEncodingException {
         return messageManager.appendMessage(new 
ByteArrayInputStream(MockMail.MAIL_TEXT_PLAIN.getBytes(StandardCharsets.UTF_8)),
             Calendar.getInstance().getTime(), session, true, flags)
-            .getIds()
+            .getId()
             .getUid();
     }
 
diff --git 
a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIntegrationTest.java
 
b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIntegrationTest.java
index 51983b3..2e53000 100644
--- 
a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIntegrationTest.java
+++ 
b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIntegrationTest.java
@@ -131,7 +131,7 @@ class ElasticSearchIntegrationTest extends 
AbstractMessageSearchIndexTest {
             Message.Builder.of()
                 .setTo(recipient)
                 .setBody(Strings.repeat("0à2345678é", 3200), 
StandardCharsets.UTF_8)),
-            session).getIds();
+            session).getId();
 
         elasticSearch.awaitForElasticSearch();
 
@@ -150,7 +150,7 @@ class ElasticSearchIntegrationTest extends 
AbstractMessageSearchIndexTest {
             Message.Builder.of()
                 .setTo(recipient)
                 .setBody(Strings.repeat("0123456789", 3300), 
StandardCharsets.UTF_8)),
-            session).getIds();
+            session).getId();
 
         elasticSearch.awaitForElasticSearch();
 
@@ -169,7 +169,7 @@ class ElasticSearchIntegrationTest extends 
AbstractMessageSearchIndexTest {
             Message.Builder.of()
                 .setTo(recipient)
                 .setBody(Strings.repeat("0123456789 ", 5000), 
StandardCharsets.UTF_8)),
-            session).getIds();
+            session).getId();
 
         elasticSearch.awaitForElasticSearch();
 
@@ -188,7 +188,7 @@ class ElasticSearchIntegrationTest extends 
AbstractMessageSearchIndexTest {
             Message.Builder.of()
                 .setTo(recipient)
                 .setBody(Strings.repeat("0123456789 ", 5000) + " matchMe", 
StandardCharsets.UTF_8)),
-            session).getIds();
+            session).getId();
 
         elasticSearch.awaitForElasticSearch();
 
@@ -208,7 +208,7 @@ class ElasticSearchIntegrationTest extends 
AbstractMessageSearchIndexTest {
             Message.Builder.of()
                 .setTo(recipient)
                 .setBody(reasonableLongTerm, StandardCharsets.UTF_8)),
-            session).getIds();
+            session).getId();
 
         elasticSearch.awaitForElasticSearch();
 
@@ -225,14 +225,14 @@ class ElasticSearchIntegrationTest extends 
AbstractMessageSearchIndexTest {
         ComposedMessageId customDateHeaderMessageId = 
messageManager.appendMessage(
             MessageManager.AppendCommand.builder()
                 
.build(ClassLoader.getSystemResourceAsStream("eml/mailCustomDateHeader.eml")),
-            session).getIds();
+            session).getId();
 
         elasticSearch.awaitForElasticSearch();
 
         ComposedMessageId customStringHeaderMessageId = 
messageManager.appendMessage(
             MessageManager.AppendCommand.builder()
                 
.build(ClassLoader.getSystemResourceAsStream("eml/mailCustomStringHeader.eml")),
-            session).getIds();
+            session).getId();
 
         elasticSearch.awaitForElasticSearch();
 
@@ -256,7 +256,7 @@ class ElasticSearchIntegrationTest extends 
AbstractMessageSearchIndexTest {
         ComposedMessageId customStringHeaderMessageId = 
messageManager.appendMessage(
             MessageManager.AppendCommand.builder()
                 
.build(ClassLoader.getSystemResourceAsStream("eml/mailCustomStringHeader.eml")),
-            session).getIds();
+            session).getId();
 
         elasticSearch.awaitForElasticSearch();
 
diff --git 
a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/search/ElasticSearchSearcherTest.java
 
b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/search/ElasticSearchSearcherTest.java
index 444628f..686af32 100644
--- 
a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/search/ElasticSearchSearcherTest.java
+++ 
b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/search/ElasticSearchSearcherTest.java
@@ -168,6 +168,6 @@ class ElasticSearchSearcherTest {
                 .setTo(recipient)
                 .setBody("Hello", StandardCharsets.UTF_8)),
             session)
-            .getIds();
+            .getId();
     }
 }
\ No newline at end of file
diff --git 
a/mailbox/plugin/deleted-messages-vault/src/test/java/org/apache/james/vault/DeletedMessageVaultHookTest.java
 
b/mailbox/plugin/deleted-messages-vault/src/test/java/org/apache/james/vault/DeletedMessageVaultHookTest.java
index 4f0bfc5..53b9fc9 100644
--- 
a/mailbox/plugin/deleted-messages-vault/src/test/java/org/apache/james/vault/DeletedMessageVaultHookTest.java
+++ 
b/mailbox/plugin/deleted-messages-vault/src/test/java/org/apache/james/vault/DeletedMessageVaultHookTest.java
@@ -103,7 +103,7 @@ class DeletedMessageVaultHookTest {
         return 
messageManager.appendMessage(MessageManager.AppendCommand.builder()
                 .withInternalDate(INTERNAL_DATE)
                 .build(mailContent), aliceSession)
-            .getIds();
+            .getId();
     }
 
     @BeforeEach
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 33a7280..f106aa7 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
@@ -98,7 +98,7 @@ public abstract class AbstractCombinationManagerTest {
     @Test
     void 
getMessageCountFromMessageManagerShouldReturnDataSetInMailboxesFromMessageIdManager()
 throws Exception {
         MessageId messageId = 
messageManager1.appendMessage(MessageManager.AppendCommand.from(mailContent), 
session)
-            .getIds().getMessageId();
+            .getId().getMessageId();
 
         messageIdManager.setInMailboxes(messageId, 
ImmutableList.of(mailbox1.getMailboxId(), mailbox2.getMailboxId()), session);
 
@@ -111,7 +111,7 @@ public abstract class AbstractCombinationManagerTest {
         query.andCriteria(SearchQuery.all());
 
         MessageId messageId = 
messageManager1.appendMessage(MessageManager.AppendCommand.from(mailContent), 
session)
-            .getIds().getMessageId();
+            .getId().getMessageId();
 
         messageIdManager.setInMailboxes(messageId, 
ImmutableList.of(mailbox1.getMailboxId(), mailbox2.getMailboxId()), session);
 
@@ -124,7 +124,7 @@ public abstract class AbstractCombinationManagerTest {
         query.andCriteria(SearchQuery.all());
 
         MessageId messageId = 
messageManager1.appendMessage(MessageManager.AppendCommand.from(mailContent), 
session)
-            .getIds().getMessageId();
+            .getId().getMessageId();
 
         messageIdManager.setInMailboxes(messageId,
             ImmutableList.of(mailbox1.getMailboxId(), 
mailbox2.getMailboxId()), session);
@@ -142,7 +142,7 @@ public abstract class AbstractCombinationManagerTest {
         SearchQuery query = new SearchQuery();
         query.andCriteria(SearchQuery.all());
 
-        ComposedMessageId composedMessageId = 
messageManager1.appendMessage(MessageManager.AppendCommand.from(mailContent), 
session).getIds();
+        ComposedMessageId composedMessageId = 
messageManager1.appendMessage(MessageManager.AppendCommand.from(mailContent), 
session).getId();
 
         messageIdManager.setInMailboxes(composedMessageId.getMessageId(),
             ImmutableList.of(mailbox1.getMailboxId(), 
mailbox2.getMailboxId()), session);
@@ -161,7 +161,7 @@ public abstract class AbstractCombinationManagerTest {
         MultimailboxesSearchQuery multiMailboxesQuery = builder.build();
 
         MessageId messageId = 
messageManager1.appendMessage(MessageManager.AppendCommand.from(mailContent), 
session)
-            .getIds().getMessageId();
+            .getId().getMessageId();
 
         messageIdManager.setInMailboxes(messageId, 
ImmutableList.of(mailbox1.getMailboxId(), mailbox2.getMailboxId()), session);
 
@@ -173,7 +173,7 @@ public abstract class AbstractCombinationManagerTest {
     void 
setFlagsToDeleteThenExpungeFromMessageManagerThenGetMessageFromMessageIdManagerShouldNotReturnAnything()
 throws Exception {
         Flags deleted = new Flags(Flag.DELETED);
         MessageId messageId = 
messageManager1.appendMessage(MessageManager.AppendCommand.from(mailContent), 
session)
-            .getIds().getMessageId();
+            .getId().getMessageId();
 
         messageManager1.setFlags(deleted, FlagsUpdateMode.ADD, 
MessageRange.all(), session);
         messageManager1.expunge(MessageRange.all(), session);
@@ -184,7 +184,7 @@ public abstract class AbstractCombinationManagerTest {
     @Test
     void 
expungeFromMessageManagerShouldWorkWhenSetFlagsToDeletedWithMessageIdManager() 
throws Exception {
         Flags deleted = new Flags(Flag.DELETED);
-        ComposedMessageId messageId = 
messageManager1.appendMessage(MessageManager.AppendCommand.from(mailContent), 
session).getIds();
+        ComposedMessageId messageId = 
messageManager1.appendMessage(MessageManager.AppendCommand.from(mailContent), 
session).getId();
 
         messageIdManager.setFlags(deleted, FlagsUpdateMode.ADD, 
messageId.getMessageId(), ImmutableList.of(mailbox1.getMailboxId()), session);
 
@@ -199,7 +199,7 @@ public abstract class AbstractCombinationManagerTest {
         ComposedMessageId messageId = messageManager1.appendMessage(
             MessageManager.AppendCommand.builder()
                 .withFlags(deleted)
-                .build(mailContent), session).getIds();
+                .build(mailContent), session).getId();
 
         messageIdManager.setInMailboxes(messageId.getMessageId(), 
ImmutableList.of(mailbox1.getMailboxId()), session);
 
@@ -211,7 +211,7 @@ public abstract class AbstractCombinationManagerTest {
     @Test
     void 
getMessageFromMessageIdManagerShouldReturnMessageWhenAppendMessageFromMessageManager()
 throws Exception {
         MessageId messageId = 
messageManager1.appendMessage(MessageManager.AppendCommand.from(mailContent), 
session)
-            .getIds().getMessageId();
+            .getId().getMessageId();
 
         assertThat(messageIdManager.getMessage(messageId, FetchGroup.MINIMAL, 
session)).hasSize(1);
     }
@@ -219,7 +219,7 @@ public abstract class AbstractCombinationManagerTest {
     @Test
     void 
getMessageFromMessageIdManagerShouldReturnMessageWhenCopyMessageWithMailboxIdFromMailboxManager()
 throws Exception {
         MessageId messageId = 
messageManager1.appendMessage(MessageManager.AppendCommand.from(mailContent), 
session)
-            .getIds().getMessageId();
+            .getId().getMessageId();
 
         mailboxManager.copyMessages(MessageRange.all(), 
mailbox1.getMailboxId(), mailbox2.getMailboxId(), session);
 
@@ -233,7 +233,7 @@ public abstract class AbstractCombinationManagerTest {
     @Test
     void 
getMessageFromMessageIdManagerShouldReturnMessageWhenCopyMessageWithMailboxPathFromMailboxManager()
 throws Exception {
         MessageId messageId = 
messageManager1.appendMessage(MessageManager.AppendCommand.from(mailContent), 
session)
-            .getIds().getMessageId();
+            .getId().getMessageId();
 
         mailboxManager.copyMessages(MessageRange.all(), 
MailboxFixture.INBOX_ALICE, MailboxFixture.OUTBOX_ALICE, session);
 
@@ -247,7 +247,7 @@ public abstract class AbstractCombinationManagerTest {
     @Test
     void 
getMessageFromMessageIdManagerShouldReturnMessageWhenMoveMessageWithMailboxIdFromMailboxManager()
 throws Exception {
         MessageId messageId = 
messageManager1.appendMessage(MessageManager.AppendCommand.from(mailContent), 
session)
-            .getIds().getMessageId();
+            .getId().getMessageId();
 
         mailboxManager.moveMessages(MessageRange.all(), 
MailboxFixture.INBOX_ALICE, MailboxFixture.OUTBOX_ALICE, session);
 
@@ -261,7 +261,7 @@ public abstract class AbstractCombinationManagerTest {
     @Test
     void 
getMessagesFromMessageManagerShouldReturnMessagesCreatedBySetInMailboxesFromMessageIdManager()
 throws Exception {
         MessageId messageId = 
messageManager1.appendMessage(MessageManager.AppendCommand.from(mailContent), 
session)
-            .getIds().getMessageId();
+            .getId().getMessageId();
 
         messageIdManager.setInMailboxes(messageId, 
ImmutableList.of(mailbox1.getMailboxId(), mailbox2.getMailboxId()), session);
 
@@ -276,7 +276,7 @@ public abstract class AbstractCombinationManagerTest {
         ComposedMessageId messageId = messageManager1.appendMessage(
             MessageManager.AppendCommand.builder()
                 .withFlags(recent)
-                .build(mailContent), session).getIds();
+                .build(mailContent), session).getId();
 
         long mailbox2NextUid = messageManager2.getMetaData(true, session, 
MessageManager.MetaData.FetchGroup.UNSEEN_COUNT).getUidNext().asLong();
         messageIdManager.setInMailboxes(messageId.getMessageId(), 
ImmutableList.of(mailbox1.getMailboxId(), mailbox2.getMailboxId()), session);
@@ -294,7 +294,7 @@ public abstract class AbstractCombinationManagerTest {
             MessageManager.AppendCommand.builder()
                 .withFlags(recent)
                 .build(mailContent), session)
-            .getIds().getMessageId();
+            .getId().getMessageId();
 
         messageIdManager.setInMailboxes(messageId, 
ImmutableList.of(mailbox1.getMailboxId(), mailbox2.getMailboxId()), session);
 
@@ -307,7 +307,7 @@ public abstract class AbstractCombinationManagerTest {
         ComposedMessageId messageId = messageManager1.appendMessage(
             MessageManager.AppendCommand.builder()
                 .withFlags(recent)
-                .build(mailContent), session).getIds();
+                .build(mailContent), session).getId();
 
         messageIdManager.setInMailboxes(messageId.getMessageId(), 
ImmutableList.of(mailbox1.getMailboxId(), mailbox2.getMailboxId()), session);
 
@@ -327,7 +327,7 @@ public abstract class AbstractCombinationManagerTest {
     @Test
     void 
getMetadataFromMessageManagerShouldReturnHighestModSeqWhenSetInMailboxesFromMessageIdManager()
 throws Exception {
         MessageId messageId = 
messageManager1.appendMessage(MessageManager.AppendCommand.from(mailContent), 
session)
-            .getIds().getMessageId();
+            .getId().getMessageId();
 
         messageIdManager.setInMailboxes(messageId, 
ImmutableList.of(mailbox1.getMailboxId(), mailbox2.getMailboxId()), session);
 
@@ -337,7 +337,7 @@ public abstract class AbstractCombinationManagerTest {
     @Test
     void 
getMetadataFromMessageManagerShouldReturnMessageCountWhenSetInMailboxesFromMessageIdManager()
 throws Exception {
         MessageId messageId = 
messageManager1.appendMessage(MessageManager.AppendCommand.from(mailContent), 
session)
-            .getIds().getMessageId();
+            .getId().getMessageId();
 
         messageIdManager.setInMailboxes(messageId, 
ImmutableList.of(mailbox1.getMailboxId(), mailbox2.getMailboxId()), session);
 
@@ -347,7 +347,7 @@ public abstract class AbstractCombinationManagerTest {
     @Test
     void 
getMetadataFromMessageManagerShouldReturnNumberOfUnseenMessageWhenSetInMailboxesFromMessageIdManager()
 throws Exception {
         MessageId messageId = 
messageManager1.appendMessage(MessageManager.AppendCommand.from(mailContent), 
session)
-            .getIds().getMessageId();
+            .getId().getMessageId();
 
         messageIdManager.setInMailboxes(messageId, 
ImmutableList.of(mailbox1.getMailboxId(), mailbox2.getMailboxId()), session);
 
@@ -356,7 +356,7 @@ public abstract class AbstractCombinationManagerTest {
 
     @Test
     void 
getMetadataFromMessageManagerShouldReturnFirstUnseenMessageWhenSetInMailboxesFromMessageIdManager()
 throws Exception {
-        ComposedMessageId messageId = 
messageManager1.appendMessage(MessageManager.AppendCommand.from(mailContent), 
session).getIds();
+        ComposedMessageId messageId = 
messageManager1.appendMessage(MessageManager.AppendCommand.from(mailContent), 
session).getId();
 
         messageIdManager.setInMailboxes(messageId.getMessageId(), 
ImmutableList.of(mailbox1.getMailboxId(), mailbox2.getMailboxId()), session);
 
@@ -367,7 +367,7 @@ public abstract class AbstractCombinationManagerTest {
     void 
getMetadataFromMessageManagerShouldReturnNumberOfUnseenMessageWhenSetFlagsFromMessageIdManager()
 throws Exception {
         Flags newFlag = new Flags(Flag.RECENT);
         MessageId messageId = 
messageManager1.appendMessage(MessageManager.AppendCommand.from(mailContent), 
session)
-            .getIds().getMessageId();
+            .getId().getMessageId();
 
         messageIdManager.setFlags(newFlag, FlagsUpdateMode.ADD, messageId, 
ImmutableList.of(mailbox1.getMailboxId(), mailbox2.getMailboxId()), session);
 
@@ -377,7 +377,7 @@ public abstract class AbstractCombinationManagerTest {
     @Test
     void 
getMetadataFromMessageManagerShouldReturnFirstUnseenMessageWhenSetFlagsFromMessageIdManager()
 throws Exception {
         Flags newFlag = new Flags(Flag.USER);
-        ComposedMessageId messageId = 
messageManager1.appendMessage(MessageManager.AppendCommand.from(mailContent), 
session).getIds();
+        ComposedMessageId messageId = 
messageManager1.appendMessage(MessageManager.AppendCommand.from(mailContent), 
session).getId();
 
         messageIdManager.setFlags(newFlag, FlagsUpdateMode.ADD, 
messageId.getMessageId(), ImmutableList.of(mailbox1.getMailboxId(), 
mailbox2.getMailboxId()), session);
 
@@ -387,7 +387,7 @@ public abstract class AbstractCombinationManagerTest {
     @Test
     void setInMailboxesFromMessageIdManagerShouldMoveMessage() throws 
Exception {
         MessageId messageId = 
messageManager1.appendMessage(MessageManager.AppendCommand.from(mailContent), 
session)
-            .getIds().getMessageId();
+            .getId().getMessageId();
 
         messageIdManager.setInMailboxes(messageId, 
ImmutableList.of(mailbox2.getMailboxId()), session);
 
@@ -412,7 +412,7 @@ public abstract class AbstractCombinationManagerTest {
             MessageManager.AppendCommand.builder()
                 .withFlags(messageFlag)
                 .build(mailContent), session)
-            .getIds().getMessageId();
+            .getId().getMessageId();
 
         messageIdManager.setInMailboxes(messageId, 
ImmutableList.of(mailbox1.getMailboxId(), mailbox2.getMailboxId()), session);
 
@@ -443,7 +443,7 @@ public abstract class AbstractCombinationManagerTest {
             MessageManager.AppendCommand.builder()
                 .withFlags(messageFlag)
                 .build(mailContent), session)
-            .getIds().getMessageId();
+            .getId().getMessageId();
 
         messageIdManager.setFlags(deleted, FlagsUpdateMode.ADD, messageId, 
ImmutableList.of(mailbox1.getMailboxId()), session);
 
@@ -461,7 +461,7 @@ public abstract class AbstractCombinationManagerTest {
             MessageManager.AppendCommand.builder()
                 .withFlags(customFlag1)
                 .build(mailContent), session)
-            .getIds().getMessageId();
+            .getId().getMessageId();
 
 
         messageIdManager.setFlags(customFlag2, FlagsUpdateMode.ADD, messageId, 
ImmutableList.of(mailbox1.getMailboxId()), session);
@@ -483,7 +483,7 @@ public abstract class AbstractCombinationManagerTest {
             MessageManager.AppendCommand.builder()
                 .withFlags(custom1)
                 .build(mailContent), session)
-            .getIds().getMessageId();
+            .getId().getMessageId();
 
         messageIdManager.setInMailboxes(messageId, 
ImmutableList.of(mailbox1.getMailboxId(), mailbox2.getMailboxId()), session);
         messageManager2.setFlags(custom2, FlagsUpdateMode.ADD, 
MessageRange.all(), session);
@@ -500,7 +500,7 @@ public abstract class AbstractCombinationManagerTest {
     void getUidsShouldInteractWellWithSetInMailboxes() throws Exception {
         MessageId messageId = messageManager1
             .appendMessage(MessageManager.AppendCommand.from(mailContent), 
session)
-            .getIds().getMessageId();
+            .getId().getMessageId();
 
         messageIdManager.setInMailboxes(messageId, 
ImmutableList.of(mailbox1.getMailboxId(), mailbox2.getMailboxId()), session);
 
@@ -521,7 +521,7 @@ public abstract class AbstractCombinationManagerTest {
     void getUidsShouldInteractWellWithDelete() throws Exception {
         MessageId messageId = messageManager1
             .appendMessage(MessageManager.AppendCommand.from(mailContent), 
session)
-            .getIds().getMessageId();
+            .getId().getMessageId();
 
         messageIdManager.delete(messageId, 
ImmutableList.of(mailbox1.getMailboxId()), session);
 
@@ -533,10 +533,10 @@ public abstract class AbstractCombinationManagerTest {
     void getUidsShouldInteractWellWithDeletes() throws Exception {
         MessageId messageId1 = messageManager1
             .appendMessage(MessageManager.AppendCommand.from(mailContent), 
session)
-            .getIds().getMessageId();
+            .getId().getMessageId();
         MessageId messageId2 = messageManager1
             .appendMessage(MessageManager.AppendCommand.from(mailContent), 
session)
-            .getIds().getMessageId();
+            .getId().getMessageId();
 
         messageIdManager.delete(ImmutableList.of(messageId1, messageId2), 
session);
 
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 55914ad..25fe936 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
@@ -969,7 +969,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
             .appendMessage(MessageManager.AppendCommand.builder()
             .withFlags(new Flags(Flags.Flag.DELETED))
             
.build(ClassLoaderUtils.getSystemResourceAsSharedStream("eml/twoAttachmentsApi.eml")),
 bobSession)
-            .getIds()
+            .getId()
             .getMessageId();
 
         List<MessageResult> messages = messageIdManager.getMessage(messageId, 
FetchGroup.MINIMAL, bobSession);
diff --git 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/search/AbstractMessageSearchIndexTest.java
 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/search/AbstractMessageSearchIndexTest.java
index 9063fd6..7c55990 100644
--- 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/search/AbstractMessageSearchIndexTest.java
+++ 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/search/AbstractMessageSearchIndexTest.java
@@ -133,7 +133,7 @@ public abstract class AbstractMessageSearchIndexTest {
             new Date(1388617200000L),
             session,
             RECENT,
-            new Flags(Flags.Flag.DELETED)).getIds();
+            new Flags(Flags.Flag.DELETED)).getId();
         // sentDate: Thu, 4 Jun 2015 09:23:37 +0000
         // Internal date : 2014/02/02 00:00:00.000
         m2 = inboxMessageManager.appendMessage(
@@ -141,7 +141,7 @@ public abstract class AbstractMessageSearchIndexTest {
             new Date(1391295600000L),
             session,
             RECENT,
-            new Flags(Flags.Flag.ANSWERED)).getIds();
+            new Flags(Flags.Flag.ANSWERED)).getId();
         // sentDate: Thu, 4 Jun 2015 09:27:37 +0000
         // Internal date : 2014/03/02 00:00:00.000
         m3 = inboxMessageManager.appendMessage(
@@ -149,7 +149,7 @@ public abstract class AbstractMessageSearchIndexTest {
             new Date(1393714800000L),
             session,
             RECENT,
-            new Flags(Flags.Flag.DRAFT)).getIds();
+            new Flags(Flags.Flag.DRAFT)).getId();
         // sentDate: Tue, 2 Jun 2015 08:16:19 +0000
         // Internal date : 2014/05/02 00:00:00.000
         m4 = inboxMessageManager.appendMessage(
@@ -157,7 +157,7 @@ public abstract class AbstractMessageSearchIndexTest {
             new Date(1398981600000L),
             session,
             RECENT,
-            new Flags(Flags.Flag.RECENT)).getIds();
+            new Flags(Flags.Flag.RECENT)).getId();
         // sentDate: Fri, 15 May 2015 06:35:59 +0000
         // Internal date : 2014/04/02 00:00:00.000
         m5 = inboxMessageManager.appendMessage(
@@ -165,7 +165,7 @@ public abstract class AbstractMessageSearchIndexTest {
             new Date(1396389600000L),
             session,
             RECENT,
-            new Flags(Flags.Flag.FLAGGED)).getIds();
+            new Flags(Flags.Flag.FLAGGED)).getId();
         // sentDate: Wed, 03 Jun 2015 19:14:32 +0000
         // Internal date : 2014/06/02 00:00:00.000
         m6 = inboxMessageManager.appendMessage(
@@ -173,7 +173,7 @@ public abstract class AbstractMessageSearchIndexTest {
             new Date(1401660000000L),
             session,
             RECENT,
-            new Flags(Flags.Flag.SEEN)).getIds();
+            new Flags(Flags.Flag.SEEN)).getId();
         // sentDate: Thu, 04 Jun 2015 07:36:08 +0000
         // Internal date : 2014/07/02 00:00:00.000
         m7 = inboxMessageManager.appendMessage(
@@ -181,7 +181,7 @@ public abstract class AbstractMessageSearchIndexTest {
             new Date(1404252000000L),
             session,
             NOT_RECENT,
-            new Flags()).getIds();
+            new Flags()).getId();
         // sentDate: Thu, 4 Jun 2015 06:08:41 +0200
         // Internal date : 2014/08/02 00:00:00.000
         m8 = inboxMessageManager.appendMessage(
@@ -189,7 +189,7 @@ public abstract class AbstractMessageSearchIndexTest {
             new Date(1406930400000L),
             session,
             RECENT,
-            new Flags("Hello")).getIds();
+            new Flags("Hello")).getId();
         // sentDate: Thu, 4 Jun 2015 06:08:41 +0200
         // Internal date : 2014/08/02 00:00:00.000
         mOther = myFolderMessageManager.appendMessage(
@@ -197,34 +197,34 @@ public abstract class AbstractMessageSearchIndexTest {
             new Date(1406930400000L),
             session,
             RECENT,
-            new Flags(Flags.Flag.SEEN)).getIds();
+            new Flags(Flags.Flag.SEEN)).getId();
         m9 = inboxMessageManager.appendMessage(
             ClassLoader.getSystemResourceAsStream("eml/frnog.eml"),
             new Date(1409608800000L),
             session,
             RECENT,
-            new Flags("Hello you")).getIds();
+            new Flags("Hello you")).getId();
 
         mailWithAttachment = myFolderMessageManager.appendMessage(
             
ClassLoader.getSystemResourceAsStream("eml/oneAttachmentAndSomeTextInlined.eml"),
             new Date(1409608900000L),
             session,
             RECENT,
-            new Flags("Hello you")).getIds();
+            new Flags("Hello you")).getId();
 
         mailWithInlinedAttachment = myFolderMessageManager.appendMessage(
             
ClassLoader.getSystemResourceAsStream("eml/oneInlinedAttachment.eml"),
             new Date(1409608900000L),
             session,
             RECENT,
-            new Flags("Hello you")).getIds();
+            new Flags("Hello you")).getId();
 
         m10 = otherInboxMessageManager.appendMessage(
             ClassLoader.getSystemResourceAsStream("eml/mail1.eml"),
             new Date(1391295600000L),
             otherSession,
             RECENT,
-            new Flags()).getIds();
+            new Flags()).getId();
 
         await();
     }
@@ -422,7 +422,7 @@ public abstract class AbstractMessageSearchIndexTest {
         ComposedMessageId mailWithDotsInHeader = 
myFolderMessageManager.appendMessage(
             MessageManager.AppendCommand.builder()
                 
.build(ClassLoader.getSystemResourceAsStream("eml/headerWithDot.eml")),
-            session).getIds();
+            session).getId();
         await();
         
         SearchQuery searchQuery = new SearchQuery(SearchQuery.all());
@@ -437,7 +437,7 @@ public abstract class AbstractMessageSearchIndexTest {
         ComposedMessageId mailWithDotsInHeader = 
myFolderMessageManager.appendMessage(
             MessageManager.AppendCommand.builder()
                 
.build(ClassLoader.getSystemResourceAsStream("eml/headerWithDot.eml")),
-            session).getIds();
+            session).getId();
         await();
 
         SearchQuery searchQuery = new 
SearchQuery(SearchQuery.headerExists("X-header.with.dots"));
@@ -453,7 +453,7 @@ public abstract class AbstractMessageSearchIndexTest {
         ComposedMessageId m11 = inboxMessageManager.appendMessage(
             MessageManager.AppendCommand.builder()
             .build(ClassLoader.getSystemResourceAsStream("eml/mail5.eml")),
-            session).getIds();
+            session).getId();
 
         String emailToSearch = "luc.du...@james.apache.org";
 
@@ -1362,7 +1362,7 @@ public abstract class AbstractMessageSearchIndexTest {
         ComposedMessageId messageWithBeautifulBananaAsTextAttachment = 
myFolderMessageManager.appendMessage(
             MessageManager.AppendCommand.builder()
             
.build(ClassLoader.getSystemResourceAsStream("eml/emailWithTextAttachment.eml")),
-            session).getIds();
+            session).getId();
         await();
 
         SearchQuery searchQuery = new 
SearchQuery(SearchQuery.mailContains("User message banana"));
@@ -1377,7 +1377,7 @@ public abstract class AbstractMessageSearchIndexTest {
         ComposedMessageId messageWithBeautifulBananaAsTextAttachment = 
myFolderMessageManager.appendMessage(
             MessageManager.AppendCommand.builder()
                 
.build(ClassLoader.getSystemResourceAsStream("eml/emailWithTextAttachment.eml")),
-            session).getIds();
+            session).getId();
         await();
 
         SearchQuery searchQuery = new 
SearchQuery(SearchQuery.attachmentContains("beautiful banana"));
@@ -1401,7 +1401,7 @@ public abstract class AbstractMessageSearchIndexTest {
                 .setBody(multipart)
                 .build();
         ComposedMessageId messageWithBeautifulBananaAsPDFAttachment = 
myFolderMessageManager
-            .appendMessage(MessageManager.AppendCommand.from(message), 
session).getIds();
+            .appendMessage(MessageManager.AppendCommand.from(message), 
session).getId();
         await();
 
         SearchQuery searchQuery = new 
SearchQuery(SearchQuery.attachmentContains("beautiful banana"));
@@ -1441,19 +1441,19 @@ public abstract class AbstractMessageSearchIndexTest {
             .build(Message.Builder.of()
                 .setSubject("test")
                 .setBody("testmail", StandardCharsets.UTF_8)),
-            session).getIds();
+            session).getId();
         ComposedMessageId message2 = 
messageManager.appendMessage(MessageManager.AppendCommand.builder()
             .withInternalDate(date2)
             .build(Message.Builder.of()
                 .setSubject("test")
                 .setBody("testmail", StandardCharsets.UTF_8)),
-            session).getIds();
+            session).getId();
         ComposedMessageId message3 = 
messageManager.appendMessage(MessageManager.AppendCommand.builder()
             .withInternalDate(date3)
             .build(Message.Builder.of()
                 .setSubject("test")
                 .setBody("testmail", StandardCharsets.UTF_8)),
-            session).getIds();
+            session).getId();
 
         await();
 
@@ -1480,7 +1480,7 @@ public abstract class AbstractMessageSearchIndexTest {
             .withInternalDate(date1)
             .build(Message.Builder.of()
                 .setSubject("test")
-                .setBody("testmail", StandardCharsets.UTF_8)), 
session).getIds();
+                .setBody("testmail", StandardCharsets.UTF_8)), 
session).getId();
         ComposedMessageId message2 = 
messageManager.appendMessage(MessageManager.AppendCommand.builder()
             .withInternalDate(date2)
             .build(Message.Builder.of()
@@ -1488,12 +1488,12 @@ public abstract class AbstractMessageSearchIndexTest {
                 .setDate(new SimpleDateFormat("yyyy/MM/dd HH:mm:ss")
                     .parse("2017/08/23 00:00:00 "), 
TimeZone.getTimeZone(ZoneId.of("+0200")))
                 .setBody("testmail", StandardCharsets.UTF_8)),
-            session).getIds();
+            session).getId();
         ComposedMessageId message3 = 
messageManager.appendMessage(MessageManager.AppendCommand.builder()
             .withInternalDate(date3)
             .build(Message.Builder.of()
                 .setSubject("test")
-                .setBody("testmail", StandardCharsets.UTF_8)), 
session).getIds();
+                .setBody("testmail", StandardCharsets.UTF_8)), 
session).getId();
 
         await();
 
@@ -1555,7 +1555,7 @@ public abstract class AbstractMessageSearchIndexTest {
                                     .build())
                                 .build())
                             .build())),
-            session).getIds();
+            session).getId();
 
         await();
 
diff --git 
a/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/MessageIdReIndexerImplTest.java
 
b/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/MessageIdReIndexerImplTest.java
index 694a73c..5aefb71 100644
--- 
a/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/MessageIdReIndexerImplTest.java
+++ 
b/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/MessageIdReIndexerImplTest.java
@@ -67,7 +67,7 @@ public class MessageIdReIndexerImplTest {
         ComposedMessageId createdMessage = mailboxManager.getMailbox(INBOX, 
systemSession)
             .appendMessage(
                 MessageManager.AppendCommand.builder().build("header: 
value\r\n\r\nbody"),
-                systemSession).getIds();
+                systemSession).getId();
 
         reIndexer.reIndex(createdMessage.getMessageId()).run();
 
diff --git 
a/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/ReIndexerImplTest.java
 
b/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/ReIndexerImplTest.java
index 7399e20..f38f39c 100644
--- 
a/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/ReIndexerImplTest.java
+++ 
b/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/ReIndexerImplTest.java
@@ -71,7 +71,7 @@ public class ReIndexerImplTest {
         ComposedMessageId createdMessage = mailboxManager.getMailbox(INBOX, 
systemSession)
             .appendMessage(
                 MessageManager.AppendCommand.builder().build("header: 
value\r\n\r\nbody"),
-                systemSession).getIds();
+                systemSession).getId();
 
         reIndexer.reIndex(INBOX).run();
 
@@ -98,7 +98,7 @@ public class ReIndexerImplTest {
         ComposedMessageId createdMessage = mailboxManager.getMailbox(INBOX, 
systemSession)
             .appendMessage(
                 MessageManager.AppendCommand.builder().build("header: 
value\r\n\r\nbody"),
-                systemSession).getIds();
+                systemSession).getId();
 
         reIndexer.reIndex().run();
         ArgumentCaptor<MailboxMessage> messageCaptor = 
ArgumentCaptor.forClass(MailboxMessage.class);
@@ -124,7 +124,7 @@ public class ReIndexerImplTest {
         ComposedMessageId createdMessage = mailboxManager.getMailbox(INBOX, 
systemSession)
             .appendMessage(
                 MessageManager.AppendCommand.builder().build("header: 
value\r\n\r\nbody"),
-                systemSession).getIds();
+                systemSession).getId();
 
         reIndexer.reIndex(USERNAME).run();
         ArgumentCaptor<MailboxMessage> messageCaptor = 
ArgumentCaptor.forClass(MailboxMessage.class);
@@ -150,7 +150,7 @@ public class ReIndexerImplTest {
         ComposedMessageId createdMessage = mailboxManager.getMailbox(INBOX, 
systemSession)
             .appendMessage(
                 MessageManager.AppendCommand.builder().build("header: 
value\r\n\r\nbody"),
-                systemSession).getIds();
+                systemSession).getId();
 
         reIndexer.reIndex(INBOX, createdMessage.getUid()).run();
         ArgumentCaptor<MailboxMessage> messageCaptor = 
ArgumentCaptor.forClass(MailboxMessage.class);
@@ -173,7 +173,7 @@ public class ReIndexerImplTest {
         ComposedMessageId createdMessage = mailboxManager.getMailbox(INBOX, 
systemSession)
             .appendMessage(
                 MessageManager.AppendCommand.builder().build("header: 
value\r\n\r\nbody"),
-                systemSession).getIds();
+                systemSession).getId();
 
         reIndexer.reIndex(mailboxId, createdMessage.getUid()).run();
         ArgumentCaptor<MailboxMessage> messageCaptor = 
ArgumentCaptor.forClass(MailboxMessage.class);
@@ -216,7 +216,7 @@ public class ReIndexerImplTest {
         ComposedMessageId createdMessage = mailboxManager.getMailbox(INBOX, 
systemSession)
             .appendMessage(
                 MessageManager.AppendCommand.builder().build("header: 
value\r\n\r\nbody"),
-                systemSession).getIds();
+                systemSession).getId();
 
         reIndexer.reIndex(mailboxId).run();
         ArgumentCaptor<MailboxMessage> messageCaptor = 
ArgumentCaptor.forClass(MailboxMessage.class);
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/AppendProcessor.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/AppendProcessor.java
index 1efaedb..5fe4aa5 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/AppendProcessor.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/AppendProcessor.java
@@ -128,7 +128,7 @@ public class AppendProcessor extends 
AbstractMailboxProcessor<AppendRequest> {
             final SelectedMailbox selectedMailbox = session.getSelected();
             final boolean isSelectedMailbox = selectedMailbox != null && 
selectedMailbox.getMailboxId().equals(mailbox.getId());
             final ComposedMessageId messageId = mailbox.appendMessage(message, 
datetime, mailboxSession, !isSelectedMailbox, flagsToBeSet)
-                .getIds();
+                .getId();
             if (isSelectedMailbox) {
                 selectedMailbox.addRecent(messageId.getUid());
             }
diff --git 
a/server/container/guice/mailbox/src/main/java/org/apache/james/modules/MailboxProbeImpl.java
 
b/server/container/guice/mailbox/src/main/java/org/apache/james/modules/MailboxProbeImpl.java
index c5b0c54..97e0c16 100644
--- 
a/server/container/guice/mailbox/src/main/java/org/apache/james/modules/MailboxProbeImpl.java
+++ 
b/server/container/guice/mailbox/src/main/java/org/apache/james/modules/MailboxProbeImpl.java
@@ -152,7 +152,7 @@ public class MailboxProbeImpl implements GuiceProbe, 
MailboxProbe {
 
         MailboxSession mailboxSession = 
mailboxManager.createSystemSession(Username.of(username));
         MessageManager messageManager = mailboxManager.getMailbox(mailboxPath, 
mailboxSession);
-        return messageManager.appendMessage(message, internalDate, 
mailboxSession, isRecent, flags).getIds();
+        return messageManager.appendMessage(message, internalDate, 
mailboxSession, isRecent, flags).getId();
     }
 
     public ComposedMessageId appendMessage(String username, MailboxPath 
mailboxPath, MessageManager.AppendCommand appendCommand)
@@ -160,7 +160,7 @@ public class MailboxProbeImpl implements GuiceProbe, 
MailboxProbe {
 
         MailboxSession mailboxSession = 
mailboxManager.createSystemSession(Username.of(username));
         MessageManager messageManager = mailboxManager.getMailbox(mailboxPath, 
mailboxSession);
-        return messageManager.appendMessage(appendCommand, 
mailboxSession).getIds();
+        return messageManager.appendMessage(appendCommand, 
mailboxSession).getId();
     }
 
     @Override
diff --git 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/MailboxAppender.java
 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/MailboxAppender.java
index f552ca4..3f1e8f5 100644
--- 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/MailboxAppender.java
+++ 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/MailboxAppender.java
@@ -51,7 +51,7 @@ public class MailboxAppender {
     public ComposedMessageId append(MimeMessage mail, Username user, String 
folder) throws MessagingException {
         MailboxSession session = createMailboxSession(user);
         return append(mail, user, useSlashAsSeparator(folder, session), 
session)
-            .getIds();
+            .getId();
     }
 
     private String useSlashAsSeparator(String urlPath, MailboxSession session) 
throws MessagingException {
diff --git 
a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/MessageAppender.java
 
b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/MessageAppender.java
index 3b76e13..f816549 100644
--- 
a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/MessageAppender.java
+++ 
b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/MessageAppender.java
@@ -91,7 +91,7 @@ public class MessageAppender {
                 .notRecent()
                 .build(content),
             session);
-        ComposedMessageId ids = appendResult.getIds();
+        ComposedMessageId ids = appendResult.getId();
         if (targetMailboxes.size() > 1) {
             messageIdManager.setInMailboxes(ids.getMessageId(), 
targetMailboxes, session);
         }
@@ -121,7 +121,7 @@ public class MessageAppender {
         AppendResult appendResult = 
messageManager.appendMessage(MessageManager.AppendCommand.builder()
             .withFlags(flags)
             .build(content), session);
-        ComposedMessageId ids = appendResult.getIds();
+        ComposedMessageId ids = appendResult.getId();
 
         return MetaDataWithContent.builder()
             .uid(ids.getUid())
diff --git 
a/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/MessageFastViewProjectionItemFactoryTest.java
 
b/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/MessageFastViewProjectionItemFactoryTest.java
index a042f8e..f3a0690 100644
--- 
a/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/MessageFastViewProjectionItemFactoryTest.java
+++ 
b/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/MessageFastViewProjectionItemFactoryTest.java
@@ -136,7 +136,7 @@ class MessageFastViewProjectionItemFactoryTest {
 
     MessageResult toMessageResult(String messageAsString) throws Exception {
         ComposedMessageId composedMessageId = 
mailbox.appendMessage(MessageManager.AppendCommand.builder()
-            .build(messageAsString), session).getIds();
+            .build(messageAsString), session).getId();
 
         return 
mailbox.getMessages(MessageRange.one(composedMessageId.getUid()), 
FetchGroup.FULL_CONTENT, session)
             .next();
diff --git 
a/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/methods/GetMessagesMethodTest.java
 
b/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/methods/GetMessagesMethodTest.java
index c726407..4103ff3 100644
--- 
a/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/methods/GetMessagesMethodTest.java
+++ 
b/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/methods/GetMessagesMethodTest.java
@@ -180,9 +180,9 @@ public class GetMessagesMethodTest {
     @SuppressWarnings("unchecked")
     public void processShouldFetchMessages() throws Exception {
         MessageManager inbox = mailboxManager.getMailbox(inboxPath, session);
-        ComposedMessageId message1 = 
inbox.appendMessage(AppendCommand.from(messageContent1), session).getIds();
-        ComposedMessageId message2 = 
inbox.appendMessage(AppendCommand.from(messageContent2), session).getIds();
-        ComposedMessageId message3 = 
inbox.appendMessage(AppendCommand.from(messageContent3), session).getIds();
+        ComposedMessageId message1 = 
inbox.appendMessage(AppendCommand.from(messageContent1), session).getId();
+        ComposedMessageId message2 = 
inbox.appendMessage(AppendCommand.from(messageContent2), session).getId();
+        ComposedMessageId message3 = 
inbox.appendMessage(AppendCommand.from(messageContent3), session).getId();
 
         GetMessagesRequest request = GetMessagesRequest.builder()
             .ids(ImmutableList.of(message1.getMessageId(),
@@ -215,7 +215,7 @@ public class GetMessagesMethodTest {
                 org.apache.james.mime4j.dom.Message.Builder.of()
                     .setSubject("message 1 subject")
                     .setBody("my <b>HTML</b> message", "html", 
StandardCharsets.UTF_8)),
-            session).getIds();
+            session).getId();
 
         GetMessagesRequest request = GetMessagesRequest.builder()
             .ids(ImmutableList.of(message.getMessageId()))
@@ -237,7 +237,7 @@ public class GetMessagesMethodTest {
     @Test
     public void 
processShouldReturnOnlyMandatoryPropertiesOnEmptyPropertyList() throws 
Exception {
         MessageManager inbox = mailboxManager.getMailbox(inboxPath, session);
-        ComposedMessageId message1 = 
inbox.appendMessage(AppendCommand.from(this.messageContent1), session).getIds();
+        ComposedMessageId message1 = 
inbox.appendMessage(AppendCommand.from(this.messageContent1), session).getId();
 
         GetMessagesRequest request = GetMessagesRequest.builder()
             .ids(ImmutableList.of(message1.getMessageId()))
@@ -255,7 +255,7 @@ public class GetMessagesMethodTest {
     public void processShouldReturnAllPropertiesWhenNoPropertyGiven() throws 
Exception {
         MessageManager inbox = mailboxManager.getMailbox(inboxPath, session);
 
-        ComposedMessageId message1 = 
inbox.appendMessage(AppendCommand.from(messageContent1), session).getIds();
+        ComposedMessageId message1 = 
inbox.appendMessage(AppendCommand.from(messageContent1), session).getId();
 
         GetMessagesRequest request = GetMessagesRequest.builder()
             .ids(ImmutableList.of(message1.getMessageId()))
@@ -271,7 +271,7 @@ public class GetMessagesMethodTest {
     public void processShouldAddMandatoryPropertiesWhenNotInPropertyList() 
throws Exception {
         MessageManager inbox = mailboxManager.getMailbox(inboxPath, session);
 
-        ComposedMessageId message1 = 
inbox.appendMessage(AppendCommand.from(messageContent1), session).getIds();
+        ComposedMessageId message1 = 
inbox.appendMessage(AppendCommand.from(messageContent1), session).getId();
 
         GetMessagesRequest request = GetMessagesRequest.builder()
             .ids(ImmutableList.of(message1.getMessageId()))
@@ -290,7 +290,7 @@ public class GetMessagesMethodTest {
     public void 
processShouldReturnTextBodyWhenBodyInPropertyListAndEmptyHtmlBody() throws 
Exception {
         MessageManager inbox = mailboxManager.getMailbox(inboxPath, session);
 
-        ComposedMessageId message1 = 
inbox.appendMessage(AppendCommand.from(messageContent1), session).getIds();
+        ComposedMessageId message1 = 
inbox.appendMessage(AppendCommand.from(messageContent1), session).getId();
 
         GetMessagesRequest request = GetMessagesRequest.builder()
             .ids(ImmutableList.of(message1.getMessageId()))
@@ -316,7 +316,7 @@ public class GetMessagesMethodTest {
                 org.apache.james.mime4j.dom.Message.Builder.of()
                     .setSubject("message 1 subject")
                     .setBody("my <b>HTML</b> message", "html", 
StandardCharsets.UTF_8)),
-            session).getIds();
+            session).getId();
 
         GetMessagesRequest request = GetMessagesRequest.builder()
             .ids(ImmutableList.of(message.getMessageId()))
@@ -344,7 +344,7 @@ public class GetMessagesMethodTest {
             AppendCommand.from(org.apache.james.mime4j.dom.Message.Builder.of()
                 .setSubject("message 1 subject")
                 .setBody("", "html", StandardCharsets.UTF_8)),
-            session).getIds();
+            session).getId();
 
         GetMessagesRequest request = GetMessagesRequest.builder()
             .ids(ImmutableList.of(message.getMessageId()))
@@ -378,7 +378,7 @@ public class GetMessagesMethodTest {
                     .addBodyPart(BodyPartBuilder.create()
                         .setBody("<a>The </a> <strong>HTML</strong> message", 
"html", StandardCharsets.UTF_8))
                     .build())),
-            session).getIds();
+            session).getId();
 
         GetMessagesRequest request = GetMessagesRequest.builder()
             .ids(ImmutableList.of(message.getMessageId()))
@@ -409,7 +409,7 @@ public class GetMessagesMethodTest {
                     .setField(new RawField("HEADer2", "Header2Content"))
                     .setSubject("message 1 subject")
                     .setBody("my message", StandardCharsets.UTF_8)),
-            session).getIds();
+            session).getId();
 
         GetMessagesRequest request = GetMessagesRequest.builder()
             .ids(ImmutableList.of(message1.getMessageId()))
@@ -437,7 +437,7 @@ public class GetMessagesMethodTest {
                     .setField(new RawField("HEADer2", "Header2Content"))
                     .setSubject("message 1 subject")
                     .setBody("my message", StandardCharsets.UTF_8)),
-            session).getIds();
+            session).getId();
 
         GetMessagesRequest request = GetMessagesRequest.builder()
             .ids(ImmutableList.of(message1.getMessageId()))
@@ -469,7 +469,7 @@ public class GetMessagesMethodTest {
                     .setField(new RawField("HEADer2", "Header2Content"))
                     .setSubject("message 1 subject")
                     .setBody("my message", StandardCharsets.UTF_8)),
-            session).getIds();
+            session).getId();
 
         MailboxId customMailboxId = 
mailboxManager.getMailbox(customMailboxPath, session).getId();
         messageIdManager.setInMailboxes(message1.getMessageId(),
@@ -506,7 +506,7 @@ public class GetMessagesMethodTest {
                     .setField(new RawField("HEADer2", "Header2Content"))
                     .setSubject("message 1 subject")
                     .setBody("my message", StandardCharsets.UTF_8)),
-            session).getIds();
+            session).getId();
 
         MailboxId customMailboxId = 
mailboxManager.getMailbox(customMailboxPath, session).getId();
         messageIdManager.setInMailboxes(message1.getMessageId(),
@@ -541,7 +541,7 @@ public class GetMessagesMethodTest {
                     .setField(new RawField("HEADer2", "Header2Content"))
                     .setSubject("message 1 subject")
                     .setBody("my message", StandardCharsets.UTF_8)),
-            session).getIds();
+            session).getId();
 
         MailboxId customMailboxId = 
mailboxManager.getMailbox(customMailboxPath, session).getId();
         messageIdManager.setInMailboxes(message1.getMessageId(),
@@ -576,7 +576,7 @@ public class GetMessagesMethodTest {
                     .setField(new RawField("HEADer2", "Header2Content"))
                     .setSubject("message 1 subject")
                     .setBody("my message", StandardCharsets.UTF_8)),
-            session).getIds();
+            session).getId();
 
         MailboxId customMailboxId = 
mailboxManager.getMailbox(customMailboxPath, session).getId();
         messageIdManager.setInMailboxes(message1.getMessageId(),
@@ -611,8 +611,8 @@ public class GetMessagesMethodTest {
             .setBody("my message", StandardCharsets.UTF_8)
             .build();
 
-        ComposedMessageId message1 = 
inbox.appendMessage(AppendCommand.from(messageContent), session).getIds();
-        ComposedMessageId message2 = 
inbox.appendMessage(AppendCommand.from(messageContent), session).getIds();
+        ComposedMessageId message1 = 
inbox.appendMessage(AppendCommand.from(messageContent), session).getId();
+        ComposedMessageId message2 = 
inbox.appendMessage(AppendCommand.from(messageContent), session).getId();
 
         doCallRealMethod()
             .doThrow(new RuntimeException())
@@ -643,17 +643,17 @@ public class GetMessagesMethodTest {
             AppendCommand.builder()
                 .withFlags(flags)
                 .build(messageContent1),
-            session).getIds();
+            session).getId();
         ComposedMessageId message2 = inbox.appendMessage(
             AppendCommand.builder()
                 .withFlags(flags)
                 .build(messageContent2),
-            session).getIds();
+            session).getId();
         ComposedMessageId message3 = inbox.appendMessage(
             AppendCommand.builder()
                 .withFlags(flags)
                 .build(messageContent3),
-            session).getIds();
+            session).getId();
 
         GetMessagesRequest request = GetMessagesRequest.builder()
             .ids(ImmutableList.of(message1.getMessageId(),
@@ -702,17 +702,17 @@ public class GetMessagesMethodTest {
             AppendCommand.builder()
                 .withFlags(flags1)
                 .build(messageContent1),
-            session).getIds();
+            session).getId();
         ComposedMessageId message2 = inbox.appendMessage(
             AppendCommand.builder()
                 .withFlags(flags2)
                 .build(messageContent2),
-            session).getIds();
+            session).getId();
         ComposedMessageId message3 = inbox.appendMessage(
             AppendCommand.builder()
                 .withFlags(flags3)
                 .build(messageContent3),
-            session).getIds();
+            session).getId();
 
         GetMessagesRequest request = GetMessagesRequest.builder()
             .ids(ImmutableList.of(message1.getMessageId(),
@@ -756,7 +756,7 @@ public class GetMessagesMethodTest {
             AppendCommand.builder()
                 .withFlags(flags)
                 .build(messageContent1),
-            session).getIds();
+            session).getId();
 
         GetMessagesRequest request = GetMessagesRequest.builder()
             .ids(ImmutableList.of(message1.getMessageId()))
diff --git 
a/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/model/message/view/MessageFastViewFactoryTest.java
 
b/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/model/message/view/MessageFastViewFactoryTest.java
index a871a02..3c4d2de 100644
--- 
a/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/model/message/view/MessageFastViewFactoryTest.java
+++ 
b/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/model/message/view/MessageFastViewFactoryTest.java
@@ -121,19 +121,19 @@ class MessageFastViewFactoryTest {
         previewComputedMessage1 = 
bobInbox.appendMessage(MessageManager.AppendCommand.builder()
                 .withFlags(new Flags(Flags.Flag.SEEN))
                 
.build(ClassLoaderUtils.getSystemResourceAsSharedStream("fullMessage.eml")),
-            session).getIds();
+            session).getId();
         missingPreviewComputedMessage1 = 
bobInbox.appendMessage(MessageManager.AppendCommand.builder()
                 .withFlags(new Flags(Flags.Flag.SEEN))
                 
.build(ClassLoaderUtils.getSystemResourceAsSharedStream("fullMessage.eml")),
-            session).getIds();
+            session).getId();
         previewComputedMessage2 = 
bobInbox.appendMessage(MessageManager.AppendCommand.builder()
                 .withFlags(new Flags(Flags.Flag.SEEN))
                 
.build(ClassLoaderUtils.getSystemResourceAsSharedStream("fullMessage.eml")),
-            session).getIds();
+            session).getId();
         previewComputedMessage3 = 
bobInbox.appendMessage(MessageManager.AppendCommand.builder()
                 .withFlags(new Flags(Flags.Flag.SEEN))
                 
.build(ClassLoaderUtils.getSystemResourceAsSharedStream("fullMessage.eml")),
-            session).getIds();
+            session).getId();
 
         fastViewProjection = new MemoryMessageFastViewProjection(new 
RecordingMetricFactory());
 
diff --git 
a/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/model/message/view/MessageFullViewFactoryTest.java
 
b/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/model/message/view/MessageFullViewFactoryTest.java
index 4805f1e..48846ea 100644
--- 
a/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/model/message/view/MessageFullViewFactoryTest.java
+++ 
b/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/model/message/view/MessageFullViewFactoryTest.java
@@ -121,7 +121,7 @@ class MessageFullViewFactoryTest {
         message1 = 
bobInbox.appendMessage(MessageManager.AppendCommand.builder()
                 .withFlags(new Flags(Flags.Flag.SEEN))
                 
.build(ClassLoaderUtils.getSystemResourceAsSharedStream("fullMessage.eml")),
-            session).getIds();
+            session).getId();
 
         fastViewProjection = spy(new MemoryMessageFastViewProjection(new 
RecordingMetricFactory()));
         messageFullViewFactory = new 
MessageFullViewFactory(resources.getBlobManager(), messageContentExtractor, 
htmlTextExtractor,
diff --git 
a/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/model/message/view/MessageHeaderViewFactoryTest.java
 
b/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/model/message/view/MessageHeaderViewFactoryTest.java
index 06b28fc..b10f4fc 100644
--- 
a/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/model/message/view/MessageHeaderViewFactoryTest.java
+++ 
b/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/model/message/view/MessageHeaderViewFactoryTest.java
@@ -74,7 +74,7 @@ class MessageHeaderViewFactoryTest {
         message1 = 
bobInbox.appendMessage(MessageManager.AppendCommand.builder()
                 .withFlags(new Flags(Flags.Flag.SEEN))
                 
.build(ClassLoaderUtils.getSystemResourceAsSharedStream("fullMessage.eml")),
-            session).getIds();
+            session).getId();
 
         testee = new MessageHeaderViewFactory(resources.getBlobManager(), 
messageIdManager);
     }
diff --git 
a/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/model/message/view/MessageMetadataViewFactoryTest.java
 
b/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/model/message/view/MessageMetadataViewFactoryTest.java
index f1423c8..5297c72 100644
--- 
a/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/model/message/view/MessageMetadataViewFactoryTest.java
+++ 
b/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/model/message/view/MessageMetadataViewFactoryTest.java
@@ -66,7 +66,7 @@ class MessageMetadataViewFactoryTest {
         message1 = 
bobInbox.appendMessage(MessageManager.AppendCommand.builder()
                 .withFlags(new Flags(Flags.Flag.SEEN))
                 .build("header: value\r\n\r\nbody"),
-            session).getIds();
+            session).getId();
 
         testee = new MessageMetadataViewFactory(resources.getBlobManager(), 
messageIdManager);
     }
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 2111440..8366beb 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
@@ -114,7 +114,7 @@ public class PostDequeueDecoratorTest {
         mailboxManager.createMailbox(OUTBOX_MAILBOX_PATH, mailboxSession);
         mailboxManager.createMailbox(SENT_MAILBOX_PATH, mailboxSession);
         MessageManager messageManager = 
mailboxManager.getMailbox(SENT_MAILBOX_PATH, mailboxSession);
-        ComposedMessageId sentMessageId = 
messageManager.appendMessage(AppendCommand.from(message), 
mailboxSession).getIds();
+        ComposedMessageId sentMessageId = 
messageManager.appendMessage(AppendCommand.from(message), 
mailboxSession).getId();
         
mail.setAttribute(messageIdAttribute(sentMessageId.getMessageId().serialize()));
         mail.setAttribute(USERNAME_ATTRIBUTE);
         
@@ -126,7 +126,7 @@ public class PostDequeueDecoratorTest {
         MailboxSession mailboxSession = 
mailboxManager.createSystemSession(USERNAME);
         mailboxManager.createMailbox(OUTBOX_MAILBOX_PATH, mailboxSession);
         MessageManager messageManager = 
mailboxManager.getMailbox(OUTBOX_MAILBOX_PATH, mailboxSession);
-        ComposedMessageId messageId = 
messageManager.appendMessage(AppendCommand.from(message), 
mailboxSession).getIds();
+        ComposedMessageId messageId = 
messageManager.appendMessage(AppendCommand.from(message), 
mailboxSession).getId();
         
mail.setAttribute(messageIdAttribute(messageId.getMessageId().serialize()));
         mail.setAttribute(USERNAME_ATTRIBUTE);
 
@@ -139,7 +139,7 @@ public class PostDequeueDecoratorTest {
         mailboxManager.createMailbox(OUTBOX_MAILBOX_PATH, mailboxSession);
         mailboxManager.createMailbox(SENT_MAILBOX_PATH, mailboxSession);
         MessageManager messageManager = 
mailboxManager.getMailbox(OUTBOX_MAILBOX_PATH, mailboxSession);
-        ComposedMessageId messageId = 
messageManager.appendMessage(AppendCommand.from(message), 
mailboxSession).getIds();
+        ComposedMessageId messageId = 
messageManager.appendMessage(AppendCommand.from(message), 
mailboxSession).getId();
         
mail.setAttribute(messageIdAttribute(messageId.getMessageId().serialize()));
         mail.setAttribute(USERNAME_ATTRIBUTE);
         
@@ -157,7 +157,7 @@ public class PostDequeueDecoratorTest {
         mailboxManager.createMailbox(OUTBOX_MAILBOX_PATH, mailboxSession);
         mailboxManager.createMailbox(SENT_MAILBOX_PATH, mailboxSession);
         MessageManager messageManager = 
mailboxManager.getMailbox(OUTBOX_MAILBOX_PATH, mailboxSession);
-        ComposedMessageId messageId = 
messageManager.appendMessage(AppendCommand.from(message), 
mailboxSession).getIds();
+        ComposedMessageId messageId = 
messageManager.appendMessage(AppendCommand.from(message), 
mailboxSession).getId();
         
mail.setAttribute(messageIdAttribute(messageId.getMessageId().serialize()));
         mail.setAttribute(USERNAME_ATTRIBUTE);
         
@@ -175,7 +175,7 @@ public class PostDequeueDecoratorTest {
         mailboxManager.createMailbox(OUTBOX_MAILBOX_PATH, mailboxSession);
         mailboxManager.createMailbox(SENT_MAILBOX_PATH, mailboxSession);
         MessageManager messageManager = 
mailboxManager.getMailbox(OUTBOX_MAILBOX_PATH, mailboxSession);
-        ComposedMessageId messageId = 
messageManager.appendMessage(AppendCommand.from(message), 
mailboxSession).getIds();
+        ComposedMessageId messageId = 
messageManager.appendMessage(AppendCommand.from(message), 
mailboxSession).getId();
         
mail.setAttribute(messageIdAttribute(messageId.getMessageId().serialize()));
         mail.setAttribute(USERNAME_ATTRIBUTE);
         
@@ -209,7 +209,7 @@ public class PostDequeueDecoratorTest {
         mailboxManager.createMailbox(OUTBOX_MAILBOX_PATH, mailboxSession);
         mailboxManager.createMailbox(SENT_MAILBOX_PATH, mailboxSession);
         MessageManager messageManager = 
mailboxManager.getMailbox(OUTBOX_MAILBOX_PATH, mailboxSession);
-        ComposedMessageId messageId = 
messageManager.appendMessage(AppendCommand.from(message), 
mailboxSession).getIds();
+        ComposedMessageId messageId = 
messageManager.appendMessage(AppendCommand.from(message), 
mailboxSession).getId();
         
mail.setAttribute(messageIdAttribute(messageId.getMessageId().serialize()));
         
         testee.done(true);
@@ -265,7 +265,7 @@ public class PostDequeueDecoratorTest {
         mailboxManager.createMailbox(OUTBOX_MAILBOX_PATH, mailboxSession);
         MailboxId sentMailboxId = 
mailboxManager.createMailbox(SENT_MAILBOX_PATH, mailboxSession).get();
         MessageManager messageManager = 
mailboxManager.getMailbox(OUTBOX_MAILBOX_PATH, mailboxSession);
-        ComposedMessageId messageId = 
messageManager.appendMessage(AppendCommand.from(message), 
mailboxSession).getIds();
+        ComposedMessageId messageId = 
messageManager.appendMessage(AppendCommand.from(message), 
mailboxSession).getId();
         
mail.setAttribute(messageIdAttribute(messageId.getMessageId().serialize()));
         mail.setAttribute(USERNAME_ATTRIBUTE);
 
@@ -293,7 +293,7 @@ public class PostDequeueDecoratorTest {
         mailboxManager.createMailbox(OUTBOX_MAILBOX_PATH, mailboxSession);
         mailboxManager.createMailbox(SENT_MAILBOX_PATH, mailboxSession).get();
         MessageManager messageManager = 
mailboxManager.getMailbox(OUTBOX_MAILBOX_PATH, mailboxSession);
-        ComposedMessageId messageId = 
messageManager.appendMessage(AppendCommand.from(message), 
mailboxSession).getIds();
+        ComposedMessageId messageId = 
messageManager.appendMessage(AppendCommand.from(message), 
mailboxSession).getId();
         
mail.setAttribute(messageIdAttribute(messageId.getMessageId().serialize()));
         mail.setAttribute(USERNAME_ATTRIBUTE);
 
diff --git 
a/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/event/ComputeMessageFastViewProjectionListenerTest.java
 
b/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/event/ComputeMessageFastViewProjectionListenerTest.java
index ce2c2a8..98794c1 100644
--- 
a/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/event/ComputeMessageFastViewProjectionListenerTest.java
+++ 
b/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/event/ComputeMessageFastViewProjectionListenerTest.java
@@ -162,7 +162,7 @@ class ComputeMessageFastViewProjectionListenerTest {
         ComposedMessageId composedId = inboxMessageManager.appendMessage(
             MessageManager.AppendCommand.builder()
                 .build(previewMessage()),
-            mailboxSession).getIds();
+            mailboxSession).getId();
 
         
assertThat(Mono.from(messageFastViewProjection.retrieve(composedId.getMessageId())).block())
             .isEqualTo(PRECOMPUTED_PROPERTIES_PREVIEW);
@@ -173,7 +173,7 @@ class ComputeMessageFastViewProjectionListenerTest {
         ComposedMessageId composedId = inboxMessageManager.appendMessage(
             MessageManager.AppendCommand.builder()
                 .build(emptyMessage()),
-            mailboxSession).getIds();
+            mailboxSession).getId();
 
         
assertThat(Mono.from(messageFastViewProjection.retrieve(composedId.getMessageId())).block())
             .isEqualTo(PRECOMPUTED_PROPERTIES_EMPTY);
@@ -184,7 +184,7 @@ class ComputeMessageFastViewProjectionListenerTest {
         ComposedMessageId composedId = inboxMessageManager.appendMessage(
             MessageManager.AppendCommand.builder()
                 
.build(ClassLoaderUtils.getSystemResourceAsSharedStream("fullMessage.eml")),
-            mailboxSession).getIds();
+            mailboxSession).getId();
 
         
assertThat(Mono.from(messageFastViewProjection.retrieve(composedId.getMessageId())).block())
             .isEqualTo(PRECOMPUTED_PROPERTIES_PREVIEW_HAS_ATTACHMENT);
@@ -195,7 +195,7 @@ class ComputeMessageFastViewProjectionListenerTest {
         ComposedMessageId composedId = inboxMessageManager.appendMessage(
             MessageManager.AppendCommand.builder()
                 
.build(ClassLoaderUtils.getSystemResourceAsSharedStream("emptyBodyMessageWithOneAttachment.eml")),
-            mailboxSession).getIds();
+            mailboxSession).getId();
 
         
assertThat(Mono.from(messageFastViewProjection.retrieve(composedId.getMessageId())).block())
             .isEqualTo(PRECOMPUTED_PROPERTIES_HAS_ATTACHMENT);
@@ -206,12 +206,12 @@ class ComputeMessageFastViewProjectionListenerTest {
         ComposedMessageId composedId1 = inboxMessageManager.appendMessage(
             MessageManager.AppendCommand.builder()
                 .build(previewMessage()),
-            mailboxSession).getIds();
+            mailboxSession).getId();
 
         ComposedMessageId composedId2 = inboxMessageManager.appendMessage(
             MessageManager.AppendCommand.builder()
                 .build(emptyMessage()),
-            mailboxSession).getIds();
+            mailboxSession).getId();
 
         SoftAssertions.assertSoftly(softly -> {
             
softly.assertThat(Mono.from(messageFastViewProjection.retrieve(composedId1.getMessageId())).block())
diff --git 
a/server/protocols/webadmin/webadmin-jmap/src/test/java/org/apache/james/webadmin/data/jmap/RecomputeAllFastViewProjectionItemsRequestToTaskTest.java
 
b/server/protocols/webadmin/webadmin-jmap/src/test/java/org/apache/james/webadmin/data/jmap/RecomputeAllFastViewProjectionItemsRequestToTaskTest.java
index c58245b..efb642b 100644
--- 
a/server/protocols/webadmin/webadmin-jmap/src/test/java/org/apache/james/webadmin/data/jmap/RecomputeAllFastViewProjectionItemsRequestToTaskTest.java
+++ 
b/server/protocols/webadmin/webadmin-jmap/src/test/java/org/apache/james/webadmin/data/jmap/RecomputeAllFastViewProjectionItemsRequestToTaskTest.java
@@ -304,7 +304,7 @@ class RecomputeAllFastViewProjectionItemsRequestToTaskTest {
         Optional<MailboxId> mailboxId = 
mailboxManager.createMailbox(MailboxPath.inbox(BOB), session);
         ComposedMessageId messageId = 
mailboxManager.getMailbox(mailboxId.get(), session).appendMessage(
             MessageManager.AppendCommand.builder().build("header: 
value\r\n\r\nbody"),
-            session).getIds();
+            session).getId();
 
         String taskId = with()
             .queryParam("action", "recomputeFastViewProjectionItems")
@@ -327,7 +327,7 @@ class RecomputeAllFastViewProjectionItemsRequestToTaskTest {
         Optional<MailboxId> mailboxId = 
mailboxManager.createMailbox(MailboxPath.inbox(BOB), session);
         ComposedMessageId messageId = 
mailboxManager.getMailbox(mailboxId.get(), session).appendMessage(
             MessageManager.AppendCommand.builder().build("header: 
value\r\n\r\nbody"),
-            session).getIds();
+            session).getId();
 
         String taskId1 = with()
             .queryParam("action", "recomputeFastViewProjectionItems")
diff --git 
a/server/protocols/webadmin/webadmin-jmap/src/test/java/org/apache/james/webadmin/data/jmap/RecomputeUserFastViewProjectionItemsRequestToTaskTest.java
 
b/server/protocols/webadmin/webadmin-jmap/src/test/java/org/apache/james/webadmin/data/jmap/RecomputeUserFastViewProjectionItemsRequestToTaskTest.java
index 866cc7a..41b1291 100644
--- 
a/server/protocols/webadmin/webadmin-jmap/src/test/java/org/apache/james/webadmin/data/jmap/RecomputeUserFastViewProjectionItemsRequestToTaskTest.java
+++ 
b/server/protocols/webadmin/webadmin-jmap/src/test/java/org/apache/james/webadmin/data/jmap/RecomputeUserFastViewProjectionItemsRequestToTaskTest.java
@@ -372,7 +372,7 @@ class RecomputeUserFastViewProjectionItemsRequestToTaskTest 
{
     void recomputeUserShouldUpdateProjection() throws Exception {
         ComposedMessageId messageId = mailboxManager.getMailbox(bobInboxboxId, 
bobSession).appendMessage(
             MessageManager.AppendCommand.builder().build("header: 
value\r\n\r\nbody"),
-            bobSession).getIds();
+            bobSession).getId();
 
         String taskId = with()
             .queryParam("action", "recomputeFastViewProjectionItems")
@@ -392,7 +392,7 @@ class RecomputeUserFastViewProjectionItemsRequestToTaskTest 
{
     void recomputeUserShouldBeIdempotent() throws Exception {
         ComposedMessageId messageId = mailboxManager.getMailbox(bobInboxboxId, 
bobSession).appendMessage(
             MessageManager.AppendCommand.builder().build("header: 
value\r\n\r\nbody"),
-            bobSession).getIds();
+            bobSession).getId();
 
         String taskId1 = with()
             .queryParam("action", "recomputeFastViewProjectionItems")
diff --git 
a/server/protocols/webadmin/webadmin-mailbox-deleted-message-vault/src/main/java/org/apache/james/webadmin/vault/routes/RestoreService.java
 
b/server/protocols/webadmin/webadmin-mailbox-deleted-message-vault/src/main/java/org/apache/james/webadmin/vault/routes/RestoreService.java
index 3331980..4c36958 100644
--- 
a/server/protocols/webadmin/webadmin-mailbox-deleted-message-vault/src/main/java/org/apache/james/webadmin/vault/routes/RestoreService.java
+++ 
b/server/protocols/webadmin/webadmin-mailbox-deleted-message-vault/src/main/java/org/apache/james/webadmin/vault/routes/RestoreService.java
@@ -80,7 +80,7 @@ class RestoreService {
     private Mono<RestoreResult> appendToMailbox(MessageManager 
restoreMailboxManager, DeletedMessage deletedMessage, MailboxSession session) {
         return appendCommand(deletedMessage)
             .map(Throwing.<AppendCommand, ComposedMessageId>function(
-                appendCommand -> 
restoreMailboxManager.appendMessage(appendCommand, 
session).getIds()).sneakyThrow())
+                appendCommand -> 
restoreMailboxManager.appendMessage(appendCommand, 
session).getId()).sneakyThrow())
             .map(any -> RESTORE_SUCCEED)
             .onErrorResume(throwable -> {
                 LOGGER.error("append message {} to restore mailbox of user {} 
didn't success",
diff --git 
a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/MailboxesRoutesTest.java
 
b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/MailboxesRoutesTest.java
index cba4c7a..9d211d4 100644
--- 
a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/MailboxesRoutesTest.java
+++ 
b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/MailboxesRoutesTest.java
@@ -207,7 +207,7 @@ class MailboxesRoutesTest {
                 ComposedMessageId composedMessageId = 
mailboxManager.getMailbox(INBOX, systemSession)
                     .appendMessage(
                         MessageManager.AppendCommand.builder().build("header: 
value\r\n\r\nbody"),
-                        systemSession).getIds();
+                        systemSession).getId();
 
                 doThrow(new RuntimeException())
                     .when(searchIndex)
@@ -244,7 +244,7 @@ class MailboxesRoutesTest {
                 ComposedMessageId createdMessage = 
mailboxManager.getMailbox(INBOX, systemSession)
                     .appendMessage(
                         MessageManager.AppendCommand.builder().build("header: 
value\r\n\r\nbody"),
-                        systemSession).getIds();
+                        systemSession).getId();
 
                 String taskId = with()
                     .post("/mailboxes?task=reIndex")
@@ -395,7 +395,7 @@ class MailboxesRoutesTest {
                 ComposedMessageId composedMessageId = 
mailboxManager.getMailbox(INBOX, systemSession)
                     .appendMessage(
                         MessageManager.AppendCommand.builder().build("header: 
value\r\n\r\nbody"),
-                        systemSession).getIds();
+                        systemSession).getId();
 
                 doThrow(new RuntimeException())
                     .when(searchIndex)
@@ -433,7 +433,7 @@ class MailboxesRoutesTest {
                 ComposedMessageId createdMessage = 
mailboxManager.getMailbox(INBOX, systemSession)
                     .appendMessage(
                         MessageManager.AppendCommand.builder().build("header: 
value\r\n\r\nbody"),
-                        systemSession).getIds();
+                        systemSession).getId();
 
                 String taskId = when()
                     .post("/mailboxes/" + mailboxId.serialize() + 
"?task=reIndex")
@@ -566,7 +566,7 @@ class MailboxesRoutesTest {
                 ComposedMessageId composedMessageId = 
mailboxManager.getMailbox(INBOX, systemSession)
                     .appendMessage(
                         MessageManager.AppendCommand.builder().build("header: 
value\r\n\r\nbody"),
-                        systemSession).getIds();
+                        systemSession).getId();
 
                 String taskId = when()
                     .post("/mailboxes/" + mailboxId.serialize() + "/mails/"
@@ -599,7 +599,7 @@ class MailboxesRoutesTest {
                 ComposedMessageId createdMessage = 
mailboxManager.getMailbox(INBOX, systemSession)
                     .appendMessage(
                         MessageManager.AppendCommand.builder().build("header: 
value\r\n\r\nbody"),
-                        systemSession).getIds();
+                        systemSession).getId();
 
                 String taskId = when()
                     .post("/mailboxes/" + mailboxId.serialize() + "/mails/"
@@ -781,7 +781,7 @@ class MailboxesRoutesTest {
                 ComposedMessageId composedMessageId = 
mailboxManager.getMailbox(INBOX, systemSession)
                     .appendMessage(
                         MessageManager.AppendCommand.builder().build("header: 
value\r\n\r\nbody"),
-                        systemSession).getIds();
+                        systemSession).getId();
 
                 doThrow(new RuntimeException())
                     .when(searchIndex)
@@ -829,7 +829,7 @@ class MailboxesRoutesTest {
                 ComposedMessageId createdMessage = 
mailboxManager.getMailbox(INBOX, systemSession)
                     .appendMessage(
                         MessageManager.AppendCommand.builder().build("header: 
value\r\n\r\nbody"),
-                        systemSession).getIds();
+                        systemSession).getId();
 
                 doThrow(new 
RuntimeException()).when(searchIndex).add(any(MailboxSession.class), 
any(Mailbox.class), any(MailboxMessage.class));
 
diff --git 
a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/MessageRoutesTest.java
 
b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/MessageRoutesTest.java
index 4ac0ccd..63c1a0a 100644
--- 
a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/MessageRoutesTest.java
+++ 
b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/MessageRoutesTest.java
@@ -166,7 +166,7 @@ class MessageRoutesTest {
                 ComposedMessageId composedMessageId = 
mailboxManager.getMailbox(INBOX, systemSession)
                     .appendMessage(
                         MessageManager.AppendCommand.builder().build("header: 
value\r\n\r\nbody"),
-                        systemSession).getIds();
+                        systemSession).getId();
 
                 String taskId = when()
                     .post("/messages/" + 
composedMessageId.getMessageId().serialize() + "?task=reIndex")
@@ -197,7 +197,7 @@ class MessageRoutesTest {
                 ComposedMessageId composedMessageId = 
mailboxManager.getMailbox(INBOX, systemSession)
                     .appendMessage(
                         MessageManager.AppendCommand.builder().build("header: 
value\r\n\r\nbody"),
-                        systemSession).getIds();
+                        systemSession).getId();
 
                 String taskId = when()
                     .post("/messages/" + 
composedMessageId.getMessageId().serialize() + "?task=reIndex")
diff --git 
a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserMailboxesRoutesTest.java
 
b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserMailboxesRoutesTest.java
index 4cc023f..7b6875d 100644
--- 
a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserMailboxesRoutesTest.java
+++ 
b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserMailboxesRoutesTest.java
@@ -1159,7 +1159,7 @@ class UserMailboxesRoutesTest {
                 ComposedMessageId composedMessageId = 
mailboxManager.getMailbox(INBOX, systemSession)
                     .appendMessage(
                         MessageManager.AppendCommand.builder().build("header: 
value\r\n\r\nbody"),
-                        systemSession).getIds();
+                        systemSession).getId();
 
                 doThrow(new RuntimeException())
                     .when(searchIndex)
@@ -1197,7 +1197,7 @@ class UserMailboxesRoutesTest {
                 ComposedMessageId createdMessage = 
mailboxManager.getMailbox(INBOX, systemSession)
                     .appendMessage(
                         MessageManager.AppendCommand.builder().build("header: 
value\r\n\r\nbody"),
-                        systemSession).getIds();
+                        systemSession).getId();
 
                 String taskId = given()
                     .queryParam("task", "reIndex")
diff --git 
a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/service/ExportServiceTest.java
 
b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/service/ExportServiceTest.java
index e21fc07..fa0c391 100644
--- 
a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/service/ExportServiceTest.java
+++ 
b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/service/ExportServiceTest.java
@@ -116,7 +116,7 @@ class ExportServiceTest {
             .appendMessage(MessageManager.AppendCommand.builder()
                     .build(message),
                 testSystem.bobSession)
-            .getIds();
+            .getId();
     }
 
     @Test
diff --git 
a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/service/MailboxesExportRequestToTaskTest.java
 
b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/service/MailboxesExportRequestToTaskTest.java
index 9dfe1e5..ab9eb19 100644
--- 
a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/service/MailboxesExportRequestToTaskTest.java
+++ 
b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/service/MailboxesExportRequestToTaskTest.java
@@ -348,7 +348,7 @@ class MailboxesExportRequestToTaskTest {
 
         ComposedMessageId id = 
testSystem.mailboxManager.getMailbox(bobInboxboxId, 
testSystem.bobSession).appendMessage(
             MessageManager.AppendCommand.builder().build(MESSAGE_CONTENT),
-            testSystem.bobSession).getIds();
+            testSystem.bobSession).getId();
 
         String taskId = with()
             .queryParam("action", "export")
@@ -375,7 +375,7 @@ class MailboxesExportRequestToTaskTest {
 
         ComposedMessageId id = 
testSystem.mailboxManager.getMailbox(bobInboxboxId, 
testSystem.bobSession).appendMessage(
             MessageManager.AppendCommand.builder().build(MESSAGE_CONTENT),
-            testSystem.bobSession).getIds();
+            testSystem.bobSession).getId();
 
         testSystem.usersRepository.addUser(CEDRIC, PASSWORD);
         MailboxSession cedricSession = 
testSystem.mailboxManager.createSystemSession(CEDRIC);


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

Reply via email to