Repository: james-project Updated Branches: refs/heads/master 43d732497 -> 3f95b1f2f
JAMES-2346 Rely on new DefaultMessageWriter::asBytes(message) helper Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/3f95b1f2 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/3f95b1f2 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/3f95b1f2 Branch: refs/heads/master Commit: 3f95b1f2f26fc0eeb9f9cad9f4cfe29335817d68 Parents: 3bfb709 Author: benwa <btell...@linagora.com> Authored: Tue Mar 13 16:51:38 2018 +0700 Committer: benwa <btell...@linagora.com> Committed: Wed Mar 14 15:16:10 2018 +0700 ---------------------------------------------------------------------- .../store/mail/model/impl/MessageParserTest.java | 6 +----- .../store/search/AbstractMessageSearchIndexTest.java | 7 +------ mdn/src/test/java/org/apache/james/mdn/MDNTest.java | 5 +---- .../methods/integration/GetMessageListMethodTest.java | 12 ++---------- .../james/jmap/methods/MIMEMessageConverter.java | 6 +----- .../org/apache/james/jmap/methods/MessageAppender.java | 13 ++++++++++++- 6 files changed, 18 insertions(+), 31 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/3f95b1f2/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/impl/MessageParserTest.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/impl/MessageParserTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/impl/MessageParserTest.java index 4fd3ca9..3bb63a8 100644 --- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/impl/MessageParserTest.java +++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/impl/MessageParserTest.java @@ -22,7 +22,6 @@ package org.apache.james.mailbox.store.mail.model.impl; import static org.assertj.core.api.Assertions.assertThat; import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; import java.util.List; import java.util.Optional; @@ -296,10 +295,7 @@ public class MessageParserTest { .asMime4JMessageBuilder() .build(); - ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - new DefaultMessageWriter().writeMessage(message, outputStream); - - List<MessageAttachment> result = testee.retrieveAttachments(new ByteArrayInputStream(outputStream.toByteArray())); + List<MessageAttachment> result = testee.retrieveAttachments(new ByteArrayInputStream(DefaultMessageWriter.asBytes(message))); assertThat(result).hasSize(1) .allMatch(attachment -> attachment.getAttachment().getType().equals(MDN.DISPOSITION_CONTENT_TYPE)); } http://git-wip-us.apache.org/repos/asf/james-project/blob/3f95b1f2/mailbox/store/src/test/java/org/apache/james/mailbox/store/search/AbstractMessageSearchIndexTest.java ---------------------------------------------------------------------- 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 97de20c..eda993e 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 @@ -23,7 +23,6 @@ package org.apache.james.mailbox.store.search; import static org.assertj.core.api.Assertions.assertThat; import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; import java.nio.charset.StandardCharsets; import java.text.SimpleDateFormat; import java.util.Date; @@ -49,7 +48,6 @@ import org.apache.james.mailbox.store.StoreMailboxManager; import org.apache.james.mailbox.store.StoreMessageManager; import org.apache.james.mailbox.store.mail.model.Mailbox; import org.apache.james.mime4j.dom.Message; -import org.apache.james.mime4j.dom.MessageWriter; import org.apache.james.mime4j.dom.Multipart; import org.apache.james.mime4j.message.BodyPart; import org.apache.james.mime4j.message.BodyPartBuilder; @@ -1194,11 +1192,8 @@ public abstract class AbstractMessageSearchIndexTest { Message message = Message.Builder.of() .setBody(multipart) .build(); - ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - MessageWriter writer = new DefaultMessageWriter(); - writer.writeMessage(message, outputStream); ComposedMessageId messageWithBeautifulBananaAsPDFAttachment = myFolderMessageManager.appendMessage( - new ByteArrayInputStream(outputStream.toByteArray()), + new ByteArrayInputStream(DefaultMessageWriter.asBytes(message)), new Date(1404252000000L), session, RECENT, http://git-wip-us.apache.org/repos/asf/james-project/blob/3f95b1f2/mdn/src/test/java/org/apache/james/mdn/MDNTest.java ---------------------------------------------------------------------- diff --git a/mdn/src/test/java/org/apache/james/mdn/MDNTest.java b/mdn/src/test/java/org/apache/james/mdn/MDNTest.java index 69236fe..15aab74 100644 --- a/mdn/src/test/java/org/apache/james/mdn/MDNTest.java +++ b/mdn/src/test/java/org/apache/james/mdn/MDNTest.java @@ -193,9 +193,6 @@ public class MDNTest { } private String asString(Message message) throws Exception { - ByteArrayOutputStream buffer = new ByteArrayOutputStream(); - DefaultMessageWriter writer = new DefaultMessageWriter(); - writer.writeMessage(message, buffer); - return new String(buffer.toByteArray(), StandardCharsets.UTF_8); + return new String(DefaultMessageWriter.asBytes(message), StandardCharsets.UTF_8); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/3f95b1f2/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetMessageListMethodTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetMessageListMethodTest.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetMessageListMethodTest.java index 8ff2f6a..664d1d4 100644 --- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetMessageListMethodTest.java +++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetMessageListMethodTest.java @@ -32,7 +32,6 @@ import static org.hamcrest.Matchers.hasSize; import static org.hamcrest.Matchers.not; import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; import java.nio.charset.StandardCharsets; import java.time.LocalDate; import java.time.ZoneId; @@ -54,7 +53,6 @@ import org.apache.james.mailbox.model.MailboxId; import org.apache.james.mailbox.model.MailboxPath; import org.apache.james.mailbox.store.probe.MailboxProbe; import org.apache.james.mime4j.dom.Message; -import org.apache.james.mime4j.dom.MessageWriter; import org.apache.james.mime4j.dom.Multipart; import org.apache.james.mime4j.message.BodyPart; import org.apache.james.mime4j.message.BodyPartBuilder; @@ -1022,11 +1020,8 @@ public abstract class GetMessageListMethodTest { Message message = Message.Builder.of() .setBody(multipart) .build(); - ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - MessageWriter writer = new DefaultMessageWriter(); - writer.writeMessage(message, outputStream); mailboxProbe.appendMessage(alice, MailboxPath.forUser(alice, "mailbox"), - new ByteArrayInputStream(outputStream.toByteArray()), new Date(), false, new Flags()); + new ByteArrayInputStream(DefaultMessageWriter.asBytes(message)), new Date(), false, new Flags()); await(); given() @@ -1055,11 +1050,8 @@ public abstract class GetMessageListMethodTest { Message message = Message.Builder.of() .setBody(multipart) .build(); - ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - MessageWriter writer = new DefaultMessageWriter(); - writer.writeMessage(message, outputStream); ComposedMessageId composedMessageId = mailboxProbe.appendMessage(alice, MailboxPath.forUser(alice, "mailbox"), - new ByteArrayInputStream(outputStream.toByteArray()), new Date(), false, new Flags()); + new ByteArrayInputStream(DefaultMessageWriter.asBytes(message)), new Date(), false, new Flags()); await(); given() http://git-wip-us.apache.org/repos/asf/james-project/blob/3f95b1f2/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/MIMEMessageConverter.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/MIMEMessageConverter.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/MIMEMessageConverter.java index a8b1cbf..88cf504 100644 --- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/MIMEMessageConverter.java +++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/MIMEMessageConverter.java @@ -19,7 +19,6 @@ package org.apache.james.jmap.methods; -import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.Date; import java.util.List; @@ -111,14 +110,11 @@ public class MIMEMessageConverter { } public byte[] asBytes(Message message) { - ByteArrayOutputStream buffer = new ByteArrayOutputStream(); - DefaultMessageWriter writer = new DefaultMessageWriter(); try { - writer.writeMessage(message, buffer); + return DefaultMessageWriter.asBytes(message); } catch (IOException e) { throw Throwables.propagate(e); } - return buffer.toByteArray(); } @VisibleForTesting Message convertToMime(ValueWithId.CreationMessageEntry creationMessageEntry, ImmutableList<MessageAttachment> messageAttachments) { http://git-wip-us.apache.org/repos/asf/james-project/blob/3f95b1f2/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/MessageAppender.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/MessageAppender.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/MessageAppender.java index 409bd91..592d118 100644 --- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/MessageAppender.java +++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/MessageAppender.java @@ -19,6 +19,7 @@ package org.apache.james.jmap.methods; +import java.io.IOException; import java.util.Date; import java.util.List; import java.util.Optional; @@ -44,6 +45,8 @@ import org.apache.james.mailbox.model.Cid; import org.apache.james.mailbox.model.ComposedMessageId; import org.apache.james.mailbox.model.MailboxId; import org.apache.james.mailbox.model.MessageAttachment; +import org.apache.james.mime4j.dom.Message; +import org.apache.james.mime4j.message.DefaultMessageWriter; import org.apache.james.util.OptionalUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -105,7 +108,7 @@ public class MessageAppender { MailboxSession session) throws MailboxException { - byte[] messageContent = mimeMessageConverter.asBytes(message); + byte[] messageContent = asBytes(message); SharedByteArrayInputStream content = new SharedByteArrayInputStream(messageContent); Date internalDate = new Date(); boolean notRecent = false; @@ -124,6 +127,14 @@ public class MessageAppender { .build(); } + public byte[] asBytes(Message message) throws MailboxException { + try { + return DefaultMessageWriter.asBytes(message); + } catch (IOException e) { + throw new MailboxException("Could not write message as bytes", e); + } + } + public MessageFactory.MetaDataWithContent appendMessageInMailbox(CreationMessageEntry createdEntry, MailboxId targetMailbox, MailboxSession session) throws MailboxException { --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org