This is an automated email from the ASF dual-hosted git repository. rcordier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit c4457840ad9eed8fe3f43b9a52e28da388ad00b1 Author: Tran Tien Duc <[email protected]> AuthorDate: Thu Jan 30 13:27:21 2020 +0700 JAMES-3016 Converter7Bit tail recursive optimization --- .../main/java/org/apache/mailet/base/Converter7Bit.java | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/mailet/base/src/main/java/org/apache/mailet/base/Converter7Bit.java b/mailet/base/src/main/java/org/apache/mailet/base/Converter7Bit.java index 095608f..12de427 100644 --- a/mailet/base/src/main/java/org/apache/mailet/base/Converter7Bit.java +++ b/mailet/base/src/main/java/org/apache/mailet/base/Converter7Bit.java @@ -20,9 +20,7 @@ package org.apache.mailet.base; import java.io.IOException; -import java.util.List; -import javax.mail.BodyPart; import javax.mail.MessagingException; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; @@ -31,6 +29,8 @@ import javax.mail.internet.MimePart; import org.apache.james.javax.MultipartUtil; import org.apache.mailet.MailetContext; +import com.github.fge.lambdas.Throwing; + public class Converter7Bit { private final MailetContext mailetContext; @@ -45,12 +45,7 @@ public class Converter7Bit { } private void convertPart(MimePart part) throws MessagingException, IOException { - if (part.isMimeType("multipart/*")) { - List<BodyPart> bodyParts = MultipartUtil.retrieveBodyParts((MimeMultipart) part.getContent()); - for (BodyPart bodyPart : bodyParts) { - convertPart((MimePart) bodyPart); - } - } else if ("8bit".equals(part.getEncoding())) { + if ("8bit".equals(part.getEncoding())) { // The content may already be in encoded the form (likely with mail // created from a // stream). In that case, just changing the encoding to @@ -67,7 +62,9 @@ public class Converter7Bit { part.setHeader("Content-Transfer-Encoding", contentTransferEncoding); part.addHeader("X-MIME-Autoconverted", "from 8bit to " + contentTransferEncoding + " by " + mailetContext.getServerInfo()); + } else if (part.isMimeType("multipart/*")) { + MultipartUtil.retrieveBodyParts((MimeMultipart) part.getContent()) + .forEach(Throwing.consumer(bodyPart -> convertPart((MimePart) bodyPart))); } } - } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
