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 ro...@apache.org on 2020/06/08 13:16:15 UTC

[james-project] 21/30: JAMES-3179 Deal with ResultUtils nullability

This is an automated email from the ASF dual-hosted git repository.

rouazana pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit a1da25b65264c05b4209d8decd13a12a0cf46622
Author: Gautier DI FOLCO <gd...@linagora.com>
AuthorDate: Tue May 12 17:20:46 2020 +0200

    JAMES-3179 Deal with ResultUtils nullability
---
 .../src/main/java/org/apache/james/mailbox/model/FetchGroup.java  | 2 +-
 .../src/main/java/org/apache/james/mailbox/store/ResultUtils.java | 8 +++++---
 .../test/java/org/apache/james/mailbox/store/ResultUtilsTest.java | 7 ++++++-
 3 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/model/FetchGroup.java b/mailbox/api/src/main/java/org/apache/james/mailbox/model/FetchGroup.java
index 37913bd..395821a 100644
--- a/mailbox/api/src/main/java/org/apache/james/mailbox/model/FetchGroup.java
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/model/FetchGroup.java
@@ -60,7 +60,7 @@ public class FetchGroup extends Profiles<FetchGroup> {
     }
 
     @VisibleForTesting
-    FetchGroup(Collection<Profile> content, ImmutableSet<PartContentDescriptor> partContentDescriptors) {
+    public FetchGroup(Collection<Profile> content, ImmutableSet<PartContentDescriptor> partContentDescriptors) {
         super(content);
         this.partContentDescriptors = partContentDescriptors;
     }
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/ResultUtils.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/ResultUtils.java
index 31efbfe..1c00394 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/ResultUtils.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/ResultUtils.java
@@ -216,9 +216,11 @@ public class ResultUtils {
     private static void addMimeBodyContent(MailboxMessage message, MessageResultImpl messageResult, MimePath mimePath)
             throws IOException, MimeException {
         int[] path = path(mimePath);
-        PartContentBuilder builder = build(path, message);
-        Content content = builder.getMimeBodyContent();
-        messageResult.setMimeBodyContent(mimePath, content);
+        if (path != null) {
+            PartContentBuilder builder = build(path, message);
+            Content content = builder.getMimeBodyContent();
+            messageResult.setMimeBodyContent(mimePath, content);
+        }
     }
 
     private static void addFullContent(MailboxMessage message, MessageResultImpl messageResult, MimePath mimePath)
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/ResultUtilsTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/ResultUtilsTest.java
index d122cbd..5ffeaed 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/ResultUtilsTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/ResultUtilsTest.java
@@ -21,14 +21,18 @@ package org.apache.james.mailbox.store;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
+import java.util.EnumSet;
 import java.util.stream.Stream;
 
 import org.apache.james.mailbox.model.FetchGroup;
 import org.apache.james.mailbox.model.FetchGroup.Profile;
+import org.apache.james.mailbox.model.PartContentDescriptor;
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.Arguments;
 import org.junit.jupiter.params.provider.MethodSource;
 
+import com.google.common.collect.ImmutableSet;
+
 class ResultUtilsTest {
     static Stream<Arguments> haveValidContent() {
         return Stream.of(
@@ -37,7 +41,8 @@ class ResultUtilsTest {
             Arguments.of(FetchGroup.FULL_CONTENT),
             Arguments.of(FetchGroup.HEADERS),
             Arguments.of(FetchGroup.BODY_CONTENT),
-            Arguments.of(FetchGroup.BODY_CONTENT.with(Profile.HEADERS)));
+            Arguments.of(FetchGroup.BODY_CONTENT.with(Profile.HEADERS)),
+            Arguments.of(new FetchGroup(EnumSet.of(Profile.BODY_CONTENT), ImmutableSet.of(new PartContentDescriptor(null)))));
     }
 
     @ParameterizedTest


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