You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2017/08/31 01:32:27 UTC

[15/22] james-project git commit: JAMES-2127 Using Iterators util instead of self define StreamSupport...

JAMES-2127 Using Iterators util instead of self define StreamSupport...


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

Branch: refs/heads/master
Commit: 4eae24a23bb6e0aed0b7337b19f5a139fd1083c8
Parents: cae4062
Author: quynhn <qn...@linagora.com>
Authored: Mon Aug 28 14:12:17 2017 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Aug 31 08:24:02 2017 +0700

----------------------------------------------------------------------
 .../james/backends/es/search/ScrollIterable.java      |  4 ++--
 .../elasticsearch/search/ElasticSearchSearcher.java   |  5 ++---
 .../inmemory/mail/InMemoryAnnotationMapper.java       |  6 ++----
 .../store/mail/utils/ApplicableFlagCalculator.java    | 14 ++++++--------
 .../mailets/RecipientRewriteTableProcessor.java       |  7 +++----
 5 files changed, 15 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/4eae24a2/backends-common/elasticsearch/src/main/java/org/apache/james/backends/es/search/ScrollIterable.java
----------------------------------------------------------------------
diff --git a/backends-common/elasticsearch/src/main/java/org/apache/james/backends/es/search/ScrollIterable.java b/backends-common/elasticsearch/src/main/java/org/apache/james/backends/es/search/ScrollIterable.java
index a43160f..a93d3f1 100644
--- a/backends-common/elasticsearch/src/main/java/org/apache/james/backends/es/search/ScrollIterable.java
+++ b/backends-common/elasticsearch/src/main/java/org/apache/james/backends/es/search/ScrollIterable.java
@@ -21,8 +21,8 @@ package org.apache.james.backends.es.search;
 
 import java.util.Iterator;
 import java.util.stream.Stream;
-import java.util.stream.StreamSupport;
 
+import org.apache.james.util.streams.Iterators;
 import org.elasticsearch.action.ListenableActionFuture;
 import org.elasticsearch.action.search.SearchRequestBuilder;
 import org.elasticsearch.action.search.SearchResponse;
@@ -46,7 +46,7 @@ public class ScrollIterable implements Iterable<SearchResponse> {
     }
 
     public Stream<SearchResponse> stream() {
-        return StreamSupport.stream(spliterator(), false);
+        return Iterators.toStream(iterator());
     }
 
     public static class ScrollIterator implements Iterator<SearchResponse> {

http://git-wip-us.apache.org/repos/asf/james-project/blob/4eae24a2/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/search/ElasticSearchSearcher.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/search/ElasticSearchSearcher.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/search/ElasticSearchSearcher.java
index eb35456..df5b7bf 100644
--- a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/search/ElasticSearchSearcher.java
+++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/search/ElasticSearchSearcher.java
@@ -22,7 +22,6 @@ package org.apache.james.mailbox.elasticsearch.search;
 import java.util.List;
 import java.util.Optional;
 import java.util.stream.Stream;
-import java.util.stream.StreamSupport;
 import javax.inject.Inject;
 
 import org.apache.james.backends.es.search.ScrollIterable;
@@ -37,7 +36,7 @@ import org.apache.james.mailbox.model.MailboxId;
 import org.apache.james.mailbox.model.MessageId;
 import org.apache.james.mailbox.model.MultimailboxesSearchQuery;
 import org.apache.james.mailbox.store.search.MessageSearchIndex;
-
+import org.apache.james.util.streams.Iterators;
 import org.elasticsearch.action.search.SearchRequestBuilder;
 import org.elasticsearch.action.search.SearchResponse;
 import org.elasticsearch.client.Client;
@@ -99,7 +98,7 @@ public class ElasticSearchSearcher {
     }
 
     private Stream<MessageSearchIndex.SearchResult> transformResponseToUidStream(SearchResponse searchResponse) {
-        return StreamSupport.stream(searchResponse.getHits().spliterator(), false)
+        return Iterators.toStream(searchResponse.getHits().iterator())
             .map(this::extractContentFromHit)
             .filter(Optional::isPresent)
             .map(Optional::get);

http://git-wip-us.apache.org/repos/asf/james-project/blob/4eae24a2/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryAnnotationMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryAnnotationMapper.java b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryAnnotationMapper.java
index fe3b41c..383249d 100644
--- a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryAnnotationMapper.java
+++ b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryAnnotationMapper.java
@@ -24,7 +24,6 @@ import java.util.Set;
 import java.util.concurrent.locks.ReadWriteLock;
 import java.util.concurrent.locks.ReentrantReadWriteLock;
 import java.util.function.Predicate;
-import java.util.stream.StreamSupport;
 
 import org.apache.james.mailbox.exception.MailboxException;
 import org.apache.james.mailbox.inmemory.InMemoryId;
@@ -32,6 +31,7 @@ import org.apache.james.mailbox.model.MailboxAnnotation;
 import org.apache.james.mailbox.model.MailboxAnnotationKey;
 import org.apache.james.mailbox.model.MailboxId;
 import org.apache.james.mailbox.store.mail.AnnotationMapper;
+import org.apache.james.util.streams.Iterators;
 import org.apache.commons.lang.StringUtils;
 
 import com.github.steveash.guavate.Guavate;
@@ -84,9 +84,7 @@ public class InMemoryAnnotationMapper implements AnnotationMapper {
 
     @Override
     public List<MailboxAnnotation> getAnnotationsByKeysWithAllDepth(MailboxId mailboxId, final Set<MailboxAnnotationKey> keys) {
-        boolean parallel = true;
-
-        return StreamSupport.stream(retrieveAllAnnotations((InMemoryId)mailboxId).spliterator(), parallel)
+        return Iterators.toStream(retrieveAllAnnotations((InMemoryId)mailboxId).iterator())
             .filter(getPredicateFilterByAll(keys))
             .collect(Guavate.toImmutableList());
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/4eae24a2/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/utils/ApplicableFlagCalculator.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/utils/ApplicableFlagCalculator.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/utils/ApplicableFlagCalculator.java
index ef21d47..ec599ee 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/utils/ApplicableFlagCalculator.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/utils/ApplicableFlagCalculator.java
@@ -19,17 +19,17 @@
 
 package org.apache.james.mailbox.store.mail.utils;
 
-import java.util.stream.StreamSupport;
 import javax.mail.Flags;
 
 import org.apache.james.mailbox.ApplicableFlagBuilder;
 import org.apache.james.mailbox.store.mail.model.MailboxMessage;
+import org.apache.james.util.streams.Iterators;
 
+import com.github.steveash.guavate.Guavate;
 import com.google.common.base.Preconditions;
 
 
 public class ApplicableFlagCalculator {
-
     private final Iterable<MailboxMessage> mailboxMessages;
 
     public ApplicableFlagCalculator(Iterable<MailboxMessage> mailboxMessages) {
@@ -38,12 +38,10 @@ public class ApplicableFlagCalculator {
     }
 
     public Flags computeApplicableFlags() {
-        boolean isParallel = true;
-
         return ApplicableFlagBuilder.builder()
-                .add(StreamSupport.stream(mailboxMessages.spliterator(), isParallel)
-                    .map(MailboxMessage::createFlags)
-                    .toArray(Flags[]::new))
-                .build();
+            .add(Iterators.toStream(mailboxMessages.iterator())
+                .map(MailboxMessage::createFlags)
+                .collect(Guavate.toImmutableList()))
+            .build();
     }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/4eae24a2/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RecipientRewriteTableProcessor.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RecipientRewriteTableProcessor.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RecipientRewriteTableProcessor.java
index 633dc22..a1652fe 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RecipientRewriteTableProcessor.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RecipientRewriteTableProcessor.java
@@ -24,7 +24,6 @@ import java.util.Optional;
 import java.util.function.Function;
 import java.util.function.Predicate;
 import java.util.stream.Stream;
-import java.util.stream.StreamSupport;
 import javax.mail.MessagingException;
 import javax.mail.internet.AddressException;
 import javax.mail.internet.MimeMessage;
@@ -36,6 +35,7 @@ import org.apache.james.rrt.api.RecipientRewriteTable.ErrorMappingException;
 import org.apache.james.rrt.api.RecipientRewriteTableException;
 import org.apache.james.rrt.lib.Mapping;
 import org.apache.james.rrt.lib.Mappings;
+import org.apache.james.util.streams.Iterators;
 import org.apache.mailet.Mail;
 import org.apache.mailet.MailAddress;
 import org.apache.mailet.MailetContext;
@@ -49,7 +49,6 @@ import com.google.common.collect.ImmutableList;
 
 public class RecipientRewriteTableProcessor {
     private static final Logger LOGGER = LoggerFactory.getLogger(RecipientRewriteTableProcessor.class);
-    private static final boolean parallel = true;
 
     private final org.apache.james.rrt.api.RecipientRewriteTable virtualTableStore;
     private final DomainList domainList;
@@ -145,7 +144,7 @@ public class RecipientRewriteTableProcessor {
 
     private ImmutableList<Mapping> convertToNewMappings(final Mappings mappings,
             ImmutableList<Mapping> addressWithoutDomains) {
-        return Stream.concat(StreamSupport.stream(mappings.spliterator(), parallel)
+        return Stream.concat(Iterators.toStream(mappings.iterator())
                     .filter(Mapping::hasDomain),
                 addressWithoutDomains.stream())
             .collect(Guavate.toImmutableList());
@@ -166,7 +165,7 @@ public class RecipientRewriteTableProcessor {
     }
 
     private ImmutableList<Mapping> getAddressWithNoDomain(Mappings mappings, DomainList domainList) throws MessagingException {
-        ImmutableList<Mapping> addressWithoutDomains = StreamSupport.stream(mappings.spliterator(), parallel)
+        ImmutableList<Mapping> addressWithoutDomains = Iterators.toStream(mappings.iterator())
             .filter(address -> !address.hasDomain())
             .collect(Guavate.toImmutableList());
         


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