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 574a3204e7265a8e465d82ae7922bc9f7f0c097b Author: Quan Tran <[email protected]> AuthorDate: Wed Nov 30 16:06:45 2022 +0700 JAMES-3754 Add saveDate field to MessageResult --- .../custom/listeners/SetCustomFlagOnBigMessagesTest.java | 3 ++- .../org/apache/james/mailbox/model/MessageMetaData.java | 9 ++++++++- .../org/apache/james/mailbox/model/MessageResult.java | 3 +++ .../test/java/org/apache/james/mailbox/EventTest.java | 9 +++++---- .../org/apache/james/mailbox/MailboxListenerTest.java | 2 +- .../main/scala/org/apache/james/event/json/DTOs.scala | 5 +++-- .../apache/james/event/json/AddedSerializationTest.java | 13 ++++++++++--- .../james/event/json/ExpungedSerializationTest.java | 16 +++++++++++----- .../apache/james/mailbox/store/MessageResultImpl.java | 6 ++++++ .../james/mailbox/store/StoreMessageResultIterator.java | 6 ++++++ .../james/mailbox/store/mail/model/MailboxMessage.java | 2 +- .../apache/james/mailbox/store/PreDeletionHooksTest.java | 3 ++- .../mailbox/store/mail/model/MetadataMapAssertTest.java | 9 +++++---- .../store/quota/ListeningCurrentQuotaUpdaterTest.java | 8 ++++---- .../imap/processor/base/MailboxEventAnalyserTest.java | 3 ++- .../imap/processor/base/SelectedMailboxImplTest.java | 3 ++- 16 files changed, 71 insertions(+), 29 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 04a0f84e37..bc1aba81c4 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 @@ -25,6 +25,7 @@ import static org.apache.james.mailbox.events.MailboxEvents.Added.IS_DELIVERY; import static org.assertj.core.api.Assertions.assertThat; import java.nio.charset.StandardCharsets; +import java.util.Optional; import java.util.stream.Stream; import javax.mail.Flags; @@ -129,7 +130,7 @@ class SetCustomFlagOnBigMessagesTest { .getMessages(MessageRange.one(composedIdOfSmallMessage.getUid()), FetchGroup.MINIMAL, mailboxSession) .next(); MessageMetaData oneMBMetaData = new MessageMetaData(addedMessage.getUid(), addedMessage.getModSeq(), - addedMessage.getFlags(), ONE_MB, addedMessage.getInternalDate(), addedMessage.getMessageId(), addedMessage.getThreadId()); + addedMessage.getFlags(), ONE_MB, addedMessage.getInternalDate(), Optional.empty(), addedMessage.getMessageId(), addedMessage.getThreadId()); Event eventWithAFakeMessageSize = EventFactory.added() .eventId(RANDOM_EVENT_ID) diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MessageMetaData.java b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MessageMetaData.java index de6fe30802..ed2e7be9a8 100644 --- a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MessageMetaData.java +++ b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MessageMetaData.java @@ -19,6 +19,7 @@ package org.apache.james.mailbox.model; import java.util.Date; +import java.util.Optional; import javax.mail.Flags; @@ -32,16 +33,18 @@ public class MessageMetaData { private final Flags flags; private final long size; private final Date internalDate; + private final Optional<Date> saveDate; private final ModSeq modSeq; private final MessageId messageId; private final ThreadId threadId; - public MessageMetaData(MessageUid uid, ModSeq modSeq, Flags flags, long size, Date internalDate, MessageId messageId, ThreadId threadId) { + public MessageMetaData(MessageUid uid, ModSeq modSeq, Flags flags, long size, Date internalDate, Optional<Date> saveDate, MessageId messageId, ThreadId threadId) { this.uid = uid; this.flags = flags; this.size = size; this.modSeq = modSeq; this.internalDate = internalDate; + this.saveDate = saveDate; this.messageId = messageId; this.threadId = threadId; } @@ -67,6 +70,10 @@ public class MessageMetaData { return internalDate; } + public Optional<Date> getSaveDate() { + return saveDate; + } + public MessageUid getUid() { return uid; } diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MessageResult.java b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MessageResult.java index 331ddf6dc5..a4d84958d5 100644 --- a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MessageResult.java +++ b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MessageResult.java @@ -23,6 +23,7 @@ import java.io.IOException; import java.util.Date; import java.util.Iterator; import java.util.List; +import java.util.Optional; import javax.mail.Flags; @@ -64,6 +65,8 @@ public interface MessageResult extends Comparable<MessageResult> { ThreadId getThreadId(); + Optional<Date> getSaveDate(); + Date getInternalDate(); Flags getFlags(); diff --git a/mailbox/api/src/test/java/org/apache/james/mailbox/EventTest.java b/mailbox/api/src/test/java/org/apache/james/mailbox/EventTest.java index c084becb09..14d6d89e36 100644 --- a/mailbox/api/src/test/java/org/apache/james/mailbox/EventTest.java +++ b/mailbox/api/src/test/java/org/apache/james/mailbox/EventTest.java @@ -23,6 +23,7 @@ import static org.apache.james.mailbox.events.MailboxEvents.Added.IS_DELIVERY; import static org.assertj.core.api.Assertions.assertThat; import java.util.Date; +import java.util.Optional; import java.util.UUID; import javax.mail.Flags; @@ -69,8 +70,8 @@ class EventTest { MessageUid uid2 = MessageUid.of(37); TestMessageId messageId1 = TestMessageId.of(45); TestMessageId messageId2 = TestMessageId.of(46); - MessageMetaData metaData1 = new MessageMetaData(uid1, ModSeq.of(85), new Flags(), 36, new Date(), messageId1, ThreadId.fromBaseMessageId(messageId1)); - MessageMetaData metaData2 = new MessageMetaData(uid2, ModSeq.of(85), new Flags(), 36, new Date(), messageId2, ThreadId.fromBaseMessageId(messageId2)); + MessageMetaData metaData1 = new MessageMetaData(uid1, ModSeq.of(85), new Flags(), 36, new Date(), Optional.empty(), messageId1, ThreadId.fromBaseMessageId(messageId1)); + MessageMetaData metaData2 = new MessageMetaData(uid2, ModSeq.of(85), new Flags(), 36, new Date(), Optional.empty(), messageId2, ThreadId.fromBaseMessageId(messageId2)); Added added = new Added(MailboxSession.SessionId.of(36), BOB, MailboxPath.inbox(BOB), TestId.of(48), ImmutableSortedMap.of( @@ -86,8 +87,8 @@ class EventTest { MessageUid uid1 = MessageUid.of(36); MessageUid uid2 = MessageUid.of(37); TestMessageId messageId = TestMessageId.of(45); - MessageMetaData metaData1 = new MessageMetaData(uid1, ModSeq.of(85), new Flags(), 36, new Date(), messageId, ThreadId.fromBaseMessageId(messageId)); - MessageMetaData metaData2 = new MessageMetaData(uid2, ModSeq.of(85), new Flags(), 36, new Date(), messageId, ThreadId.fromBaseMessageId(messageId)); + MessageMetaData metaData1 = new MessageMetaData(uid1, ModSeq.of(85), new Flags(), 36, new Date(), Optional.empty(), messageId, ThreadId.fromBaseMessageId(messageId)); + MessageMetaData metaData2 = new MessageMetaData(uid2, ModSeq.of(85), new Flags(), 36, new Date(), Optional.empty(), messageId, ThreadId.fromBaseMessageId(messageId)); Added added = new Added(MailboxSession.SessionId.of(36), BOB, MailboxPath.inbox(BOB), TestId.of(48), ImmutableSortedMap.of( diff --git a/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxListenerTest.java b/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxListenerTest.java index af96c1cdca..236f1d5e9a 100644 --- a/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxListenerTest.java +++ b/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxListenerTest.java @@ -74,7 +74,7 @@ class MailboxListenerTest { private static final MailboxACL ACL_2 = new MailboxACL( Pair.of(MailboxACL.EntryKey.createUserEntryKey(Username.of("Bob")), new MailboxACL.Rfc4314Rights(MailboxACL.Right.Read))); private static final MessageUid UID = MessageUid.of(85); - private static final MessageMetaData META_DATA = new MessageMetaData(UID, ModSeq.of(45), new Flags(), 45, new Date(), TestMessageId.of(75), ThreadId.fromBaseMessageId(TestMessageId.of(75))); + private static final MessageMetaData META_DATA = new MessageMetaData(UID, ModSeq.of(45), new Flags(), 45, new Date(), Optional.of(new Date()), TestMessageId.of(75), ThreadId.fromBaseMessageId(TestMessageId.of(75))); @Test void mailboxAddedShouldMatchBeanContract() { diff --git a/mailbox/event/json/src/main/scala/org/apache/james/event/json/DTOs.scala b/mailbox/event/json/src/main/scala/org/apache/james/event/json/DTOs.scala index 33efeac146..6c0afb3c04 100644 --- a/mailbox/event/json/src/main/scala/org/apache/james/event/json/DTOs.scala +++ b/mailbox/event/json/src/main/scala/org/apache/james/event/json/DTOs.scala @@ -90,12 +90,13 @@ object DTOs { Flags.fromJavaFlags(javaMessageMetaData.getFlags), javaMessageMetaData.getSize, javaMessageMetaData.getInternalDate.toInstant, + javaMessageMetaData.getSaveDate.map(_.toInstant).toScala, javaMessageMetaData.getMessageId, Option(javaMessageMetaData.getThreadId)) } - case class MessageMetaData(uid: MessageUid, modSeq: ModSeq, flags: Flags, size: Long, internalDate: Instant, messageId: MessageId, threadId: Option[ThreadId]) { - def toJava: JavaMessageMetaData = new JavaMessageMetaData(uid, modSeq, Flags.toJavaFlags(flags), size, Date.from(internalDate), messageId, retrieveThreadId) + case class MessageMetaData(uid: MessageUid, modSeq: ModSeq, flags: Flags, size: Long, internalDate: Instant, saveDate: Option[Instant], messageId: MessageId, threadId: Option[ThreadId]) { + def toJava: JavaMessageMetaData = new JavaMessageMetaData(uid, modSeq, Flags.toJavaFlags(flags), size, Date.from(internalDate), saveDate.map(Date.from).toJava, messageId, retrieveThreadId) def retrieveThreadId: ThreadId = threadId.getOrElse(ThreadId.fromBaseMessageId(messageId)) } diff --git a/mailbox/event/json/src/test/java/org/apache/james/event/json/AddedSerializationTest.java b/mailbox/event/json/src/test/java/org/apache/james/event/json/AddedSerializationTest.java index 40df84bb4c..8af651840b 100644 --- a/mailbox/event/json/src/test/java/org/apache/james/event/json/AddedSerializationTest.java +++ b/mailbox/event/json/src/test/java/org/apache/james/event/json/AddedSerializationTest.java @@ -23,12 +23,14 @@ import static net.javacrumbs.jsonunit.assertj.JsonAssertions.assertThatJson; import static org.apache.james.event.json.SerializerFixture.EVENT_ID; import static org.apache.james.event.json.SerializerFixture.EVENT_SERIALIZER; import static org.apache.james.mailbox.events.MailboxEvents.Added.IS_DELIVERY; +import static org.apache.james.mailbox.store.mail.model.MailboxMessage.EMPTY_SAVE_DATE; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; import java.time.Instant; import java.util.Date; import java.util.NoSuchElementException; +import java.util.Optional; import java.util.SortedMap; import javax.mail.Flags; @@ -68,11 +70,14 @@ class AddedSerializationTest { .add("User Custom Flag") .build(); private static final SortedMap<MessageUid, MessageMetaData> ADDED = ImmutableSortedMap.of( - MESSAGE_UID, new MessageMetaData(MESSAGE_UID, MOD_SEQ, FLAGS, SIZE, Date.from(INSTANT), MESSAGE_ID, ThreadId.fromBaseMessageId(MESSAGE_ID))); + MESSAGE_UID, new MessageMetaData(MESSAGE_UID, MOD_SEQ, FLAGS, SIZE, Date.from(INSTANT), Optional.of(Date.from(INSTANT)), MESSAGE_ID, ThreadId.fromBaseMessageId(MESSAGE_ID))); + private static final SortedMap<MessageUid, MessageMetaData> BACKWARD_ADDED = ImmutableSortedMap.of( + MESSAGE_UID, new MessageMetaData(MESSAGE_UID, MOD_SEQ, FLAGS, SIZE, Date.from(INSTANT), EMPTY_SAVE_DATE, MESSAGE_ID, ThreadId.fromBaseMessageId(MESSAGE_ID))); private static final SortedMap<MessageUid, MessageMetaData> ADDED_WITH_DISTINCT_MESSAGE_ID_AND_THREAD_ID = ImmutableSortedMap.of( - MESSAGE_UID, new MessageMetaData(MESSAGE_UID, MOD_SEQ, FLAGS, SIZE, Date.from(INSTANT), MESSAGE_ID, ThreadId.fromBaseMessageId(TestMessageId.of(100)))); + MESSAGE_UID, new MessageMetaData(MESSAGE_UID, MOD_SEQ, FLAGS, SIZE, Date.from(INSTANT), Optional.of(Date.from(INSTANT)), MESSAGE_ID, ThreadId.fromBaseMessageId(TestMessageId.of(100)))); private static final Added DEFAULT_ADDED_EVENT = new Added(SESSION_ID, USERNAME, MAILBOX_PATH, MAILBOX_ID, ADDED, EVENT_ID, !IS_DELIVERY); + private static final Added BACKWARD_ADDED_EVENT = new Added(SESSION_ID, USERNAME, MAILBOX_PATH, MAILBOX_ID, BACKWARD_ADDED, EVENT_ID, !IS_DELIVERY); private static final Added ADDED_WITH_DISTINCT_MESSAGE_ID_AND_THREAD_ID_EVENT = new Added( SESSION_ID, USERNAME, MAILBOX_PATH, MAILBOX_ID, ADDED_WITH_DISTINCT_MESSAGE_ID_AND_THREAD_ID, EVENT_ID, !IS_DELIVERY); private static final String DEFAULT_ADDED_EVENT_JSON = @@ -94,6 +99,7 @@ class AddedSerializationTest { " \"userFlags\":[\"User Custom Flag\"]}," + " \"size\": 45, " + " \"internalDate\": \"2018-12-14T09:41:51.541Z\"," + + " \"saveDate\": \"2018-12-14T09:41:51.541Z\"," + " \"messageId\": \"42\"," + " \"threadId\":\"42\"" + " }" + @@ -122,6 +128,7 @@ class AddedSerializationTest { " \"userFlags\":[\"User Custom Flag\"]}," + " \"size\": 45, " + " \"internalDate\": \"2018-12-14T09:41:51.541Z\"," + + " \"saveDate\": \"2018-12-14T09:41:51.541Z\"," + " \"messageId\": \"42\"," + " \"threadId\":\"100\"" + " }" + @@ -179,7 +186,7 @@ class AddedSerializationTest { @Test void previousAddedFormatShouldBeWellDeserialized() { assertThat(EVENT_SERIALIZER.fromJson(DEFAULT_BACKWARD_ADDED_EVENT_JSON).get()) - .isEqualTo(DEFAULT_ADDED_EVENT); + .isEqualTo(BACKWARD_ADDED_EVENT); } @Nested diff --git a/mailbox/event/json/src/test/java/org/apache/james/event/json/ExpungedSerializationTest.java b/mailbox/event/json/src/test/java/org/apache/james/event/json/ExpungedSerializationTest.java index 36c0688444..4a98466031 100644 --- a/mailbox/event/json/src/test/java/org/apache/james/event/json/ExpungedSerializationTest.java +++ b/mailbox/event/json/src/test/java/org/apache/james/event/json/ExpungedSerializationTest.java @@ -22,6 +22,7 @@ package org.apache.james.event.json; import static net.javacrumbs.jsonunit.assertj.JsonAssertions.assertThatJson; import static org.apache.james.event.json.SerializerFixture.EVENT_ID; import static org.apache.james.event.json.SerializerFixture.EVENT_SERIALIZER; +import static org.apache.james.mailbox.store.mail.model.MailboxMessage.EMPTY_SAVE_DATE; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; @@ -29,6 +30,7 @@ import java.time.Instant; import java.util.Date; import java.util.Map; import java.util.NoSuchElementException; +import java.util.Optional; import javax.mail.Flags; @@ -67,12 +69,14 @@ class ExpungedSerializationTest { .add("User Custom Flag") .build(); private static final Map<MessageUid, MessageMetaData> EXPUNGED = ImmutableMap.of( - MESSAGE_UID, new MessageMetaData(MESSAGE_UID, MOD_SEQ, FLAGS, SIZE, Date.from(INSTANT), MESSAGE_ID, ThreadId.fromBaseMessageId(MESSAGE_ID))); + MESSAGE_UID, new MessageMetaData(MESSAGE_UID, MOD_SEQ, FLAGS, SIZE, Date.from(INSTANT), Optional.of(Date.from(INSTANT)), MESSAGE_ID, ThreadId.fromBaseMessageId(MESSAGE_ID))); + private static final Map<MessageUid, MessageMetaData> BACKWARD_EXPUNGED = ImmutableMap.of( + MESSAGE_UID, new MessageMetaData(MESSAGE_UID, MOD_SEQ, FLAGS, SIZE, Date.from(INSTANT), EMPTY_SAVE_DATE, MESSAGE_ID, ThreadId.fromBaseMessageId(MESSAGE_ID))); private static final Map<MessageUid, MessageMetaData> EXPUNGED_WITH_DISTINCT_MESSAGE_ID_AND_THREAD_ID = ImmutableMap.of( - MESSAGE_UID, new MessageMetaData(MESSAGE_UID, MOD_SEQ, FLAGS, SIZE, Date.from(INSTANT), MESSAGE_ID, ThreadId.fromBaseMessageId(TestMessageId.of(100)))); + MESSAGE_UID, new MessageMetaData(MESSAGE_UID, MOD_SEQ, FLAGS, SIZE, Date.from(INSTANT), Optional.of(Date.from(INSTANT)), MESSAGE_ID, ThreadId.fromBaseMessageId(TestMessageId.of(100)))); - private static final Expunged DEFAULT_EXPUNGED_EVENT = new Expunged(SESSION_ID, USERNAME, - MAILBOX_PATH, MAILBOX_ID, EXPUNGED, EVENT_ID); + private static final Expunged DEFAULT_EXPUNGED_EVENT = new Expunged(SESSION_ID, USERNAME, MAILBOX_PATH, MAILBOX_ID, EXPUNGED, EVENT_ID); + private static final Expunged BACKWARD_EXPUNGED_EVENT = new Expunged(SESSION_ID, USERNAME, MAILBOX_PATH, MAILBOX_ID, BACKWARD_EXPUNGED, EVENT_ID); private static final Expunged EXPUNGED_WITH_DISTINCT_MESSAGE_ID_AND_THREAD_ID_EVENT = new Expunged( SESSION_ID, USERNAME, MAILBOX_PATH, MAILBOX_ID, EXPUNGED_WITH_DISTINCT_MESSAGE_ID_AND_THREAD_ID, EVENT_ID); private static final String DEFAULT_EXPUNGED_EVENT_JSON = @@ -94,6 +98,7 @@ class ExpungedSerializationTest { " \"userFlags\":[\"User Custom Flag\"]}," + " \"size\": 45, " + " \"internalDate\": \"2018-12-14T09:41:51.541Z\"," + + " \"saveDate\": \"2018-12-14T09:41:51.541Z\"," + " \"messageId\": \"42\"," + " \"threadId\": \"42\"" + " }" + @@ -121,6 +126,7 @@ class ExpungedSerializationTest { " \"userFlags\":[\"User Custom Flag\"]}," + " \"size\": 45, " + " \"internalDate\": \"2018-12-14T09:41:51.541Z\"," + + " \"saveDate\": \"2018-12-14T09:41:51.541Z\"," + " \"messageId\": \"42\"," + " \"threadId\": \"100\"" + " }" + @@ -177,7 +183,7 @@ class ExpungedSerializationTest { @Test void previousExpungedFormatShouldBeWellDeserialized() { assertThat(EVENT_SERIALIZER.fromJson(DEFAULT_BACKWARD_EXPUNGED_EVENT_JSON).get()) - .isEqualTo(DEFAULT_EXPUNGED_EVENT); + .isEqualTo(BACKWARD_EXPUNGED_EVENT); } @Nested diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/MessageResultImpl.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/MessageResultImpl.java index 73866e4a20..541e0450d2 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/MessageResultImpl.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/MessageResultImpl.java @@ -27,6 +27,7 @@ import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.Optional; import javax.mail.Flags; @@ -96,6 +97,11 @@ public class MessageResultImpl implements MessageResult { return message.getThreadId(); } + @Override + public Optional<Date> getSaveDate() { + return message.getSaveDate(); + } + @Override public Date getInternalDate() { return message.getInternalDate(); diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageResultIterator.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageResultIterator.java index ec9d68b755..b58f83a756 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageResultIterator.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageResultIterator.java @@ -25,6 +25,7 @@ import java.util.Iterator; import java.util.List; import java.util.NoSuchElementException; import java.util.Objects; +import java.util.Optional; import javax.mail.Flags; @@ -183,6 +184,11 @@ public class StoreMessageResultIterator implements MessageResultIterator { return messageMetaData.getThreadId(); } + @Override + public Optional<Date> getSaveDate() { + return messageMetaData.getSaveDate(); + } + @Override public Date getInternalDate() { return messageMetaData().getInternalDate(); diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/MailboxMessage.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/MailboxMessage.java index 6bfd3efa1f..d6e7f17b2b 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/MailboxMessage.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/MailboxMessage.java @@ -117,7 +117,7 @@ public interface MailboxMessage extends Message, Comparable<MailboxMessage> { Flags createFlags(); default MessageMetaData metaData() { - return new MessageMetaData(getUid(), getModSeq(), createFlags(), getFullContentOctets(), getInternalDate(), getMessageId(), getThreadId()); + return new MessageMetaData(getUid(), getModSeq(), createFlags(), getFullContentOctets(), getInternalDate(), getSaveDate(), getMessageId(), getThreadId()); } default int compareTo(MailboxMessage other) { diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/PreDeletionHooksTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/PreDeletionHooksTest.java index 3882a8cc83..62675e2901 100644 --- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/PreDeletionHooksTest.java +++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/PreDeletionHooksTest.java @@ -31,6 +31,7 @@ import static org.mockito.Mockito.when; import java.time.Duration; import java.util.Date; +import java.util.Optional; import java.util.concurrent.locks.ReentrantLock; import javax.mail.Flags; @@ -59,7 +60,7 @@ class PreDeletionHooksTest { private static final TestId MAILBOX_ID = TestId.of(45); private static final ModSeq MOD_SEQ = ModSeq.of(18); private static final int SIZE = 12; - private static final MessageMetaData MESSAGE_META_DATA = new MessageMetaData(MessageUid.of(1), MOD_SEQ, new Flags(), SIZE, new Date(), TestMessageId.of(42), ThreadId.fromBaseMessageId(TestMessageId.of(42))); + private static final MessageMetaData MESSAGE_META_DATA = new MessageMetaData(MessageUid.of(1), MOD_SEQ, new Flags(), SIZE, new Date(), Optional.empty(), TestMessageId.of(42), ThreadId.fromBaseMessageId(TestMessageId.of(42))); private static final PreDeletionHook.DeleteOperation DELETE_OPERATION = PreDeletionHook.DeleteOperation.from(ImmutableList.of(MetadataWithMailboxId.from( MESSAGE_META_DATA, MAILBOX_ID))); diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MetadataMapAssertTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MetadataMapAssertTest.java index 6fe06f6867..b774698262 100644 --- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MetadataMapAssertTest.java +++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MetadataMapAssertTest.java @@ -24,6 +24,7 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy; import java.util.Date; import java.util.HashMap; import java.util.Map; +import java.util.Optional; import javax.mail.Flags; @@ -63,7 +64,7 @@ class MetadataMapAssertTest { @Test void metadataMapAssertShouldSucceedWhenContainingRightMetadata() { Map<MessageUid, MessageMetaData> metaDataMap = new HashMap<>(); - metaDataMap.put(UID, new MessageMetaData(UID, MODSEQ, new Flags(), HEADER_STRING.length() + BODY_STRING.length(), DATE, MESSAGE_ID, ThreadId.fromBaseMessageId(MESSAGE_ID))); + metaDataMap.put(UID, new MessageMetaData(UID, MODSEQ, new Flags(), HEADER_STRING.length() + BODY_STRING.length(), DATE, Optional.empty(), MESSAGE_ID, ThreadId.fromBaseMessageId(MESSAGE_ID))); MetadataMapAssert.assertThat(metaDataMap).containsMetadataForMessages(message1); } @@ -71,7 +72,7 @@ class MetadataMapAssertTest { @Test void metadataMapAssertShouldFailWhenUidMismatch() { Map<MessageUid, MessageMetaData> metaDataMap = new HashMap<>(); - metaDataMap.put(UID, new MessageMetaData(UID.next(), MODSEQ, new Flags(), HEADER_STRING.length() + BODY_STRING.length(), DATE, MESSAGE_ID, ThreadId.fromBaseMessageId(MESSAGE_ID))); + metaDataMap.put(UID, new MessageMetaData(UID.next(), MODSEQ, new Flags(), HEADER_STRING.length() + BODY_STRING.length(), DATE, Optional.empty(), MESSAGE_ID, ThreadId.fromBaseMessageId(MESSAGE_ID))); assertThatThrownBy(() -> MetadataMapAssert.assertThat(metaDataMap).containsMetadataForMessages(message1)) .isInstanceOf(AssertionError.class); @@ -82,7 +83,7 @@ class MetadataMapAssertTest { Map<MessageUid, MessageMetaData> metaDataMap = new HashMap<>(); Date date = new Date(); date.setTime(DATE.getTime() + 100L); - metaDataMap.put(UID, new MessageMetaData(UID, MODSEQ, new Flags(), HEADER_STRING.length() + BODY_STRING.length(), date, MESSAGE_ID, ThreadId.fromBaseMessageId(MESSAGE_ID))); + metaDataMap.put(UID, new MessageMetaData(UID, MODSEQ, new Flags(), HEADER_STRING.length() + BODY_STRING.length(), date, Optional.empty(), MESSAGE_ID, ThreadId.fromBaseMessageId(MESSAGE_ID))); assertThatThrownBy(() -> MetadataMapAssert.assertThat(metaDataMap).containsMetadataForMessages(message1)) .isInstanceOf(AssertionError.class); @@ -91,7 +92,7 @@ class MetadataMapAssertTest { @Test void metadataMapAssertShouldFailWhenSizeMismatch() { Map<MessageUid, MessageMetaData> metaDataMap = new HashMap<>(); - metaDataMap.put(UID, new MessageMetaData(UID, MODSEQ, new Flags(), HEADER_STRING.length() + BODY_STRING.length() + 1, DATE, MESSAGE_ID, ThreadId.fromBaseMessageId(MESSAGE_ID))); + metaDataMap.put(UID, new MessageMetaData(UID, MODSEQ, new Flags(), HEADER_STRING.length() + BODY_STRING.length() + 1, DATE, Optional.empty(), MESSAGE_ID, ThreadId.fromBaseMessageId(MESSAGE_ID))); assertThatThrownBy(() -> MetadataMapAssert.assertThat(metaDataMap).containsMetadataForMessages(message1)) .isInstanceOf(AssertionError.class); diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/quota/ListeningCurrentQuotaUpdaterTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/quota/ListeningCurrentQuotaUpdaterTest.java index f89989b1d5..f20a2c22fe 100644 --- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/quota/ListeningCurrentQuotaUpdaterTest.java +++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/quota/ListeningCurrentQuotaUpdaterTest.java @@ -100,8 +100,8 @@ class ListeningCurrentQuotaUpdaterTest { Added added = mock(Added.class); when(added.getMailboxId()).thenReturn(MAILBOX_ID); when(added.getMailboxPath()).thenReturn(MAILBOX_PATH); - when(added.getMetaData(MessageUid.of(36))).thenReturn(new MessageMetaData(MessageUid.of(36), ModSeq.first(),new Flags(), SIZE, new Date(), new DefaultMessageId(), ThreadId.fromBaseMessageId(new DefaultMessageId()))); - when(added.getMetaData(MessageUid.of(38))).thenReturn(new MessageMetaData(MessageUid.of(38), ModSeq.first(),new Flags(), SIZE, new Date(), new DefaultMessageId(), ThreadId.fromBaseMessageId(new DefaultMessageId()))); + when(added.getMetaData(MessageUid.of(36))).thenReturn(new MessageMetaData(MessageUid.of(36), ModSeq.first(),new Flags(), SIZE, new Date(), Optional.empty(), new DefaultMessageId(), ThreadId.fromBaseMessageId(new DefaultMessageId()))); + when(added.getMetaData(MessageUid.of(38))).thenReturn(new MessageMetaData(MessageUid.of(38), ModSeq.first(),new Flags(), SIZE, new Date(), Optional.empty(), new DefaultMessageId(), ThreadId.fromBaseMessageId(new DefaultMessageId()))); when(added.getUids()).thenReturn(Lists.newArrayList(MessageUid.of(36), MessageUid.of(38))); when(added.getUsername()).thenReturn(USERNAME_BENWA); when(mockedQuotaRootResolver.getQuotaRootReactive(eq(MAILBOX_ID))).thenReturn(Mono.just(QUOTA_ROOT)); @@ -116,8 +116,8 @@ class ListeningCurrentQuotaUpdaterTest { @Test void expungedEventShouldDecreaseCurrentQuotaValues() throws Exception { Expunged expunged = mock(Expunged.class); - when(expunged.getMetaData(MessageUid.of(36))).thenReturn(new MessageMetaData(MessageUid.of(36), ModSeq.first(), new Flags(), SIZE, new Date(), new DefaultMessageId(), ThreadId.fromBaseMessageId(new DefaultMessageId()))); - when(expunged.getMetaData(MessageUid.of(38))).thenReturn(new MessageMetaData(MessageUid.of(38), ModSeq.first(), new Flags(), SIZE, new Date(), new DefaultMessageId(), ThreadId.fromBaseMessageId(new DefaultMessageId()))); + when(expunged.getMetaData(MessageUid.of(36))).thenReturn(new MessageMetaData(MessageUid.of(36), ModSeq.first(), new Flags(), SIZE, new Date(), Optional.empty(), new DefaultMessageId(), ThreadId.fromBaseMessageId(new DefaultMessageId()))); + when(expunged.getMetaData(MessageUid.of(38))).thenReturn(new MessageMetaData(MessageUid.of(38), ModSeq.first(), new Flags(), SIZE, new Date(), Optional.empty(), new DefaultMessageId(), ThreadId.fromBaseMessageId(new DefaultMessageId()))); when(expunged.getUids()).thenReturn(Lists.newArrayList(MessageUid.of(36), MessageUid.of(38))); when(expunged.getMailboxId()).thenReturn(MAILBOX_ID); when(expunged.getUsername()).thenReturn(USERNAME_BENWA); diff --git a/protocols/imap/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java b/protocols/imap/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java index 8dc7aef80f..f2a9753778 100644 --- a/protocols/imap/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java +++ b/protocols/imap/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java @@ -26,6 +26,7 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import java.util.Date; +import java.util.Optional; import javax.mail.Flags; @@ -132,7 +133,7 @@ class MailboxEventAnalyserTest { .randomEventId() .mailboxSession(MAILBOX_SESSION) .mailbox(DEFAULT_MAILBOX) - .addMetaData(new MessageMetaData(MessageUid.of(11), ModSeq.first(), new Flags(), 45, new Date(), new DefaultMessageId(), ThreadId.fromBaseMessageId(new DefaultMessageId()))) + .addMetaData(new MessageMetaData(MessageUid.of(11), ModSeq.first(), new Flags(), 45, new Date(), Optional.empty(), new DefaultMessageId(), ThreadId.fromBaseMessageId(new DefaultMessageId()))) .isDelivery(!IS_DELIVERY) .build(); diff --git a/protocols/imap/src/test/java/org/apache/james/imap/processor/base/SelectedMailboxImplTest.java b/protocols/imap/src/test/java/org/apache/james/imap/processor/base/SelectedMailboxImplTest.java index d8bc996eac..b628795603 100644 --- a/protocols/imap/src/test/java/org/apache/james/imap/processor/base/SelectedMailboxImplTest.java +++ b/protocols/imap/src/test/java/org/apache/james/imap/processor/base/SelectedMailboxImplTest.java @@ -33,6 +33,7 @@ import static org.mockito.Mockito.when; import java.time.Duration; import java.util.Date; +import java.util.Optional; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.ThreadFactory; @@ -222,7 +223,7 @@ class SelectedMailboxImplTest { .randomEventId() .mailboxSession(MailboxSessionUtil.create(Username.of("user"))) .mailbox(mailbox) - .addMetaData(new MessageMetaData(EMITTED_EVENT_UID, MOD_SEQ, new Flags(), SIZE, new Date(), new DefaultMessageId(), ThreadId.fromBaseMessageId(new DefaultMessageId()))) + .addMetaData(new MessageMetaData(EMITTED_EVENT_UID, MOD_SEQ, new Flags(), SIZE, new Date(), Optional.empty(), new DefaultMessageId(), ThreadId.fromBaseMessageId(new DefaultMessageId()))) .isDelivery(!IS_DELIVERY) .build(); } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
