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 2019/12/13 02:39:22 UTC

[james-project] 06/27: [Refactoring] FetchData: boolean setter parameter are always true

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 12367a727fffecb0c649362b01027d4763d22755
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Tue Dec 10 10:22:36 2019 +0700

    [Refactoring] FetchData: boolean setter parameter are always true
    
    Remove this useless parameter.
    
    Rename these methods to `fetch*` to better express the intent.
---
 .../apache/james/imap/api/message/FetchData.java   | 25 +++++---------
 .../imap/decode/parser/FetchCommandParser.java     | 40 +++++++++++-----------
 .../james/imap/message/request/FetchRequest.java   |  2 +-
 .../james/imap/processor/fetch/FetchProcessor.java |  2 +-
 .../processor/fetch/FetchDataConverterTest.java    | 14 ++++----
 5 files changed, 37 insertions(+), 46 deletions(-)

diff --git a/protocols/imap/src/main/java/org/apache/james/imap/api/message/FetchData.java b/protocols/imap/src/main/java/org/apache/james/imap/api/message/FetchData.java
index da9443c..3459a63 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/api/message/FetchData.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/api/message/FetchData.java
@@ -25,7 +25,6 @@ import java.util.Objects;
 import java.util.Set;
 
 import com.google.common.base.MoreObjects;
-import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableSet;
 
 public class FetchData {
@@ -55,8 +54,7 @@ public class FetchData {
         return itemToFetch.contains(Item.BODY);
     }
 
-    public FetchData setBody(boolean body) {
-        Preconditions.checkArgument(body, "'body' can not be unset");
+    public FetchData fetchBody() {
         itemToFetch.add(Item.BODY);
         return this;
     }
@@ -65,8 +63,7 @@ public class FetchData {
         return itemToFetch.contains(Item.BODY_STRUCTURE);
     }
 
-    public FetchData setBodyStructure(boolean bodyStructure) {
-        Preconditions.checkArgument(bodyStructure, "'bodyStructure' can not be unset");
+    public FetchData fetchBodyStructure() {
         itemToFetch.add(Item.BODY_STRUCTURE);
         return this;
     }
@@ -75,8 +72,7 @@ public class FetchData {
         return itemToFetch.contains(Item.ENVELOPE);
     }
 
-    public FetchData setEnvelope(boolean envelope) {
-        Preconditions.checkArgument(envelope, "'envelope' can not be unset");
+    public FetchData fetchEnvelope() {
         itemToFetch.add(Item.ENVELOPE);
         return this;
     }
@@ -85,8 +81,7 @@ public class FetchData {
         return itemToFetch.contains(Item.FLAGS);
     }
 
-    public FetchData setFlags(boolean flags) {
-        Preconditions.checkArgument(flags, "'flags' can not be unset");
+    public FetchData fetchFlags() {
         itemToFetch.add(Item.FLAGS);
         return this;
     }
@@ -95,8 +90,7 @@ public class FetchData {
         return itemToFetch.contains(Item.INTERNAL_DATE);
     }
 
-    public FetchData setInternalDate(boolean internalDate) {
-        Preconditions.checkArgument(internalDate, "'internalDate' can not be unset");
+    public FetchData fetchInternalDate() {
         itemToFetch.add(Item.INTERNAL_DATE);
         return this;
     }
@@ -105,8 +99,7 @@ public class FetchData {
         return itemToFetch.contains(Item.SIZE);
     }
 
-    public FetchData setSize(boolean size) {
-        Preconditions.checkArgument(size, "'size' can not be unset");
+    public FetchData fetchSize() {
         itemToFetch.add(Item.SIZE);
         return this;
     }
@@ -115,8 +108,7 @@ public class FetchData {
         return itemToFetch.contains(Item.UID);
     }
 
-    public FetchData setUid(boolean uid) {
-        Preconditions.checkArgument(uid, "'uid' can not be unset");
+    public FetchData fetchUid() {
         itemToFetch.add(Item.UID);
         return this;
     }
@@ -130,8 +122,7 @@ public class FetchData {
         return itemToFetch.contains(Item.MODSEQ);
     }
 
-    public FetchData setModSeq(boolean modSeq) {
-        Preconditions.checkArgument(modSeq, "'modSeq' can not be unset");
+    public FetchData fetchModSeq() {
         itemToFetch.add(Item.MODSEQ);
         return this;
     }
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/FetchCommandParser.java b/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/FetchCommandParser.java
index f929325..698a819 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/FetchCommandParser.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/FetchCommandParser.java
@@ -129,34 +129,34 @@ public class FetchCommandParser extends AbstractUidCommandParser {
         // Simple elements with no '[]' parameters.
         if (next != '[') {
             if ("FAST".equalsIgnoreCase(name)) {
-                fetch.setFlags(true);
-                fetch.setInternalDate(true);
-                fetch.setSize(true);
+                fetch.fetchFlags();
+                fetch.fetchInternalDate();
+                fetch.fetchSize();
             } else if ("FULL".equalsIgnoreCase(name)) {
-                fetch.setFlags(true);
-                fetch.setInternalDate(true);
-                fetch.setSize(true);
-                fetch.setEnvelope(true);
-                fetch.setBody(true);
+                fetch.fetchFlags();
+                fetch.fetchInternalDate();
+                fetch.fetchSize();
+                fetch.fetchEnvelope();
+                fetch.fetchBody();
             } else if ("ALL".equalsIgnoreCase(name)) {
-                fetch.setFlags(true);
-                fetch.setInternalDate(true);
-                fetch.setSize(true);
-                fetch.setEnvelope(true);
+                fetch.fetchFlags();
+                fetch.fetchInternalDate();
+                fetch.fetchSize();
+                fetch.fetchEnvelope();
             } else if ("FLAGS".equalsIgnoreCase(name)) {
-                fetch.setFlags(true);
+                fetch.fetchFlags();
             } else if ("RFC822.SIZE".equalsIgnoreCase(name)) {
-                fetch.setSize(true);
+                fetch.fetchSize();
             } else if ("ENVELOPE".equalsIgnoreCase(name)) {
-                fetch.setEnvelope(true);
+                fetch.fetchEnvelope();
             } else if ("INTERNALDATE".equalsIgnoreCase(name)) {
-                fetch.setInternalDate(true);
+                fetch.fetchInternalDate();
             } else if ("BODY".equalsIgnoreCase(name)) {
-                fetch.setBody(true);
+                fetch.fetchBody();
             } else if ("BODYSTRUCTURE".equalsIgnoreCase(name)) {
-                fetch.setBodyStructure(true);
+                fetch.fetchBodyStructure();
             } else if ("UID".equalsIgnoreCase(name)) {
-                fetch.setUid(true);
+                fetch.fetchUid();
             } else if ("RFC822".equalsIgnoreCase(name)) {
                 fetch.add(BodyFetchElement.createRFC822(), false);
             } else if ("RFC822.HEADER".equalsIgnoreCase(name)) {
@@ -164,7 +164,7 @@ public class FetchCommandParser extends AbstractUidCommandParser {
             } else if ("RFC822.TEXT".equalsIgnoreCase(name)) {
                 fetch.add(BodyFetchElement.createRFC822Text(), false);
             } else if ("MODSEQ".equalsIgnoreCase(name)) {
-                fetch.setModSeq(true);
+                fetch.fetchModSeq();
             } else {
                 throw new DecodingException(HumanReadableText.ILLEGAL_ARGUMENTS, "Invalid fetch attribute: " + name);
             }
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/message/request/FetchRequest.java b/protocols/imap/src/main/java/org/apache/james/imap/message/request/FetchRequest.java
index 61e8758..6867bda 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/message/request/FetchRequest.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/message/request/FetchRequest.java
@@ -36,7 +36,7 @@ public class FetchRequest extends AbstractImapRequest {
         this.idSet = idSet;
         this.fetch = fetch;
         if (useUids) {
-            fetch.setUid(true);
+            fetch.fetchUid();
         }
     }
 
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/FetchProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/FetchProcessor.java
index 668128e..ef8c007 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/FetchProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/FetchProcessor.java
@@ -108,7 +108,7 @@ public class FetchProcessor extends AbstractMailboxProcessor<FetchRequest> {
             }
             // if QRESYNC is enable its necessary to also return the UID in all cases
             if (EnableProcessor.getEnabledCapabilities(session).contains(ImapConstants.SUPPORTS_QRESYNC)) {
-                fetch.setUid(true);
+                fetch.fetchUid();
             }
             processMessageRanges(session, mailbox, ranges, fetch, useUids, mailboxSession, responder);
 
diff --git a/protocols/imap/src/test/java/org/apache/james/imap/processor/fetch/FetchDataConverterTest.java b/protocols/imap/src/test/java/org/apache/james/imap/processor/fetch/FetchDataConverterTest.java
index 0050bfa..84f06e7 100644
--- a/protocols/imap/src/test/java/org/apache/james/imap/processor/fetch/FetchDataConverterTest.java
+++ b/protocols/imap/src/test/java/org/apache/james/imap/processor/fetch/FetchDataConverterTest.java
@@ -44,14 +44,14 @@ class FetchDataConverterTest {
     static Stream<Arguments> getFetchGroupShouldReturnCorrectValue() {
         return Stream.of(
             Arguments.arguments(new FetchData(), FetchGroup.MINIMAL),
-            Arguments.arguments(new FetchData().setBody(true), FetchGroup.MINIMAL.with(Profile.MIME_DESCRIPTOR)),
-            Arguments.arguments(new FetchData().setBodyStructure(true), FetchGroup.MINIMAL.with(Profile.MIME_DESCRIPTOR)),
+            Arguments.arguments(new FetchData().fetchBody(), FetchGroup.MINIMAL.with(Profile.MIME_DESCRIPTOR)),
+            Arguments.arguments(new FetchData().fetchBodyStructure(), FetchGroup.MINIMAL.with(Profile.MIME_DESCRIPTOR)),
             Arguments.arguments(new FetchData().setChangedSince(0L), FetchGroup.MINIMAL),
-            Arguments.arguments(new FetchData().setEnvelope(true), FetchGroup.HEADERS),
-            Arguments.arguments(new FetchData().setFlags(true), FetchGroup.MINIMAL),
-            Arguments.arguments(new FetchData().setInternalDate(true), FetchGroup.MINIMAL),
-            Arguments.arguments(new FetchData().setModSeq(true), FetchGroup.MINIMAL),
-            Arguments.arguments(new FetchData().setUid(true), FetchGroup.MINIMAL),
+            Arguments.arguments(new FetchData().fetchEnvelope(), FetchGroup.HEADERS),
+            Arguments.arguments(new FetchData().fetchFlags(), FetchGroup.MINIMAL),
+            Arguments.arguments(new FetchData().fetchInternalDate(), FetchGroup.MINIMAL),
+            Arguments.arguments(new FetchData().fetchModSeq(), FetchGroup.MINIMAL),
+            Arguments.arguments(new FetchData().fetchUid(), FetchGroup.MINIMAL),
             Arguments.arguments(new FetchData().setVanished(true), FetchGroup.MINIMAL),
             Arguments.arguments(new FetchData().add(BodyFetchElement.createRFC822(), PEEK), FetchGroup.FULL_CONTENT),
             Arguments.arguments(new FetchData().add(BodyFetchElement.createRFC822Header(), PEEK), FetchGroup.HEADERS),


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