JAMES-2127 Mailet: Stream instead of FluentIterable.from

Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/5d43d19e
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/5d43d19e
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/5d43d19e

Branch: refs/heads/master
Commit: 5d43d19eb4e8e037cf6da39e814001045f1ea5a6
Parents: b3864f3
Author: quynhn <qngu...@linagora.com>
Authored: Fri Aug 25 15:48:39 2017 +0700
Committer: quynhn <qngu...@linagora.com>
Committed: Wed Aug 30 11:08:48 2017 +0700

----------------------------------------------------------------------
 mailet/api/pom.xml                              |  4 ++++
 .../org/apache/mailet/PerRecipientHeaders.java  |  9 ++++----
 mailet/base/pom.xml                             |  4 ++++
 .../mailet/base/test/MimeMessageBuilder.java    | 23 ++++++++++----------
 .../mailet/DefaultDescriptorsExtractor.java     |  4 ++--
 .../transport/mailets/RecipientToLowerCase.java | 10 ++++-----
 .../transport/mailets/UseHeaderRecipients.java  | 16 +++++---------
 .../utils/MailAddressCollectionReader.java      | 13 ++++++-----
 .../transport/mailets/StripAttachmentTest.java  |  5 ++---
 9 files changed, 46 insertions(+), 42 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/5d43d19e/mailet/api/pom.xml
----------------------------------------------------------------------
diff --git a/mailet/api/pom.xml b/mailet/api/pom.xml
index 70a6b44..53b4764 100644
--- a/mailet/api/pom.xml
+++ b/mailet/api/pom.xml
@@ -37,6 +37,10 @@
 
     <dependencies>
         <dependency>
+            <groupId>com.github.steveash.guavate</groupId>
+            <artifactId>guavate</artifactId>
+        </dependency>
+        <dependency>
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/5d43d19e/mailet/api/src/main/java/org/apache/mailet/PerRecipientHeaders.java
----------------------------------------------------------------------
diff --git 
a/mailet/api/src/main/java/org/apache/mailet/PerRecipientHeaders.java 
b/mailet/api/src/main/java/org/apache/mailet/PerRecipientHeaders.java
index d261a04..af9b233 100644
--- a/mailet/api/src/main/java/org/apache/mailet/PerRecipientHeaders.java
+++ b/mailet/api/src/main/java/org/apache/mailet/PerRecipientHeaders.java
@@ -21,12 +21,12 @@ package org.apache.mailet;
 
 import java.util.Collection;
 
+import com.github.steveash.guavate.Guavate;
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.MoreObjects;
 import com.google.common.base.Objects;
 import com.google.common.base.Preconditions;
 import com.google.common.collect.ArrayListMultimap;
-import com.google.common.collect.FluentIterable;
 import com.google.common.collect.Multimap;
 
 public class PerRecipientHeaders {
@@ -45,9 +45,10 @@ public class PerRecipientHeaders {
     }
 
     public Collection<String> getHeaderNamesForRecipient(MailAddress 
recipient) {
-        return FluentIterable.from(headersByRecipient.get(recipient))
-            .transform(Header::getName)
-            .toSet();
+        return headersByRecipient.get(recipient)
+            .stream()
+            .map(Header::getName)
+            .collect(Guavate.toImmutableSet());
     }
 
     public void addHeaderForRecipient(Header header, MailAddress recipient) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/5d43d19e/mailet/base/pom.xml
----------------------------------------------------------------------
diff --git a/mailet/base/pom.xml b/mailet/base/pom.xml
index 54c72da..7934ca2 100644
--- a/mailet/base/pom.xml
+++ b/mailet/base/pom.xml
@@ -47,6 +47,10 @@
             <artifactId>apache-mime4j-core</artifactId>
         </dependency>
         <dependency>
+            <groupId>com.github.steveash.guavate</groupId>
+            <artifactId>guavate</artifactId>
+        </dependency>
+        <dependency>
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/5d43d19e/mailet/base/src/test/java/org/apache/mailet/base/test/MimeMessageBuilder.java
----------------------------------------------------------------------
diff --git 
a/mailet/base/src/test/java/org/apache/mailet/base/test/MimeMessageBuilder.java 
b/mailet/base/src/test/java/org/apache/mailet/base/test/MimeMessageBuilder.java
index f83cd6f..745e331 100644
--- 
a/mailet/base/src/test/java/org/apache/mailet/base/test/MimeMessageBuilder.java
+++ 
b/mailet/base/src/test/java/org/apache/mailet/base/test/MimeMessageBuilder.java
@@ -27,6 +27,7 @@ import java.util.Collection;
 import java.util.List;
 import java.util.Optional;
 import java.util.Properties;
+import java.util.function.Function;
 import javax.activation.DataHandler;
 import javax.mail.BodyPart;
 import javax.mail.Message;
@@ -42,11 +43,10 @@ import javax.mail.util.ByteArrayDataSource;
 
 import org.apache.commons.io.IOUtils;
 
+import com.github.steveash.guavate.Guavate;
 import com.google.common.base.Charsets;
-import com.google.common.base.Function;
 import com.google.common.base.Preconditions;
 import com.google.common.base.Throwables;
-import com.google.common.collect.FluentIterable;
 import com.google.common.collect.ImmutableList;
 
 public class MimeMessageBuilder {
@@ -258,23 +258,24 @@ public class MimeMessageBuilder {
     }
 
     public MimeMessageBuilder addToRecipient(String... tos) throws 
AddressException {
-        this.to.addAll(FluentIterable.from(Arrays.asList(tos))
-            .transform(TO_INTERNET_ADDRESS)
-            .toList());
+        this.to.addAll(Arrays.asList(tos).stream()
+            .map(TO_INTERNET_ADDRESS)
+            .collect(Guavate.toImmutableList()));
         return this;
     }
 
     public MimeMessageBuilder addCcRecipient(String... ccs) throws 
AddressException {
-        this.cc.addAll(FluentIterable.from(Arrays.asList(ccs))
-            .transform(TO_INTERNET_ADDRESS)
-            .toList());
+        this.cc.addAll(Arrays.asList(ccs).stream()
+            .map(TO_INTERNET_ADDRESS)
+            .collect(Guavate.toImmutableList()));
         return this;
     }
 
     public MimeMessageBuilder addBccRecipient(String... bccs) throws 
AddressException {
-        this.bcc.addAll(FluentIterable.from(Arrays.asList(bccs))
-            .transform(TO_INTERNET_ADDRESS)
-            .toList());
+        this.bcc.addAll(Arrays.asList(bccs)
+            .stream()
+            .map(TO_INTERNET_ADDRESS)
+            .collect(Guavate.toImmutableList()));
         return this;
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/5d43d19e/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/DefaultDescriptorsExtractor.java
----------------------------------------------------------------------
diff --git 
a/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/DefaultDescriptorsExtractor.java
 
b/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/DefaultDescriptorsExtractor.java
index 73a7957..2361eea 100644
--- 
a/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/DefaultDescriptorsExtractor.java
+++ 
b/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/DefaultDescriptorsExtractor.java
@@ -29,6 +29,7 @@ import java.util.Collections;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Set;
+import java.util.stream.Stream;
 
 import org.apache.james.mailet.MailetMatcherDescriptor.Type;
 import org.apache.mailet.Experimental;
@@ -39,7 +40,6 @@ import 
org.apache.maven.artifact.DependencyResolutionRequiredException;
 import org.apache.maven.plugin.logging.Log;
 import org.apache.maven.project.MavenProject;
 
-import com.google.common.collect.FluentIterable;
 import com.thoughtworks.qdox.JavaDocBuilder;
 import com.thoughtworks.qdox.model.JavaClass;
 
@@ -182,7 +182,7 @@ public class DefaultDescriptorsExtractor {
 
 
     private boolean isExperimental(JavaClass javaClass) {
-        return FluentIterable.of(javaClass.getAnnotations())
+        return Stream.of(javaClass.getAnnotations())
             .anyMatch(annotation -> annotation.getType().getValue()
                     .equals(Experimental.class.getName()));
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/5d43d19e/mailet/standard/src/main/java/org/apache/james/transport/mailets/RecipientToLowerCase.java
----------------------------------------------------------------------
diff --git 
a/mailet/standard/src/main/java/org/apache/james/transport/mailets/RecipientToLowerCase.java
 
b/mailet/standard/src/main/java/org/apache/james/transport/mailets/RecipientToLowerCase.java
index f5496b7..4a12bf8 100644
--- 
a/mailet/standard/src/main/java/org/apache/james/transport/mailets/RecipientToLowerCase.java
+++ 
b/mailet/standard/src/main/java/org/apache/james/transport/mailets/RecipientToLowerCase.java
@@ -19,7 +19,6 @@
 package org.apache.james.transport.mailets;
 
 import java.util.Locale;
-
 import javax.mail.MessagingException;
 import javax.mail.internet.AddressException;
 
@@ -27,8 +26,9 @@ import org.apache.mailet.Mail;
 import org.apache.mailet.MailAddress;
 import org.apache.mailet.base.GenericMailet;
 
+import com.github.steveash.guavate.Guavate;
 import com.google.common.base.Throwables;
-import com.google.common.collect.FluentIterable;
+
 
 /**
  * {@link GenericMailet} which convert all Recipients to lowercase
@@ -39,9 +39,9 @@ public class RecipientToLowerCase extends GenericMailet{
 
     @Override
     public void service(Mail mail) throws MessagingException {
-        mail.setRecipients(FluentIterable.from(mail.getRecipients())
-            .transform(this::toLowerCase)
-            .toList());
+        mail.setRecipients(mail.getRecipients().stream()
+            .map(this::toLowerCase)
+            .collect(Guavate.toImmutableList()));
     }
 
     private MailAddress toLowerCase(MailAddress mailAddress) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/5d43d19e/mailet/standard/src/main/java/org/apache/james/transport/mailets/UseHeaderRecipients.java
----------------------------------------------------------------------
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 543959e..7b2b6a6 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 javax.mail.MessagingException;
 import javax.mail.internet.AddressException;
 import javax.mail.internet.MimeMessage;
@@ -41,9 +40,9 @@ import org.apache.mailet.base.GenericMailet;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.github.steveash.guavate.Guavate;
 import com.google.common.base.Splitter;
 import com.google.common.base.Throwables;
-import com.google.common.collect.FluentIterable;
 import com.google.common.collect.ImmutableList;
 
 /**
@@ -174,15 +173,10 @@ public class UseHeaderRecipients extends GenericMailet {
         AddressList addressList = LenientAddressParser.DEFAULT
             .parseAddressList(MimeUtil.unfold(headerPart));
 
-        ImmutableList.Builder<Mailbox> mailboxList = ImmutableList.builder();
-
-        for (Address address: addressList) {
-            mailboxList.addAll(convertAddressToMailboxCollection(address));
-        }
-
-        return FluentIterable.from(mailboxList.build())
-            .transform(this::toMailAddress)
-            .toList();
+        return addressList.stream()
+            .flatMap(address -> 
convertAddressToMailboxCollection(address).stream())
+            .map(this::toMailAddress)
+            .collect(Guavate.toImmutableList());
     }
 
     private MailAddress toMailAddress(Mailbox mailbox) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/5d43d19e/mailet/standard/src/main/java/org/apache/james/transport/matchers/utils/MailAddressCollectionReader.java
----------------------------------------------------------------------
diff --git 
a/mailet/standard/src/main/java/org/apache/james/transport/matchers/utils/MailAddressCollectionReader.java
 
b/mailet/standard/src/main/java/org/apache/james/transport/matchers/utils/MailAddressCollectionReader.java
index fb78101..802e79d 100644
--- 
a/mailet/standard/src/main/java/org/apache/james/transport/matchers/utils/MailAddressCollectionReader.java
+++ 
b/mailet/standard/src/main/java/org/apache/james/transport/matchers/utils/MailAddressCollectionReader.java
@@ -20,31 +20,32 @@
 package org.apache.james.transport.matchers.utils;
 
 import java.util.Set;
-
 import javax.mail.internet.AddressException;
 
 import org.apache.mailet.MailAddress;
 
+import com.github.steveash.guavate.Guavate;
 import com.google.common.base.Preconditions;
 import com.google.common.base.Splitter;
 import com.google.common.base.Strings;
 import com.google.common.base.Throwables;
-import com.google.common.collect.FluentIterable;
+
 
 public class MailAddressCollectionReader {
 
     public static Set<MailAddress> read(String condition) {
         Preconditions.checkArgument(!Strings.isNullOrEmpty(condition));
-        return FluentIterable.from(Splitter.onPattern("(,| |\t)")
-            .split(condition))
+        return Splitter.onPattern("(,| |\t)").splitToList(condition)
+            .stream()
             .filter(s -> !Strings.isNullOrEmpty(s))
-            .transform(s -> {
+            .map(s -> {
                 try {
                     return new MailAddress(s);
                 } catch (AddressException e) {
                     throw Throwables.propagate(e);
                 }
-            }).toSet();
+            })
+            .collect(Guavate.toImmutableSet());
     }
 
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/5d43d19e/mailet/standard/src/test/java/org/apache/james/transport/mailets/StripAttachmentTest.java
----------------------------------------------------------------------
diff --git 
a/mailet/standard/src/test/java/org/apache/james/transport/mailets/StripAttachmentTest.java
 
b/mailet/standard/src/test/java/org/apache/james/transport/mailets/StripAttachmentTest.java
index dd53140..02a8e0a 100644
--- 
a/mailet/standard/src/test/java/org/apache/james/transport/mailets/StripAttachmentTest.java
+++ 
b/mailet/standard/src/test/java/org/apache/james/transport/mailets/StripAttachmentTest.java
@@ -52,7 +52,6 @@ import org.junit.rules.ExpectedException;
 import org.junit.rules.TemporaryFolder;
 
 import com.google.common.base.Charsets;
-import com.google.common.collect.FluentIterable;
 
 public class StripAttachmentTest {
 
@@ -235,9 +234,9 @@ public class StripAttachmentTest {
     }
 
     private String retrieveFilenameStartingWith(Collection<String> 
savedAttachments, final String filename) {
-        return FluentIterable.from(savedAttachments)
+        return savedAttachments.stream()
                 .filter(attachmentFilename -> 
attachmentFilename.startsWith(filename))
-                .first()
+                .findFirst()
                 .get();
     }
 


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to