You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2020/07/03 02:04:10 UTC

[james-project] 15/15: JAMES-3265 Leverage default method to offer a conviant single message flag update

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 ccc5e48964a057b8970563e1936380d5062834ef
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Thu Jul 2 16:05:13 2020 +0700

    JAMES-3265 Leverage default method to offer a conviant single message flag update
---
 .../james/mailbox/store/mail/MessageMapper.java    |   5 +
 .../store/mail/model/MessageMapperTest.java        | 139 ++++++++++-----------
 2 files changed, 74 insertions(+), 70 deletions(-)

diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/MessageMapper.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/MessageMapper.java
index ece0c7d..d92be02 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/MessageMapper.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/MessageMapper.java
@@ -127,6 +127,11 @@ public interface MessageMapper extends Mapper {
     Iterator<UpdatedFlags> updateFlags(Mailbox mailbox, FlagsUpdateCalculator flagsUpdateCalculator,
             final MessageRange set) throws MailboxException;
 
+    default Optional<UpdatedFlags> updateFlags(Mailbox mailbox, MessageUid uid, FlagsUpdateCalculator flagsUpdateCalculator) throws MailboxException {
+        return Iterators.toStream(updateFlags(mailbox, flagsUpdateCalculator, MessageRange.one(uid)))
+            .findFirst();
+    }
+
     default List<UpdatedFlags> resetRecent(Mailbox mailbox) throws MailboxException {
         final List<MessageUid> members = findRecentMessageUidsInMailbox(mailbox);
         ImmutableList.Builder<UpdatedFlags> result = ImmutableList.builder();
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageMapperTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageMapperTest.java
index 0d396a2..9907c5e 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageMapperTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageMapperTest.java
@@ -150,7 +150,7 @@ public abstract class MessageMapperTest {
         saveMessages();
         FlagsUpdateCalculator newFlags = new FlagsUpdateCalculator(new Flags(Flags.Flag.SEEN), FlagsUpdateMode.REPLACE);
 
-        messageMapper.updateFlags(benwaInboxMailbox, newFlags, message1.getUid().toRange());
+        messageMapper.updateFlags(benwaInboxMailbox, message1.getUid(), newFlags);
 
         assertThat(messageMapper.getMailboxCounters(benwaInboxMailbox).getUnseen()).isEqualTo(4);
     }
@@ -158,8 +158,8 @@ public abstract class MessageMapperTest {
     @Test
     void mailboxUnSeenCountShouldBeDecrementedAfterAMessageIsMarkedUnSeen() throws MailboxException {
         saveMessages();
-        messageMapper.updateFlags(benwaInboxMailbox, new FlagsUpdateCalculator(new Flags(Flags.Flag.SEEN), FlagsUpdateMode.REPLACE), MessageRange.one(message1.getUid()));
-        messageMapper.updateFlags(benwaInboxMailbox, new FlagsUpdateCalculator(new Flags(), FlagsUpdateMode.REPLACE), MessageRange.one(message1.getUid()));
+        messageMapper.updateFlags(benwaInboxMailbox, message1.getUid(), new FlagsUpdateCalculator(new Flags(Flags.Flag.SEEN), FlagsUpdateMode.REPLACE));
+        messageMapper.updateFlags(benwaInboxMailbox, message1.getUid(), new FlagsUpdateCalculator(new Flags(), FlagsUpdateMode.REPLACE));
         assertThat(messageMapper.getMailboxCounters(benwaInboxMailbox).getUnseen()).isEqualTo(5);
     }
 
@@ -317,9 +317,10 @@ public abstract class MessageMapperTest {
     @Test
     void findRecentUidsInMailboxShouldReturnListOfMessagesHoldingFlagsRecent() throws MailboxException {
         saveMessages();
-        messageMapper.updateFlags(benwaInboxMailbox, new FlagsUpdateCalculator(new Flags(Flags.Flag.RECENT), FlagsUpdateMode.REPLACE), MessageRange.one(message2.getUid()));
-        messageMapper.updateFlags(benwaInboxMailbox, new FlagsUpdateCalculator(new Flags(Flags.Flag.RECENT), FlagsUpdateMode.REPLACE), MessageRange.one(message4.getUid()));
-        messageMapper.updateFlags(benwaWorkMailbox, new FlagsUpdateCalculator(new Flags(Flags.Flag.RECENT), FlagsUpdateMode.REPLACE), MessageRange.one(message6.getUid()));
+        FlagsUpdateCalculator setRecent = new FlagsUpdateCalculator(new Flags(Flag.RECENT), FlagsUpdateMode.REPLACE);
+        messageMapper.updateFlags(benwaInboxMailbox, message2.getUid(), setRecent);
+        messageMapper.updateFlags(benwaInboxMailbox, message4.getUid(), setRecent);
+        messageMapper.updateFlags(benwaWorkMailbox, message6.getUid(), setRecent);
         assertThat(messageMapper.findRecentMessageUidsInMailbox(benwaInboxMailbox))
             .containsOnly(message2.getUid(), message4.getUid());
     }
@@ -332,9 +333,10 @@ public abstract class MessageMapperTest {
     @Test
     void resetRecentsShouldRemoveAllRecentFlags() throws MailboxException {
         saveMessages();
-        messageMapper.updateFlags(benwaInboxMailbox, new FlagsUpdateCalculator(new Flags(Flags.Flag.RECENT), FlagsUpdateMode.REPLACE), MessageRange.one(message2.getUid()));
-        messageMapper.updateFlags(benwaInboxMailbox, new FlagsUpdateCalculator(new Flags(Flags.Flag.RECENT), FlagsUpdateMode.REPLACE), MessageRange.one(message4.getUid()));
-        messageMapper.updateFlags(benwaWorkMailbox, new FlagsUpdateCalculator(new Flags(Flags.Flag.RECENT), FlagsUpdateMode.REPLACE), MessageRange.one(message6.getUid()));
+        FlagsUpdateCalculator setRecent = new FlagsUpdateCalculator(new Flags(Flag.RECENT), FlagsUpdateMode.REPLACE);
+        messageMapper.updateFlags(benwaInboxMailbox, message2.getUid(), setRecent);
+        messageMapper.updateFlags(benwaInboxMailbox, message4.getUid(), setRecent);
+        messageMapper.updateFlags(benwaWorkMailbox, message6.getUid(), setRecent);
 
         messageMapper.resetRecent(benwaInboxMailbox);
 
@@ -345,9 +347,10 @@ public abstract class MessageMapperTest {
     @Test
     void resetRecentsShouldReturnUpdatedFlags() throws MailboxException {
         saveMessages();
-        messageMapper.updateFlags(benwaInboxMailbox, new FlagsUpdateCalculator(new Flags(Flags.Flag.RECENT), FlagsUpdateMode.REPLACE), MessageRange.one(message2.getUid()));
-        messageMapper.updateFlags(benwaInboxMailbox, new FlagsUpdateCalculator(new Flags(Flags.Flag.RECENT), FlagsUpdateMode.REPLACE), MessageRange.one(message4.getUid()));
-        messageMapper.updateFlags(benwaWorkMailbox, new FlagsUpdateCalculator(new Flags(Flags.Flag.RECENT), FlagsUpdateMode.REPLACE), MessageRange.one(message6.getUid()));
+        FlagsUpdateCalculator setRecent = new FlagsUpdateCalculator(new Flags(Flag.RECENT), FlagsUpdateMode.REPLACE);
+        messageMapper.updateFlags(benwaInboxMailbox, message2.getUid(), setRecent);
+        messageMapper.updateFlags(benwaInboxMailbox, message4.getUid(), setRecent);
+        messageMapper.updateFlags(benwaWorkMailbox, message6.getUid(), setRecent);
 
         assertThat(messageMapper.resetRecent(benwaInboxMailbox))
             .extracting(UpdatedFlags::getUid)
@@ -357,9 +360,10 @@ public abstract class MessageMapperTest {
     @Test
     void deleteShouldUpdateRecentWhenNeeded() throws MailboxException {
         saveMessages();
-        messageMapper.updateFlags(benwaInboxMailbox, new FlagsUpdateCalculator(new Flags(Flags.Flag.RECENT), FlagsUpdateMode.REPLACE), MessageRange.one(message2.getUid()));
-        messageMapper.updateFlags(benwaInboxMailbox, new FlagsUpdateCalculator(new Flags(Flags.Flag.RECENT), FlagsUpdateMode.REPLACE), MessageRange.one(message4.getUid()));
-        messageMapper.updateFlags(benwaWorkMailbox, new FlagsUpdateCalculator(new Flags(Flags.Flag.RECENT), FlagsUpdateMode.REPLACE), MessageRange.one(message6.getUid()));
+        FlagsUpdateCalculator setRecent = new FlagsUpdateCalculator(new Flags(Flag.RECENT), FlagsUpdateMode.REPLACE);
+        messageMapper.updateFlags(benwaInboxMailbox, message2.getUid(), setRecent);
+        messageMapper.updateFlags(benwaInboxMailbox, message4.getUid(), setRecent);
+        messageMapper.updateFlags(benwaWorkMailbox, message6.getUid(), setRecent);
 
         messageMapper.delete(benwaInboxMailbox, message2);
 
@@ -369,9 +373,10 @@ public abstract class MessageMapperTest {
     @Test
     void deleteShouldNotUpdateRecentWhenNotNeeded() throws MailboxException {
         saveMessages();
-        messageMapper.updateFlags(benwaInboxMailbox, new FlagsUpdateCalculator(new Flags(Flags.Flag.RECENT), FlagsUpdateMode.REPLACE), MessageRange.one(message2.getUid()));
-        messageMapper.updateFlags(benwaInboxMailbox, new FlagsUpdateCalculator(new Flags(Flags.Flag.RECENT), FlagsUpdateMode.REPLACE), MessageRange.one(message4.getUid()));
-        messageMapper.updateFlags(benwaWorkMailbox, new FlagsUpdateCalculator(new Flags(Flags.Flag.RECENT), FlagsUpdateMode.REPLACE), MessageRange.one(message6.getUid()));
+        FlagsUpdateCalculator setRecent = new FlagsUpdateCalculator(new Flags(Flag.RECENT), FlagsUpdateMode.REPLACE);
+        messageMapper.updateFlags(benwaInboxMailbox, message2.getUid(), setRecent);
+        messageMapper.updateFlags(benwaInboxMailbox, message4.getUid(), setRecent);
+        messageMapper.updateFlags(benwaWorkMailbox, message6.getUid(), setRecent);
 
         messageMapper.delete(benwaInboxMailbox, message1);
 
@@ -381,9 +386,10 @@ public abstract class MessageMapperTest {
     @Test
     void deleteMessagesShouldDecrementUnseenToOneWhenDeletingTwoUnseenMessagesOutOfThree() throws MailboxException {
         saveMessages();
-        messageMapper.updateFlags(benwaInboxMailbox, new FlagsUpdateCalculator(new Flags(Flag.SEEN), FlagsUpdateMode.REPLACE), MessageRange.one(message2.getUid()));
-        messageMapper.updateFlags(benwaInboxMailbox, new FlagsUpdateCalculator(new Flags(Flag.SEEN), FlagsUpdateMode.REPLACE), MessageRange.one(message3.getUid()));
-        messageMapper.updateFlags(benwaInboxMailbox, new FlagsUpdateCalculator(new Flags(Flag.SEEN), FlagsUpdateMode.REPLACE), MessageRange.one(message4.getUid()));
+        FlagsUpdateCalculator setSeen = new FlagsUpdateCalculator(new Flags(Flag.SEEN), FlagsUpdateMode.REPLACE);
+        messageMapper.updateFlags(benwaInboxMailbox, message2.getUid(), setSeen);
+        messageMapper.updateFlags(benwaInboxMailbox, message3.getUid(), setSeen);
+        messageMapper.updateFlags(benwaInboxMailbox, message4.getUid(), setSeen);
 
         messageMapper.deleteMessages(benwaInboxMailbox, ImmutableList.of(message1.getUid(), message2.getUid(), message3.getUid()));
 
@@ -426,9 +432,10 @@ public abstract class MessageMapperTest {
     @Test
     void findFirstUnseenMessageUidShouldReturnUid2WhenUid2isSeen() throws MailboxException {
         saveMessages();
-        messageMapper.updateFlags(benwaInboxMailbox, new FlagsUpdateCalculator(new Flags(Flags.Flag.SEEN), FlagsUpdateMode.REPLACE), MessageRange.one(message1.getUid()));
-        messageMapper.updateFlags(benwaInboxMailbox, new FlagsUpdateCalculator(new Flags(Flags.Flag.SEEN), FlagsUpdateMode.REPLACE), MessageRange.one(message3.getUid()));
-        messageMapper.updateFlags(benwaInboxMailbox, new FlagsUpdateCalculator(new Flags(Flags.Flag.SEEN), FlagsUpdateMode.REPLACE), MessageRange.one(message5.getUid()));
+        FlagsUpdateCalculator setSeen = new FlagsUpdateCalculator(new Flags(Flag.SEEN), FlagsUpdateMode.REPLACE);
+        messageMapper.updateFlags(benwaInboxMailbox, message1.getUid(), setSeen);
+        messageMapper.updateFlags(benwaInboxMailbox, message3.getUid(), setSeen);
+        messageMapper.updateFlags(benwaWorkMailbox, message5.getUid(), setSeen);
         assertThat(messageMapper.findFirstUnseenMessageUid(benwaInboxMailbox)).isEqualTo(message2.getUid());
     }
 
@@ -689,7 +696,7 @@ public abstract class MessageMapperTest {
     @Test
     void flagsReplacementShouldReplaceStoredMessageFlags() throws MailboxException {
         saveMessages();
-        messageMapper.updateFlags(benwaInboxMailbox, new FlagsUpdateCalculator(new Flags(Flags.Flag.FLAGGED), FlagsUpdateMode.REPLACE), MessageRange.one(message1.getUid()));
+        messageMapper.updateFlags(benwaInboxMailbox, message1.getUid(), new FlagsUpdateCalculator(new Flags(Flags.Flag.FLAGGED), FlagsUpdateMode.REPLACE));
         assertThat(retrieveMessageFromStorage(message1)).hasFlags(new Flags(Flags.Flag.FLAGGED));
     }
 
@@ -697,10 +704,10 @@ public abstract class MessageMapperTest {
     void flagsReplacementShouldReturnAnUpdatedFlagHighlightingTheReplacement() throws MailboxException {
         saveMessages();
         ModSeq modSeq = messageMapper.getHighestModSeq(benwaInboxMailbox);
-        Iterator<UpdatedFlags> updatedFlags = messageMapper.updateFlags(benwaInboxMailbox,
-                new FlagsUpdateCalculator(new Flags(Flags.Flag.FLAGGED), FlagsUpdateMode.REPLACE), MessageRange.one(message1.getUid()));
-        assertThat(Lists.newArrayList(updatedFlags))
-            .containsOnly(UpdatedFlags.builder()
+        Optional<UpdatedFlags> updatedFlags = messageMapper.updateFlags(benwaInboxMailbox, message1.getUid(),
+                new FlagsUpdateCalculator(new Flags(Flags.Flag.FLAGGED), FlagsUpdateMode.REPLACE));
+        assertThat(updatedFlags)
+            .contains(UpdatedFlags.builder()
                 .uid(message1.getUid())
                 .modSeq(modSeq.next())
                 .oldFlags(new Flags())
@@ -711,11 +718,10 @@ public abstract class MessageMapperTest {
     @Test
     void flagsAdditionShouldReturnAnUpdatedFlagHighlightingTheAddition() throws MailboxException {
         saveMessages();
-        messageMapper.updateFlags(benwaInboxMailbox, new FlagsUpdateCalculator(new Flags(Flags.Flag.FLAGGED), FlagsUpdateMode.REPLACE), MessageRange.one(message1.getUid()));
+        messageMapper.updateFlags(benwaInboxMailbox, message1.getUid(), new FlagsUpdateCalculator(new Flags(Flags.Flag.FLAGGED), FlagsUpdateMode.REPLACE));
         ModSeq modSeq = messageMapper.getHighestModSeq(benwaInboxMailbox);
-        assertThat(messageMapper.updateFlags(benwaInboxMailbox, new FlagsUpdateCalculator(new Flags(Flags.Flag.SEEN), FlagsUpdateMode.ADD), MessageRange.one(message1.getUid())))
-            .toIterable()
-            .containsOnly(UpdatedFlags.builder()
+        assertThat(messageMapper.updateFlags(benwaInboxMailbox, message1.getUid(), new FlagsUpdateCalculator(new Flags(Flags.Flag.SEEN), FlagsUpdateMode.ADD)))
+            .contains(UpdatedFlags.builder()
                     .uid(message1.getUid())
                     .modSeq(modSeq.next())
                     .oldFlags(new Flags(Flags.Flag.FLAGGED))
@@ -726,17 +732,17 @@ public abstract class MessageMapperTest {
     @Test
     void flagsAdditionShouldUpdateStoredMessageFlags() throws MailboxException {
         saveMessages();
-        messageMapper.updateFlags(benwaInboxMailbox, new FlagsUpdateCalculator(new Flags(Flags.Flag.FLAGGED), FlagsUpdateMode.REPLACE), MessageRange.one(message1.getUid()));
-        messageMapper.updateFlags(benwaInboxMailbox, new FlagsUpdateCalculator(new Flags(Flags.Flag.SEEN), FlagsUpdateMode.ADD), MessageRange.one(message1.getUid()));
+        messageMapper.updateFlags(benwaInboxMailbox, message1.getUid(), new FlagsUpdateCalculator(new Flags(Flags.Flag.FLAGGED), FlagsUpdateMode.REPLACE));
+        messageMapper.updateFlags(benwaInboxMailbox, message1.getUid(), new FlagsUpdateCalculator(new Flags(Flags.Flag.SEEN), FlagsUpdateMode.ADD));
         assertThat(retrieveMessageFromStorage(message1)).hasFlags(new FlagsBuilder().add(Flags.Flag.SEEN, Flags.Flag.FLAGGED).build());
     }
 
     @Test
     void flagsAdditionShouldHaveNoEffectOnStoredFlagsWhenNoop() throws MailboxException {
         saveMessages();
-        messageMapper.updateFlags(benwaInboxMailbox, new FlagsUpdateCalculator(new Flags(Flags.Flag.FLAGGED), FlagsUpdateMode.REPLACE), MessageRange.one(message1.getUid()));
+        messageMapper.updateFlags(benwaInboxMailbox, message1.getUid(), new FlagsUpdateCalculator(new Flags(Flags.Flag.FLAGGED), FlagsUpdateMode.REPLACE));
 
-        messageMapper.updateFlags(benwaInboxMailbox, new FlagsUpdateCalculator(new Flags(Flag.FLAGGED), FlagsUpdateMode.ADD), MessageRange.one(message1.getUid()));
+        messageMapper.updateFlags(benwaInboxMailbox, message1.getUid(), new FlagsUpdateCalculator(new Flags(Flag.FLAGGED), FlagsUpdateMode.ADD));
         assertThat(retrieveMessageFromStorage(message1))
             .hasFlags(new FlagsBuilder().add(Flags.Flag.FLAGGED).build());
     }
@@ -744,11 +750,10 @@ public abstract class MessageMapperTest {
     @Test
     void flagsRemovalShouldReturnAnUpdatedFlagHighlightingTheRemoval() throws MailboxException {
         saveMessages();
-        messageMapper.updateFlags(benwaInboxMailbox, new FlagsUpdateCalculator(new FlagsBuilder().add(Flags.Flag.FLAGGED, Flags.Flag.SEEN).build(), FlagsUpdateMode.REPLACE), MessageRange.one(message1.getUid()));
+        messageMapper.updateFlags(benwaInboxMailbox, message1.getUid(), new FlagsUpdateCalculator(new FlagsBuilder().add(Flags.Flag.FLAGGED, Flags.Flag.SEEN).build(), FlagsUpdateMode.REPLACE));
         ModSeq modSeq = messageMapper.getHighestModSeq(benwaInboxMailbox);
-        assertThat(messageMapper.updateFlags(benwaInboxMailbox, new FlagsUpdateCalculator(new Flags(Flags.Flag.SEEN), FlagsUpdateMode.REMOVE), MessageRange.one(message1.getUid())))
-            .toIterable()
-            .containsOnly(
+        assertThat(messageMapper.updateFlags(benwaInboxMailbox, message1.getUid(), new FlagsUpdateCalculator(new Flags(Flags.Flag.SEEN), FlagsUpdateMode.REMOVE)))
+            .contains(
                 UpdatedFlags.builder()
                     .uid(message1.getUid())
                     .modSeq(modSeq.next())
@@ -760,8 +765,8 @@ public abstract class MessageMapperTest {
     @Test
     void flagsRemovalShouldUpdateStoredMessageFlags() throws MailboxException {
         saveMessages();
-        messageMapper.updateFlags(benwaInboxMailbox, new FlagsUpdateCalculator(new FlagsBuilder().add(Flags.Flag.FLAGGED, Flags.Flag.SEEN).build(), FlagsUpdateMode.REPLACE), MessageRange.one(message1.getUid()));
-        messageMapper.updateFlags(benwaInboxMailbox, new FlagsUpdateCalculator(new Flags(Flags.Flag.SEEN), FlagsUpdateMode.REMOVE), MessageRange.one(message1.getUid()));
+        messageMapper.updateFlags(benwaInboxMailbox, message1.getUid(), new FlagsUpdateCalculator(new FlagsBuilder().add(Flags.Flag.FLAGGED, Flags.Flag.SEEN).build(), FlagsUpdateMode.REPLACE));
+        messageMapper.updateFlags(benwaInboxMailbox, message1.getUid(), new FlagsUpdateCalculator(new Flags(Flags.Flag.SEEN), FlagsUpdateMode.REMOVE));
         assertThat(retrieveMessageFromStorage(message1)).hasFlags(new Flags(Flags.Flag.FLAGGED));
     }
 
@@ -865,7 +870,7 @@ public abstract class MessageMapperTest {
     @Test
     void userFlagsShouldBeSupported() throws Exception {
         saveMessages();
-        messageMapper.updateFlags(benwaInboxMailbox, new FlagsUpdateCalculator(new Flags(USER_FLAG), FlagsUpdateMode.ADD), MessageRange.one(message1.getUid()));
+        messageMapper.updateFlags(benwaInboxMailbox, message1.getUid(), new FlagsUpdateCalculator(new Flags(USER_FLAG), FlagsUpdateMode.ADD));
         assertThat(retrieveMessageFromStorage(message1)).hasFlags(new Flags(USER_FLAG));
     }
 
@@ -873,9 +878,8 @@ public abstract class MessageMapperTest {
     void userFlagsUpdateShouldReturnCorrectUpdatedFlags() throws Exception {
         saveMessages();
         ModSeq modSeq = messageMapper.getHighestModSeq(benwaInboxMailbox);
-        assertThat(messageMapper.updateFlags(benwaInboxMailbox, new FlagsUpdateCalculator(new Flags(USER_FLAG), FlagsUpdateMode.ADD), MessageRange.one(message1.getUid())))
-            .toIterable()
-            .containsOnly(
+        assertThat(messageMapper.updateFlags(benwaInboxMailbox, message1.getUid(), new FlagsUpdateCalculator(new Flags(USER_FLAG), FlagsUpdateMode.ADD)))
+            .contains(
                 UpdatedFlags.builder()
                     .uid(message1.getUid())
                     .modSeq(modSeq.next())
@@ -889,11 +893,9 @@ public abstract class MessageMapperTest {
         saveMessages();
 
         assertThat(
-            messageMapper.updateFlags(benwaInboxMailbox,
-                new FlagsUpdateCalculator(new Flags(USER_FLAG), FlagsUpdateMode.REMOVE),
-                MessageRange.one(message1.getUid())))
-            .toIterable()
-            .containsOnly(
+            messageMapper.updateFlags(benwaInboxMailbox,message1.getUid(),
+                new FlagsUpdateCalculator(new Flags(USER_FLAG), FlagsUpdateMode.REMOVE)))
+            .contains(
                 UpdatedFlags.builder()
                     .uid(message1.getUid())
                     .modSeq(message1.getModSeq())
@@ -911,9 +913,8 @@ public abstract class MessageMapperTest {
         int threadCount = 2;
         int updateCount = 10;
         ConcurrentTestRunner.builder()
-            .operation((threadNumber, step) -> messageMapper.updateFlags(benwaInboxMailbox,
-                new FlagsUpdateCalculator(new Flags("custom-" + threadNumber + "-" + step), FlagsUpdateMode.ADD),
-                MessageRange.one(message1.getUid())))
+            .operation((threadNumber, step) -> messageMapper.updateFlags(benwaInboxMailbox, message1.getUid(),
+                new FlagsUpdateCalculator(new Flags("custom-" + threadNumber + "-" + step), FlagsUpdateMode.ADD)))
             .threadCount(threadCount)
             .operationCount(updateCount)
             .runSuccessfullyWithin(Duration.ofMinutes(1));
@@ -934,14 +935,12 @@ public abstract class MessageMapperTest {
         ConcurrentTestRunner.builder()
             .operation((threadNumber, step) -> {
                 if (step  < updateCount / 2) {
-                    messageMapper.updateFlags(benwaInboxMailbox,
-                        new FlagsUpdateCalculator(new Flags("custom-" + threadNumber + "-" + step), FlagsUpdateMode.ADD),
-                        MessageRange.one(message1.getUid()));
+                    messageMapper.updateFlags(benwaInboxMailbox, message1.getUid(),
+                        new FlagsUpdateCalculator(new Flags("custom-" + threadNumber + "-" + step), FlagsUpdateMode.ADD));
                 } else {
-                    messageMapper.updateFlags(benwaInboxMailbox,
+                    messageMapper.updateFlags(benwaInboxMailbox, message1.getUid(),
                         new FlagsUpdateCalculator(new Flags("custom-" + threadNumber + "-" + (updateCount - step - 1)),
-                            FlagsUpdateMode.REMOVE),
-                        MessageRange.one(message1.getUid()));
+                            FlagsUpdateMode.REMOVE));
                 }
             })
             .threadCount(threadCount)
@@ -1014,7 +1013,7 @@ public abstract class MessageMapperTest {
         FlagsUpdateCalculator newFlags = new FlagsUpdateCalculator(new Flags(customFlag), FlagsUpdateMode.ADD);
 
         saveMessages();
-        messageMapper.updateFlags(benwaInboxMailbox, newFlags, message1.getUid().toRange());
+        messageMapper.updateFlags(benwaInboxMailbox, message1.getUid(), newFlags);
 
         assertThat(messageMapper.getApplicableFlag(benwaInboxMailbox))
             .isEqualTo(FlagsBuilder.builder()
@@ -1032,7 +1031,7 @@ public abstract class MessageMapperTest {
         FlagsUpdateCalculator newFlags = new FlagsUpdateCalculator(new Flags(Flags.Flag.SEEN), FlagsUpdateMode.REPLACE);
 
         saveMessages();
-        messageMapper.updateFlags(benwaInboxMailbox, newFlags, message1.getUid().toRange());
+        messageMapper.updateFlags(benwaInboxMailbox, message1.getUid(), newFlags);
 
         assertThat(messageMapper.getApplicableFlag(benwaInboxMailbox))
             .isEqualTo(new FlagsBuilder()
@@ -1050,7 +1049,7 @@ public abstract class MessageMapperTest {
         FlagsUpdateCalculator newFlags = new FlagsUpdateCalculator(new Flags(Flags.Flag.SEEN), FlagsUpdateMode.REPLACE);
 
         saveMessages();
-        messageMapper.updateFlags(benwaInboxMailbox, newFlags, message1.getUid().toRange());
+        messageMapper.updateFlags(benwaInboxMailbox, message1.getUid(), newFlags);
 
         assertThat(messageMapper.getApplicableFlag(benwaInboxMailbox))
             .isEqualTo(FlagsBuilder.builder()
@@ -1067,7 +1066,7 @@ public abstract class MessageMapperTest {
         FlagsUpdateCalculator newFlags = new FlagsUpdateCalculator(new Flags(customFlags), FlagsUpdateMode.REMOVE);
 
         saveMessages();
-        messageMapper.updateFlags(benwaInboxMailbox, newFlags, message1.getUid().toRange());
+        messageMapper.updateFlags(benwaInboxMailbox, message1.getUid(), newFlags);
 
         assertThat(messageMapper.getApplicableFlag(benwaInboxMailbox))
             .isEqualTo(new FlagsBuilder()
@@ -1085,7 +1084,7 @@ public abstract class MessageMapperTest {
         FlagsUpdateCalculator newFlags = new FlagsUpdateCalculator(new Flags(customFlags), FlagsUpdateMode.REMOVE);
 
         saveMessages();
-        messageMapper.updateFlags(benwaInboxMailbox, newFlags, message1.getUid().toRange());
+        messageMapper.updateFlags(benwaInboxMailbox, message1.getUid(), newFlags);
 
         assertThat(messageMapper.getApplicableFlag(benwaInboxMailbox))
             .isEqualTo(FlagsBuilder.builder()
@@ -1104,7 +1103,7 @@ public abstract class MessageMapperTest {
         FlagsUpdateCalculator newFlags = new FlagsUpdateCalculator(new Flags(), FlagsUpdateMode.REPLACE);
 
         saveMessages();
-        messageMapper.updateFlags(benwaInboxMailbox, newFlags, message1.getUid().toRange());
+        messageMapper.updateFlags(benwaInboxMailbox, message1.getUid(), newFlags);
 
         assertThat(messageMapper.getApplicableFlag(benwaInboxMailbox))
             .isEqualTo(FlagsBuilder.builder()
@@ -1123,7 +1122,7 @@ public abstract class MessageMapperTest {
         FlagsUpdateCalculator newFlags = new FlagsUpdateCalculator(new Flags(), FlagsUpdateMode.REPLACE);
 
         saveMessages();
-        messageMapper.updateFlags(benwaInboxMailbox, newFlags, message1.getUid().toRange());
+        messageMapper.updateFlags(benwaInboxMailbox, message1.getUid(), newFlags);
 
         assertThat(messageMapper.getApplicableFlag(benwaInboxMailbox))
             .isEqualTo(new FlagsBuilder()
@@ -1218,8 +1217,8 @@ public abstract class MessageMapperTest {
     }
 
     private List<MessageUid> markThenPerformRetrieveMessagesMarkedForDeletion(MessageRange range) throws MailboxException {
-        messageMapper.updateFlags(benwaInboxMailbox, new FlagsUpdateCalculator(new Flags(Flags.Flag.DELETED), FlagsUpdateMode.REPLACE), MessageRange.one(message1.getUid()));
-        messageMapper.updateFlags(benwaInboxMailbox, new FlagsUpdateCalculator(new Flags(Flags.Flag.DELETED), FlagsUpdateMode.REPLACE), MessageRange.one(message4.getUid()));
+        messageMapper.updateFlags(benwaInboxMailbox, message1.getUid(), new FlagsUpdateCalculator(new Flags(Flags.Flag.DELETED), FlagsUpdateMode.REPLACE));
+        messageMapper.updateFlags(benwaInboxMailbox, message4.getUid(), new FlagsUpdateCalculator(new Flags(Flags.Flag.DELETED), FlagsUpdateMode.REPLACE));
         return messageMapper.retrieveMessagesMarkedForDeletion(benwaInboxMailbox, range);
     }
 


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