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 fe33b42cb965bc0aa76af8fa6646e4c8a347138e
Author: Benoit Tellier <[email protected]>
AuthorDate: Fri Nov 15 13:18:30 2019 +0700

    [Refactoring] MessageRangeProcessor: adopt functional programming style
---
 .../main/java/org/apache/james/imap/api/message/IdRange.java | 10 +---------
 .../james/imap/processor/AbstractMessageRangeProcessor.java  | 12 ++++--------
 2 files changed, 5 insertions(+), 17 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 0862d0a..bae41e8 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
@@ -47,8 +47,7 @@ public final class IdRange implements Iterable<Long>, 
Comparable<IdRange> {
             messageRange.getUidTo().asLong());
     }
 
-    private long lowVal;
-
+    private final long lowVal;
     private long highVal;
 
     public IdRange(long singleVal) {
@@ -72,13 +71,6 @@ public final class IdRange implements Iterable<Long>, 
Comparable<IdRange> {
         return highVal;
     }
 
-    public void setLowVal(long lowVal) {
-        if (lowVal > highVal) {
-            throw new IllegalArgumentException("LowVal must be <= HighVal");
-        }
-        this.lowVal = lowVal;
-    }
-
     public void setHighVal(long highVal) {
         if (lowVal > highVal) {
             throw new IllegalArgumentException("HighVal must be >= LowVal");
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMessageRangeProcessor.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMessageRangeProcessor.java
index 1fd75cc..314b2e6 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMessageRangeProcessor.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMessageRangeProcessor.java
@@ -96,9 +96,11 @@ public abstract class AbstractMessageRangeProcessor<R 
extends AbstractMessageRan
                 range -> messageRange(session.getSelected(), range, 
request.isUseUids()))
                 .sneakyThrow())
             .filter(Objects::nonNull)
-            .flatMap(Throwing.<MessageRange, Stream<IdRange>>function(
-                range -> handleRange(session, targetMailbox, mailboxSession, 
range))
+            .flatMap(Throwing.<MessageRange, Stream<MessageRange>>function(
+                range -> process(targetMailbox, session.getSelected(), 
mailboxSession, range)
+                    .stream())
                 .sneakyThrow())
+            .map(IdRange::from)
             .collect(Guavate.toImmutableList()))
             .toArray(new IdRange[0]);
 
@@ -107,10 +109,4 @@ public abstract class AbstractMessageRangeProcessor<R 
extends AbstractMessageRan
 
         return StatusResponse.ResponseCode.copyUid(uidValidity, 
request.getIdSet(), resultUids);
     }
-
-    private Stream<IdRange> handleRange(ImapSession session, MailboxPath 
targetMailbox, MailboxSession mailboxSession, MessageRange range) throws 
MailboxException {
-        return process(targetMailbox, session.getSelected(), mailboxSession, 
range)
-            .stream()
-            .map(IdRange::from);
-    }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to