MAILBOX-359 Remove MailMessage constructor of SimpleMessageMetaData
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/ecb6258c Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/ecb6258c Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/ecb6258c Branch: refs/heads/master Commit: ecb6258c479cf06c60016d81874664b5653b61d6 Parents: 1c3c3e5 Author: Benoit Tellier <[email protected]> Authored: Sat Dec 15 10:54:24 2018 +0700 Committer: Benoit Tellier <[email protected]> Committed: Wed Dec 19 10:58:07 2018 +0700 ---------------------------------------------------------------------- .../james/mailbox/cassandra/mail/CassandraMessageMapper.java | 7 +++---- .../org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java | 7 +++---- .../james/mailbox/maildir/mail/MaildirMessageMapper.java | 5 ++--- .../james/mailbox/inmemory/mail/InMemoryMessageMapper.java | 5 ++--- .../james/mailbox/spamassassin/SpamAssassinListenerTest.java | 5 ++--- .../org/apache/james/mailbox/store/SimpleMessageMetaData.java | 5 ----- .../org/apache/james/mailbox/store/StoreMessageIdManager.java | 4 ++-- .../org/apache/james/mailbox/store/StoreMessageManager.java | 2 +- .../james/mailbox/store/event/MailboxEventDispatcher.java | 3 +-- .../apache/james/mailbox/store/mail/model/MailboxMessage.java | 2 +- .../james/mailbox/store/MessageIdManagerTestSystem.java | 2 +- 11 files changed, 18 insertions(+), 29 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/ecb6258c/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java index 300e7ef..59d9a1e 100644 --- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java +++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java @@ -47,7 +47,6 @@ import org.apache.james.mailbox.model.MessageMetaData; import org.apache.james.mailbox.model.MessageRange; import org.apache.james.mailbox.model.UpdatedFlags; import org.apache.james.mailbox.store.FlagsUpdateCalculator; -import org.apache.james.mailbox.store.SimpleMessageMetaData; import org.apache.james.mailbox.store.mail.MessageMapper; import org.apache.james.mailbox.store.mail.model.Mailbox; import org.apache.james.mailbox.store.mail.model.MailboxMessage; @@ -210,7 +209,7 @@ public class CassandraMessageMapper implements MessageMapper { .collect(JamesCollectors.chunker(cassandraConfiguration.getExpungeChunkSize())) .map(uidChunk -> expungeUidChunk(mailboxId, uidChunk)) .flatMap(CompletableFuture::join) - .collect(Guavate.toImmutableMap(MailboxMessage::getUid, SimpleMessageMetaData::new)); + .collect(Guavate.toImmutableMap(MailboxMessage::getUid, MailboxMessage::metaData)); } private CompletableFuture<Stream<SimpleMailboxMessage>> expungeUidChunk(CassandraId mailboxId, Collection<MessageUid> uidChunk) { @@ -260,7 +259,7 @@ public class CassandraMessageMapper implements MessageMapper { save(mailbox, addUidAndModseq(message, mailboxId)) .thenCompose(voidValue -> indexTableHandler.updateIndexOnAdd(message, mailboxId)) .join(); - return new SimpleMessageMetaData(message); + return message.metaData(); } private MailboxMessage addUidAndModseq(MailboxMessage message, CassandraId mailboxId) throws MailboxException { @@ -372,7 +371,7 @@ public class CassandraMessageMapper implements MessageMapper { insertIds(addUidAndModseq(message, mailboxId), mailboxId) .thenCompose(voidValue -> indexTableHandler.updateIndexOnAdd(message, mailboxId)) .join(); - return new SimpleMessageMetaData(message); + return message.metaData(); } private CompletableFuture<Void> save(Mailbox mailbox, MailboxMessage message) throws MailboxException { http://git-wip-us.apache.org/repos/asf/james-project/blob/ecb6258c/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java ---------------------------------------------------------------------- diff --git a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java index 88ffb5a..a42f7bb 100644 --- a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java +++ b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java @@ -45,7 +45,6 @@ import org.apache.james.mailbox.model.MessageRange; import org.apache.james.mailbox.model.MessageRange.Type; import org.apache.james.mailbox.model.UpdatedFlags; import org.apache.james.mailbox.store.FlagsUpdateCalculator; -import org.apache.james.mailbox.store.SimpleMessageMetaData; import org.apache.james.mailbox.store.mail.MessageMapper; import org.apache.james.mailbox.store.mail.MessageUtils; import org.apache.james.mailbox.store.mail.MessageUtils.MessageChangedFlags; @@ -322,12 +321,12 @@ public class JPAMessageMapper extends JPATransactionalMapper implements MessageM ((AbstractJPAMailboxMessage) message).setMailbox(currentMailbox); getEntityManager().persist(message); - return new SimpleMessageMetaData(message); + return message.metaData(); } else { JPAMailboxMessage persistData = new JPAMailboxMessage(currentMailbox, message.getUid(), message.getModSeq(), message); persistData.setFlags(message.createFlags()); getEntityManager().persist(persistData); - return new SimpleMessageMetaData(persistData); + return persistData.metaData(); } } catch (PersistenceException | ArgumentException e) { @@ -381,7 +380,7 @@ public class JPAMessageMapper extends JPATransactionalMapper implements MessageM private Map<MessageUid, MessageMetaData> createMetaData(List<MailboxMessage> uids) { final Map<MessageUid, MessageMetaData> data = new HashMap<>(); for (MailboxMessage m : uids) { - data.put(m.getUid(), new SimpleMessageMetaData(m)); + data.put(m.getUid(), m.metaData()); } return data; } http://git-wip-us.apache.org/repos/asf/james-project/blob/ecb6258c/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMessageMapper.java ---------------------------------------------------------------------- diff --git a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMessageMapper.java b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMessageMapper.java index 2bd14db..d7e916a 100644 --- a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMessageMapper.java +++ b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMessageMapper.java @@ -47,7 +47,6 @@ import org.apache.james.mailbox.model.MessageRange; import org.apache.james.mailbox.model.MessageRange.Type; import org.apache.james.mailbox.model.UpdatedFlags; import org.apache.james.mailbox.store.FlagsUpdateCalculator; -import org.apache.james.mailbox.store.SimpleMessageMetaData; import org.apache.james.mailbox.store.mail.AbstractMessageMapper; import org.apache.james.mailbox.store.mail.model.Mailbox; import org.apache.james.mailbox.store.mail.model.MailboxMessage; @@ -234,7 +233,7 @@ public class MaildirMessageMapper extends AbstractMessageMapper { Map<MessageUid, MessageMetaData> uids = new HashMap<>(); for (MailboxMessage m : results) { MessageUid uid = m.getUid(); - uids.put(uid, new SimpleMessageMetaData(m)); + uids.put(uid, m.metaData()); delete(mailbox, m); } @@ -312,7 +311,7 @@ public class MaildirMessageMapper extends AbstractMessageMapper { uid = folder.appendMessage(mailboxSession, newMessageFile.getName()); message.setUid(uid); message.setModSeq(newMessageFile.lastModified()); - return new SimpleMessageMetaData(message); + return message.metaData(); } catch (MailboxException e) { throw new MailboxException("Failure while save MailboxMessage " + message + " in Mailbox " + mailbox, e); } http://git-wip-us.apache.org/repos/asf/james-project/blob/ecb6258c/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java ---------------------------------------------------------------------- diff --git a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java index a31b931..edcd7ae 100644 --- a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java +++ b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java @@ -36,7 +36,6 @@ import org.apache.james.mailbox.exception.MailboxException; import org.apache.james.mailbox.inmemory.InMemoryId; import org.apache.james.mailbox.model.MessageMetaData; import org.apache.james.mailbox.model.MessageRange; -import org.apache.james.mailbox.store.SimpleMessageMetaData; import org.apache.james.mailbox.store.mail.AbstractMessageMapper; import org.apache.james.mailbox.store.mail.ModSeqProvider; import org.apache.james.mailbox.store.mail.UidProvider; @@ -145,7 +144,7 @@ public class InMemoryMessageMapper extends AbstractMessageMapper { while (it.hasNext()) { MailboxMessage member = it.next(); if (member.isDeleted()) { - filteredResult.put(member.getUid(), new SimpleMessageMetaData(member)); + filteredResult.put(member.getUid(), member.metaData()); delete(mailbox, member); } @@ -189,7 +188,7 @@ public class InMemoryMessageMapper extends AbstractMessageMapper { copy.setModSeq(message.getModSeq()); getMembershipByUidForMailbox(mailbox).put(message.getUid(), copy); - return new SimpleMessageMetaData(message); + return message.metaData(); } @Override http://git-wip-us.apache.org/repos/asf/james-project/blob/ecb6258c/mailbox/plugin/spamassassin/src/test/java/org/apache/james/mailbox/spamassassin/SpamAssassinListenerTest.java ---------------------------------------------------------------------- diff --git a/mailbox/plugin/spamassassin/src/test/java/org/apache/james/mailbox/spamassassin/SpamAssassinListenerTest.java b/mailbox/plugin/spamassassin/src/test/java/org/apache/james/mailbox/spamassassin/SpamAssassinListenerTest.java index dba49a6..0496ac5 100644 --- a/mailbox/plugin/spamassassin/src/test/java/org/apache/james/mailbox/spamassassin/SpamAssassinListenerTest.java +++ b/mailbox/plugin/spamassassin/src/test/java/org/apache/james/mailbox/spamassassin/SpamAssassinListenerTest.java @@ -47,7 +47,6 @@ import org.apache.james.mailbox.model.MessageMetaData; import org.apache.james.mailbox.model.MessageMoves; import org.apache.james.mailbox.model.TestMessageId; import org.apache.james.mailbox.store.MailboxSessionMapperFactory; -import org.apache.james.mailbox.store.SimpleMessageMetaData; import org.apache.james.mailbox.store.StoreMailboxManager; import org.apache.james.mailbox.store.SystemMailboxesProviderImpl; import org.apache.james.mailbox.store.event.EventFactory; @@ -238,7 +237,7 @@ public class SpamAssassinListenerTest { public void eventShouldCallSpamAssassinHamLearningWhenTheMessageIsAddedInInbox() throws Exception { SimpleMailboxMessage message = createMessage(inbox); - ImmutableSortedMap<MessageUid, MessageMetaData> sortedMap = ImmutableSortedMap.of(UID, new SimpleMessageMetaData(message)); + ImmutableSortedMap<MessageUid, MessageMetaData> sortedMap = ImmutableSortedMap.of(UID, message.metaData()); MailboxListener.Added addedEvent = new EventFactory().added( MAILBOX_SESSION, sortedMap, inbox); @@ -253,7 +252,7 @@ public class SpamAssassinListenerTest { MailboxListener.Added addedEvent = new EventFactory().added( MAILBOX_SESSION, - ImmutableSortedMap.of(UID, new SimpleMessageMetaData(message)), + ImmutableSortedMap.of(UID, message.metaData()), mailbox1); listener.event(addedEvent); http://git-wip-us.apache.org/repos/asf/james-project/blob/ecb6258c/mailbox/store/src/main/java/org/apache/james/mailbox/store/SimpleMessageMetaData.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/SimpleMessageMetaData.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/SimpleMessageMetaData.java index ae1566f..61e2f54 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/SimpleMessageMetaData.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/SimpleMessageMetaData.java @@ -26,7 +26,6 @@ import javax.mail.Flags; import org.apache.james.mailbox.MessageUid; import org.apache.james.mailbox.model.MessageId; import org.apache.james.mailbox.model.MessageMetaData; -import org.apache.james.mailbox.store.mail.model.MailboxMessage; import com.google.common.base.Objects; @@ -48,10 +47,6 @@ public class SimpleMessageMetaData implements MessageMetaData { this.messageId = messageId; } - public SimpleMessageMetaData(MailboxMessage message) { - this(message.getUid(), message.getModSeq(), message.createFlags(), message.getFullContentOctets(), message.getInternalDate(), message.getMessageId()); - } - @Override public Flags getFlags() { return flags; http://git-wip-us.apache.org/repos/asf/james-project/blob/ecb6258c/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java index 23db5b5..907d675 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java @@ -86,7 +86,7 @@ public class StoreMessageIdManager implements MessageIdManager { } private static MetadataWithMailboxId toMetadataWithMailboxId(MailboxMessage message) { - return new MetadataWithMailboxId(new SimpleMessageMetaData(message), message.getMailboxId()); + return new MetadataWithMailboxId(message.metaData(), message.getMailboxId()); } public static ImmutableSet<MailboxId> toMailboxIds(List<MailboxMessage> mailboxMessages) { @@ -286,7 +286,7 @@ public class StoreMessageIdManager implements MessageIdManager { private void removeMessageFromMailboxes(MailboxMessage message, Set<MailboxId> mailboxesToRemove, MailboxSession mailboxSession) throws MailboxException { MessageIdMapper messageIdMapper = mailboxSessionMapperFactory.getMessageIdMapper(mailboxSession); MailboxMapper mailboxMapper = mailboxSessionMapperFactory.getMailboxMapper(mailboxSession); - SimpleMessageMetaData eventPayload = new SimpleMessageMetaData(message); + MessageMetaData eventPayload = message.metaData(); for (MailboxId mailboxId: mailboxesToRemove) { messageIdMapper.delete(message.getMessageId(), mailboxesToRemove); http://git-wip-us.apache.org/repos/asf/james-project/blob/ecb6258c/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java index 58f0d08..76595af 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java @@ -720,7 +720,7 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana while (originalRows.hasNext()) { final MailboxMessage originalMessage = originalRows.next(); - originalRowsCopy.add(new SimpleMessageMetaData(originalMessage)); + originalRowsCopy.add(originalMessage.metaData()); MessageMetaData data = messageMapper.execute( () -> messageMapper.move(getMailboxEntity(), originalMessage)); movedRows.add(data); http://git-wip-us.apache.org/repos/asf/james-project/blob/ecb6258c/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxEventDispatcher.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxEventDispatcher.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxEventDispatcher.java index 1ebe27e..139c807 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxEventDispatcher.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxEventDispatcher.java @@ -44,7 +44,6 @@ import org.apache.james.mailbox.model.MessageMoves; import org.apache.james.mailbox.model.Quota; import org.apache.james.mailbox.model.QuotaRoot; import org.apache.james.mailbox.model.UpdatedFlags; -import org.apache.james.mailbox.store.SimpleMessageMetaData; import org.apache.james.mailbox.store.mail.model.Mailbox; import org.apache.james.mailbox.store.mail.model.MailboxMessage; @@ -89,7 +88,7 @@ public class MailboxEventDispatcher { } public void added(MailboxSession session, Mailbox mailbox, MailboxMessage mailboxMessage) { - SimpleMessageMetaData messageMetaData = new SimpleMessageMetaData(mailboxMessage); + MessageMetaData messageMetaData = mailboxMessage.metaData(); SortedMap<MessageUid, MessageMetaData> metaDataMap = ImmutableSortedMap.<MessageUid, MessageMetaData>naturalOrder() .put(messageMetaData.getUid(), messageMetaData) .build(); http://git-wip-us.apache.org/repos/asf/james-project/blob/ecb6258c/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/MailboxMessage.java ---------------------------------------------------------------------- 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 e9e13ad..2842356 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 @@ -129,7 +129,7 @@ public interface MailboxMessage extends Message, Comparable<MailboxMessage> { Flags createFlags(); default MessageMetaData metaData() { - return new SimpleMessageMetaData(this); + return new SimpleMessageMetaData(getUid(), getModSeq(), createFlags(), getFullContentOctets(), getInternalDate(), getMessageId()); } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/james-project/blob/ecb6258c/mailbox/store/src/test/java/org/apache/james/mailbox/store/MessageIdManagerTestSystem.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/MessageIdManagerTestSystem.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/MessageIdManagerTestSystem.java index 21de9e1..f195e92 100644 --- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/MessageIdManagerTestSystem.java +++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/MessageIdManagerTestSystem.java @@ -81,7 +81,7 @@ public class MessageIdManagerTestSystem { Mailbox mailbox = mapperFactory.getMailboxMapper(mailboxSession).findMailboxById(mailboxId); MailboxMessage message = createMessage(mailboxId, flags, messageId, uid); mapperFactory.getMessageMapper(mailboxSession).add(mailbox, message); - mailboxManager.getEventDispatcher().added(mailboxSession, new SimpleMessageMetaData(message), mailbox); + mailboxManager.getEventDispatcher().added(mailboxSession, message.metaData(), mailbox); return messageId; } catch (Exception e) { throw new RuntimeException(e); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
