This is an automated email from the ASF dual-hosted git repository. aduprat pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 6c20dff5a87926ba0657fec8a185c925ce000c26 Author: Matthieu Baechler <matth...@apache.org> AuthorDate: Fri Feb 15 15:15:34 2019 +0100 JAMES-2816 Avoid copying the whole message when we only need to copy metadata --- mailbox/memory/src/test/resources/test.eml | 0 .../mailbox/spamassassin/SpamAssassinListenerTest.java | 4 ++-- .../apache/james/mailbox/store/StoreMessageIdManager.java | 2 +- .../org/apache/james/mailbox/store/StoreMessageManager.java | 13 ++----------- .../org/apache/james/mailbox/store/event/EventFactory.java | 4 ---- .../james/mailbox/store/MessageIdManagerTestSystem.java | 2 +- 6 files changed, 6 insertions(+), 19 deletions(-) diff --git a/mailbox/memory/src/test/resources/test.eml b/mailbox/memory/src/test/resources/test.eml new file mode 100644 index 0000000..e69de29 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 36922be..72d8b39 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 @@ -241,7 +241,7 @@ public class SpamAssassinListenerTest { .randomEventId() .mailboxSession(MAILBOX_SESSION) .mailbox(inbox) - .addMessage(message) + .addMetaData(message.metaData()) .build(); listener.event(addedEvent); @@ -257,7 +257,7 @@ public class SpamAssassinListenerTest { .randomEventId() .mailboxSession(MAILBOX_SESSION) .mailbox(mailbox1) - .addMessage(message) + .addMetaData(message.metaData()) .build(); listener.event(addedEvent); 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 1b28585..20a5b0f 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 @@ -395,7 +395,7 @@ public class StoreMessageIdManager implements MessageIdManager { .randomEventId() .mailboxSession(mailboxSession) .mailbox(mailboxMapper.findMailboxById(mailboxId)) - .addMessage(copy) + .addMetaData(copy.metaData()) .build(), new MailboxIdRegistrationKey(mailboxId)) .block(); 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 5d63d3b..8c32c55 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 @@ -451,12 +451,12 @@ public class StoreMessageManager implements MessageManager { MessageMetaData data = appendMessageToStore(message, attachments, mailboxSession); Mailbox mailbox = getMailboxEntity(); - MailboxMessage copy = copyMessage(message); + eventBus.dispatch(EventFactory.added() .randomEventId() .mailboxSession(mailboxSession) .mailbox(mailbox) - .addMessage(copy) + .addMetaData(message.metaData()) .build(), new MailboxIdRegistrationKey(mailbox.getMailboxId())) .block(); @@ -500,15 +500,6 @@ public class StoreMessageManager implements MessageManager { return new SimpleMailboxMessage(messageIdFactory.generate(), internalDate, size, bodyStartOctet, content, flags, propertyBuilder, getMailboxEntity().getMailboxId(), attachments); } - private MailboxMessage copyMessage(MailboxMessage message) throws MailboxException { - return SimpleMailboxMessage - .from(message) - .mailboxId(message.getMailboxId()) - .uid(message.getUid()) - .modseq(message.getModSeq()) - .build(); - } - @Override public boolean isWriteable(MailboxSession session) throws MailboxException { return storeRightManager.isReadWrite(session, mailbox, getSharedPermanentFlags(session)); diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/EventFactory.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/EventFactory.java index efd3146..28969e8 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/EventFactory.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/EventFactory.java @@ -111,10 +111,6 @@ public class EventFactory { return metaData(ImmutableSortedMap.of(metaData.getUid(), metaData)); } - default T addMessage(MailboxMessage message) { - return addMetaData(message.metaData()); - } - default T addMetaData(Iterable<MessageMetaData> metaData) { return metaData(ImmutableList.copyOf(metaData) .stream() 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 61d5b57..a0f56d2 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 @@ -87,7 +87,7 @@ public class MessageIdManagerTestSystem { .randomEventId() .mailboxSession(mailboxSession) .mailbox(mailbox) - .addMessage(message) + .addMetaData(message.metaData()) .build(), new MailboxIdRegistrationKey(mailboxId)) .block(); --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org