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