MAILBOX-265 FetchType FULL should be used when computing and reading Mime structure
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/16cbae9f Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/16cbae9f Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/16cbae9f Branch: refs/heads/master Commit: 16cbae9fea243f68ba3ce94b16e5b58cdeaf7aaf Parents: 7a86fe1 Author: Benoit Tellier <[email protected]> Authored: Thu Mar 3 14:50:31 2016 +0700 Committer: Benoit Tellier <[email protected]> Committed: Fri Mar 4 19:35:24 2016 +0700 ---------------------------------------------------------------------- .../java/org/apache/james/mailbox/model/FetchGroupImpl.java | 6 ++---- .../apache/james/mailbox/store/StoreMessageResultIterator.java | 5 ++++- .../mailbox/store/StoreMailboxMessageResultIteratorTest.java | 3 ++- .../org/apache/james/mailbox/copier/MailboxCopierImpl.java | 3 ++- .../org/apache/james/pop3server/mailbox/MailboxAdapter.java | 3 ++- 5 files changed, 12 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/16cbae9f/mailbox/api/src/main/java/org/apache/james/mailbox/model/FetchGroupImpl.java ---------------------------------------------------------------------- diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/model/FetchGroupImpl.java b/mailbox/api/src/main/java/org/apache/james/mailbox/model/FetchGroupImpl.java index b7faba7..38d4bd1 100644 --- a/mailbox/api/src/main/java/org/apache/james/mailbox/model/FetchGroupImpl.java +++ b/mailbox/api/src/main/java/org/apache/james/mailbox/model/FetchGroupImpl.java @@ -42,16 +42,14 @@ public class FetchGroupImpl implements MessageResult.FetchGroup { private Set<PartContentDescriptor> partContentDescriptors; public FetchGroupImpl() { - super(); + this(0, new HashSet<PartContentDescriptor>()); } public FetchGroupImpl(int content) { - super(); - this.content = content; + this(content, new HashSet<PartContentDescriptor>()); } public FetchGroupImpl(int content, Set<PartContentDescriptor> partContentDescriptors) { - super(); this.content = content; this.partContentDescriptors = partContentDescriptors; } http://git-wip-us.apache.org/repos/asf/james-project/blob/16cbae9f/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageResultIterator.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageResultIterator.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageResultIterator.java index 4e2b635..6741352 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageResultIterator.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageResultIterator.java @@ -82,7 +82,10 @@ public class StoreMessageResultIterator<Id extends MailboxId> implements Message headers = true; content -= FetchGroup.HEADERS; } - if ((content & FetchGroup.BODY_CONTENT) > 0) { + if (group.getPartContentDescriptors().size() > 0) { + full = true; + } + if ((content & FetchGroup.BODY_CONTENT ) > 0 ) { body = true; content -= FetchGroup.BODY_CONTENT; } http://git-wip-us.apache.org/repos/asf/james-project/blob/16cbae9f/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxMessageResultIteratorTest.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxMessageResultIteratorTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxMessageResultIteratorTest.java index de9e35d..b60e238 100644 --- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxMessageResultIteratorTest.java +++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxMessageResultIteratorTest.java @@ -22,6 +22,7 @@ package org.apache.james.mailbox.store; import static org.assertj.core.api.Assertions.assertThat; import java.util.ArrayList; +import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; @@ -50,7 +51,7 @@ public class StoreMailboxMessageResultIteratorTest { private final class TestFetchGroup implements FetchGroup { @Override public Set<PartContentDescriptor> getPartContentDescriptors() { - return null; + return new HashSet<PartContentDescriptor>(); } @Override http://git-wip-us.apache.org/repos/asf/james-project/blob/16cbae9f/mailbox/tool/src/main/java/org/apache/james/mailbox/copier/MailboxCopierImpl.java ---------------------------------------------------------------------- diff --git a/mailbox/tool/src/main/java/org/apache/james/mailbox/copier/MailboxCopierImpl.java b/mailbox/tool/src/main/java/org/apache/james/mailbox/copier/MailboxCopierImpl.java index a52761d..9cab809 100644 --- a/mailbox/tool/src/main/java/org/apache/james/mailbox/copier/MailboxCopierImpl.java +++ b/mailbox/tool/src/main/java/org/apache/james/mailbox/copier/MailboxCopierImpl.java @@ -20,6 +20,7 @@ package org.apache.james.mailbox.copier; import java.io.IOException; import java.util.Calendar; +import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Set; @@ -54,7 +55,7 @@ public class MailboxCopierImpl implements MailboxCopier { @Override public Set<PartContentDescriptor> getPartContentDescriptors() { - return null; + return new HashSet<PartContentDescriptor>(); } }; http://git-wip-us.apache.org/repos/asf/james-project/blob/16cbae9f/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/mailbox/MailboxAdapter.java ---------------------------------------------------------------------- diff --git a/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/mailbox/MailboxAdapter.java b/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/mailbox/MailboxAdapter.java index 248e202..f018009 100644 --- a/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/mailbox/MailboxAdapter.java +++ b/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/mailbox/MailboxAdapter.java @@ -22,6 +22,7 @@ import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.Collections; +import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Set; @@ -43,7 +44,7 @@ public class MailboxAdapter implements Mailbox { private static abstract class POP3FetchGroup implements FetchGroup { @Override public Set<PartContentDescriptor> getPartContentDescriptors() { - return null; + return new HashSet<PartContentDescriptor>(); } } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
