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]

Reply via email to