You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by bt...@apache.org on 2021/06/26 05:06:24 UTC
[james-project] 06/06: [REFATORING] Use AddressList::flatten where
relevant
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 <bt...@linagora.com>
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: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org