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 c0c7989b8a5c0e84ea69fbddc3c327f61b41a9c6 Author: Benoit Tellier <[email protected]> AuthorDate: Mon Jun 21 16:29:57 2021 +0700 [REFATORING] Use AddressList::flatten where relevant --- .../elasticsearch/v7/json/HeaderCollection.java | 15 +------------- .../transport/mailets/ICALToJsonAttribute.java | 12 +---------- .../transport/mailets/UseHeaderRecipients.java | 24 +++++----------------- 3 files changed, 7 insertions(+), 44 deletions(-) diff --git a/mailbox/elasticsearch-v7/src/main/java/org/apache/james/mailbox/elasticsearch/v7/json/HeaderCollection.java b/mailbox/elasticsearch-v7/src/main/java/org/apache/james/mailbox/elasticsearch/v7/json/HeaderCollection.java index 5f4cc7b..a168e0d 100644 --- a/mailbox/elasticsearch-v7/src/main/java/org/apache/james/mailbox/elasticsearch/v7/json/HeaderCollection.java +++ b/mailbox/elasticsearch-v7/src/main/java/org/apache/james/mailbox/elasticsearch/v7/json/HeaderCollection.java @@ -25,12 +25,8 @@ import java.util.Locale; import java.util.Objects; import java.util.Optional; import java.util.Set; -import java.util.stream.Stream; import org.apache.james.mailbox.store.search.comparator.SentDateComparator; -import org.apache.james.mime4j.dom.address.Address; -import org.apache.james.mime4j.dom.address.Group; -import org.apache.james.mime4j.dom.address.Mailbox; import org.apache.james.mime4j.field.address.LenientAddressParser; import org.apache.james.mime4j.stream.Field; import org.apache.james.mime4j.util.MimeUtil; @@ -152,21 +148,12 @@ public class HeaderCollection { ImmutableSet.Builder<EMailer> addressSet = getAddressSet(headerName); LenientAddressParser.DEFAULT .parseAddressList(rawHeaderValue) + .flatten() .stream() - .flatMap(this::convertAddressToMailboxStream) .map((mailbox) -> new EMailer(Optional.ofNullable(mailbox.getName()), mailbox.getAddress())) .forEach(addressSet::add); } - private Stream<Mailbox> convertAddressToMailboxStream(Address address) { - if (address instanceof Mailbox) { - return Stream.of((Mailbox) address); - } else if (address instanceof Group) { - return ((Group) address).getMailboxes().stream(); - } - return Stream.empty(); - } - private ImmutableSet.Builder<EMailer> getAddressSet(String headerName) { switch (headerName) { case TO: diff --git a/mailet/icalendar/src/main/java/org/apache/james/transport/mailets/ICALToJsonAttribute.java b/mailet/icalendar/src/main/java/org/apache/james/transport/mailets/ICALToJsonAttribute.java index 07e013b..e7cb9e8 100644 --- a/mailet/icalendar/src/main/java/org/apache/james/transport/mailets/ICALToJsonAttribute.java +++ b/mailet/icalendar/src/main/java/org/apache/james/transport/mailets/ICALToJsonAttribute.java @@ -34,7 +34,6 @@ import javax.mail.internet.MimeMessage; import org.apache.commons.lang3.tuple.Pair; import org.apache.james.core.MailAddress; import org.apache.james.core.MaybeSender; -import org.apache.james.mime4j.dom.address.Group; import org.apache.james.mime4j.dom.address.Mailbox; import org.apache.james.mime4j.field.address.LenientAddressParser; import org.apache.james.transport.mailets.model.ICALAttributeDTO; @@ -202,8 +201,8 @@ public class ICALToJsonAttribute extends GenericMailet { private Optional<MailAddress> retrieveReplyTo(String headerValue) { return LenientAddressParser.DEFAULT .parseAddressList(headerValue) + .flatten() .stream() - .flatMap(this::convertAddressToMailboxStream) .flatMap(this::convertMailboxToMailAddress) .findFirst(); @@ -217,15 +216,6 @@ public class ICALToJsonAttribute extends GenericMailet { } } - private Stream<Mailbox> convertAddressToMailboxStream(org.apache.james.mime4j.dom.address.Address address) { - if (address instanceof Mailbox) { - return Stream.of((Mailbox) address); - } else if (address instanceof Group) { - return ((Group) address).getMailboxes().stream(); - } - return Stream.empty(); - } - private Stream<Pair<String, byte[]>> toJson(Map.Entry<String, Calendar> entry, Map<String, byte[]> rawCalendars, Mail mail, diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/UseHeaderRecipients.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/UseHeaderRecipients.java index efb4886..98072b0 100644 --- a/mailet/standard/src/main/java/org/apache/james/transport/mailets/UseHeaderRecipients.java +++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/UseHeaderRecipients.java @@ -22,7 +22,6 @@ package org.apache.james.transport.mailets; import java.io.UnsupportedEncodingException; import java.util.Collection; -import java.util.stream.Stream; import javax.mail.MessagingException; import javax.mail.internet.AddressException; @@ -30,9 +29,6 @@ import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeUtility; import org.apache.james.core.MailAddress; -import org.apache.james.mime4j.dom.address.Address; -import org.apache.james.mime4j.dom.address.AddressList; -import org.apache.james.mime4j.dom.address.Group; import org.apache.james.mime4j.dom.address.Mailbox; import org.apache.james.mime4j.field.address.LenientAddressParser; import org.apache.james.mime4j.util.MimeUtil; @@ -168,12 +164,11 @@ public class UseHeaderRecipients extends GenericMailet { return result.build(); } - private Collection<MailAddress> readMailAddresses(String headerPart) throws AddressException { - AddressList addressList = LenientAddressParser.DEFAULT - .parseAddressList(MimeUtil.unfold(headerPart)); - - return addressList.stream() - .flatMap(address -> convertAddressToMailboxCollection(address)) + private Collection<MailAddress> readMailAddresses(String headerPart) { + return LenientAddressParser.DEFAULT + .parseAddressList(MimeUtil.unfold(headerPart)) + .flatten() + .stream() .map(this::toMailAddress) .collect(Guavate.toImmutableList()); } @@ -186,15 +181,6 @@ public class UseHeaderRecipients extends GenericMailet { } } - private Stream<Mailbox> convertAddressToMailboxCollection(Address address) { - if (address instanceof Mailbox) { - return ImmutableList.of((Mailbox) address).stream(); - } else if (address instanceof Group) { - return ImmutableList.copyOf(((Group) address).getMailboxes()).stream(); - } - return Stream.of(); - } - private String sanitizeHeaderString(String header) throws MessagingException { try { return MimeUtility.unfold(MimeUtility.decodeText(header)); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
