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 2022/04/18 06:50:45 UTC

[james-project] 08/11: [PERF] CassandraIndexTableHandler: Avoid intermediate collect

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 28d7593dcc1ec21a84e155589755bc1d3b14879c
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Mon Apr 11 15:26:25 2022 +0700

    [PERF] CassandraIndexTableHandler: Avoid intermediate collect
---
 .../src/main/java/org/apache/james/mailbox/model/UpdatedFlags.java | 7 ++++++-
 .../james/mailbox/cassandra/mail/CassandraIndexTableHandler.java   | 3 +--
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/model/UpdatedFlags.java b/mailbox/api/src/main/java/org/apache/james/mailbox/model/UpdatedFlags.java
index 5d5819102d..e39f66e428 100644
--- a/mailbox/api/src/main/java/org/apache/james/mailbox/model/UpdatedFlags.java
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/model/UpdatedFlags.java
@@ -24,6 +24,7 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Objects;
 import java.util.Optional;
+import java.util.stream.Stream;
 
 import javax.mail.Flags;
 
@@ -225,7 +226,11 @@ public class UpdatedFlags {
     public Iterator<String> userFlagIterator() {
         return Arrays.asList(modifiedFlags.getUserFlags()).iterator();
     }
-    
+
+    public Stream<String> userFlagStream() {
+        return Stream.of(modifiedFlags.getUserFlags());
+    }
+
     
     /**
      * Return the new mod-sequence for the message
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraIndexTableHandler.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraIndexTableHandler.java
index 1ef7f521ee..a3b5410963 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraIndexTableHandler.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraIndexTableHandler.java
@@ -35,7 +35,6 @@ import org.apache.james.mailbox.model.MailboxCounters;
 import org.apache.james.mailbox.model.MessageMetaData;
 import org.apache.james.mailbox.model.UpdatedFlags;
 import org.apache.james.mailbox.store.mail.model.MailboxMessage;
-import org.apache.james.util.streams.Iterators;
 
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
@@ -168,7 +167,7 @@ public class CassandraIndexTableHandler {
     private Mono<Void> manageApplicableFlagsOnFlagsUpdate(CassandraId mailboxId, List<UpdatedFlags> updatedFlags) {
         return applicableFlagDAO.updateApplicableFlags(mailboxId,
             updatedFlags.stream()
-                .flatMap(flags -> Iterators.toStream(flags.userFlagIterator()))
+                .flatMap(UpdatedFlags::userFlagStream)
                 .collect(ImmutableSet.toImmutableSet()));
     }
 


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