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/11/28 02:12:32 UTC

[james-project] 15/23: JAMES-2989 Little refactor for FetchGroupConverter

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 c80a8521b662d9450e42c7d1955fd8848472cb45
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Mon Nov 25 13:01:06 2019 +0700

    JAMES-2989 Little refactor for FetchGroupConverter
---
 .../mailbox/store/mail/FetchGroupConverter.java    | 51 +++++++++-------------
 1 file changed, 20 insertions(+), 31 deletions(-)

diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/FetchGroupConverter.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/FetchGroupConverter.java
index 5bceef9..62b30e6 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/FetchGroupConverter.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/FetchGroupConverter.java
@@ -27,44 +27,29 @@ public class FetchGroupConverter {
      * {@link MessageMapper.FetchType} for it
      */
     public static MessageMapper.FetchType getFetchType(FetchGroup group) {
-        int content = group.content();
-        boolean headers = false;
-        boolean body = false;
-        boolean full = false;
-
-        if ((content & FetchGroup.HEADERS_MASK) > 0) {
-            headers = true;
-            content -= FetchGroup.HEADERS_MASK;
-        }
-        if (group.getPartContentDescriptors().size() > 0) {
-            full = true;
-        }
-        if ((content & FetchGroup.BODY_CONTENT_MASK) > 0) {
-            body = true;
-            content -= FetchGroup.BODY_CONTENT_MASK;
-        }
-
-        if ((content & FetchGroup.FULL_CONTENT_MASK) > 0) {
-            full = true;
-            content -= FetchGroup.FULL_CONTENT_MASK;
+        if (hasMask(group, FetchGroup.FULL_CONTENT_MASK)) {
+            return MessageMapper.FetchType.Full;
         }
-
-        if ((content & FetchGroup.MIME_DESCRIPTOR_MASK) > 0) {
+        if (hasMask(group, FetchGroup.MIME_DESCRIPTOR_MASK)) {
             // If we need the mimedescriptor we MAY need the full content later
             // too.
             // This gives us no other choice then request it
-            full = true;
-            content -= FetchGroup.MIME_DESCRIPTOR_MASK;
+            return MessageMapper.FetchType.Full;
         }
-        if ((content & FetchGroup.MIME_CONTENT_MASK) > 0) {
-            full = true;
-            content -= FetchGroup.MIME_CONTENT_MASK;
+        if (hasMask(group, FetchGroup.MIME_CONTENT_MASK)) {
+            return MessageMapper.FetchType.Full;
+        }
+        if (hasMask(group, FetchGroup.MIME_HEADERS_MASK)) {
+            return MessageMapper.FetchType.Full;
         }
-        if ((content & FetchGroup.MIME_HEADERS_MASK) > 0) {
-            full = true;
-            content -= FetchGroup.MIME_HEADERS_MASK;
+        if (!group.getPartContentDescriptors().isEmpty()) {
+            return MessageMapper.FetchType.Full;
         }
-        if (full || (body && headers)) {
+
+        boolean headers = hasMask(group, FetchGroup.HEADERS_MASK);
+        boolean body = hasMask(group, FetchGroup.BODY_CONTENT_MASK);
+
+        if (body && headers) {
             return MessageMapper.FetchType.Full;
         } else if (body) {
             return MessageMapper.FetchType.Body;
@@ -74,4 +59,8 @@ public class FetchGroupConverter {
             return MessageMapper.FetchType.Metadata;
         }
     }
+
+    private static boolean hasMask(FetchGroup group, int mask) {
+        return (group.content() & mask) > 0;
+    }
 }


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