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 3c7cb4a6fbef9049ed3a80084055b3255e5121b0 Author: Benoit Tellier <[email protected]> AuthorDate: Thu Mar 10 15:59:47 2022 +0700 [PERF] Improves performance of IdRange::toString of 50% --- .../main/java/org/apache/james/imap/api/message/IdRange.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/protocols/imap/src/main/java/org/apache/james/imap/api/message/IdRange.java b/protocols/imap/src/main/java/org/apache/james/imap/api/message/IdRange.java index 106f4f0..410c75b 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/api/message/IdRange.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/api/message/IdRange.java @@ -20,16 +20,16 @@ package org.apache.james.imap.api.message; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.NoSuchElementException; import java.util.Optional; +import java.util.stream.Collectors; import org.apache.james.mailbox.model.MessageRange; -import com.google.common.collect.ImmutableList; - /** * Represents a range of UID or MSN values. */ @@ -108,9 +108,11 @@ public final class IdRange implements Iterable<Long>, Comparable<IdRange> { } public static String toString(IdRange[] ranges) { - return Optional.ofNullable(ranges) - .map(ImmutableList::copyOf) - .toString(); + return "(" + Optional.ofNullable(ranges) + .map(array -> Arrays.stream(array) + .map(IdRange::toString) + .collect(Collectors.joining(","))) + .orElse("") + ")"; } public static IdRange from(MessageRange messageRange) { --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
