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 a19703b64d7c0917c4777355abe6574acb442131 Author: Benoit Tellier <[email protected]> AuthorDate: Mon Nov 25 11:42:28 2019 +0700 JAMES-2989 POJOify PartContentDescriptor --- .../apache/james/mailbox/model/FetchGroupImpl.java | 4 +-- .../apache/james/mailbox/model/MessageResult.java | 28 ------------------ ...criptorImpl.java => PartContentDescriptor.java} | 34 +++++++++++++++++----- .../apache/james/mailbox/store/ResultUtils.java | 7 +++-- 4 files changed, 32 insertions(+), 41 deletions(-) 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 7cafe91..c9dd1c7 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 @@ -78,11 +78,11 @@ public class FetchGroupImpl implements MessageResult.FetchGroup { if (partContentDescriptors == null) { partContentDescriptors = new HashSet<>(); } - PartContentDescriptorImpl currentDescriptor = (PartContentDescriptorImpl) partContentDescriptors.stream() + PartContentDescriptor currentDescriptor = partContentDescriptors.stream() .filter(descriptor -> path.equals(descriptor.path())) .findFirst() .orElseGet(() -> { - PartContentDescriptorImpl result = new PartContentDescriptorImpl(path); + PartContentDescriptor result = new PartContentDescriptor(path); partContentDescriptors.add(result); return result; }); diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MessageResult.java b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MessageResult.java index 7ed64f5..12a4ae8 100644 --- a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MessageResult.java +++ b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MessageResult.java @@ -123,34 +123,6 @@ public interface MessageResult extends Comparable<MessageResult> { * there is no part content to be fetched */ Set<PartContentDescriptor> getPartContentDescriptors(); - - /** - * Describes the contents to be fetched for a mail part. All - * implementations MUST implement equals. Two implementations are equal - * if and only if their paths are equal. - */ - interface PartContentDescriptor { - /** - * Contents to be fetched. Composed bitwise. - * - * @return bitwise descripion - * @see #MINIMAL - * @see #MIME_DESCRIPTOR - * @see #HEADERS - * @see #FULL_CONTENT - * @see #BODY_CONTENT - * @see #MIME_HEADERS - * @see #MIME_CONTENT - */ - int content(); - - /** - * Path describing the part to be fetched. - * - * @return path describing the part, not null - */ - MimePath path(); - } } MimeDescriptor getMimeDescriptor() throws MailboxException; diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/model/PartContentDescriptorImpl.java b/mailbox/api/src/main/java/org/apache/james/mailbox/model/PartContentDescriptor.java similarity index 64% rename from mailbox/api/src/main/java/org/apache/james/mailbox/model/PartContentDescriptorImpl.java rename to mailbox/api/src/main/java/org/apache/james/mailbox/model/PartContentDescriptor.java index f7a8ccd..38a949c 100644 --- a/mailbox/api/src/main/java/org/apache/james/mailbox/model/PartContentDescriptorImpl.java +++ b/mailbox/api/src/main/java/org/apache/james/mailbox/model/PartContentDescriptor.java @@ -21,15 +21,18 @@ package org.apache.james.mailbox.model; import java.util.Objects; -import org.apache.james.mailbox.model.MessageResult.FetchGroup.PartContentDescriptor; - -public class PartContentDescriptorImpl implements PartContentDescriptor { +/** + * Describes the contents to be fetched for a mail part. All + * implementations MUST implement equals. Two implementations are equal + * if and only if their paths are equal. + */ +public class PartContentDescriptor { private int content = 0; private final MimePath path; - public PartContentDescriptorImpl(MimePath path) { + public PartContentDescriptor(MimePath path) { this.path = path; } @@ -37,12 +40,27 @@ public class PartContentDescriptorImpl implements PartContentDescriptor { this.content = this.content | content; } - @Override + /** + * Contents to be fetched. Composed bitwise. + * + * @return bitwise descripion + * @see MessageResult.FetchGroup#MINIMAL + * @see MessageResult.FetchGroup#MIME_DESCRIPTOR + * @see MessageResult.FetchGroup#HEADERS + * @see MessageResult.FetchGroup#FULL_CONTENT + * @see MessageResult.FetchGroup#BODY_CONTENT + * @see MessageResult.FetchGroup#MIME_HEADERS + * @see MessageResult.FetchGroup#MIME_CONTENT + */ public int content() { return content; } - @Override + /** + * Path describing the part to be fetched. + * + * @return path describing the part, not null + */ public MimePath path() { return path; } @@ -52,8 +70,8 @@ public class PartContentDescriptorImpl implements PartContentDescriptor { } public boolean equals(Object obj) { - if (obj instanceof PartContentDescriptorImpl) { - PartContentDescriptorImpl that = (PartContentDescriptorImpl) obj; + if (obj instanceof PartContentDescriptor) { + PartContentDescriptor that = (PartContentDescriptor) obj; return Objects.equals(this.path, that.path); } return false; 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 e83d74d..b1acbe6 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 @@ -30,6 +30,7 @@ import org.apache.james.mailbox.model.Content; import org.apache.james.mailbox.model.MessageResult; import org.apache.james.mailbox.model.MessageResult.FetchGroup; import org.apache.james.mailbox.model.MimePath; +import org.apache.james.mailbox.model.PartContentDescriptor; import org.apache.james.mailbox.store.mail.model.MailboxMessage; import org.apache.james.mailbox.store.streaming.PartContentBuilder; import org.apache.james.mime4j.MimeException; @@ -127,15 +128,15 @@ public class ResultUtils { private static void addPartContent(FetchGroup fetchGroup, MailboxMessage message, MessageResultImpl messageResult) throws MailboxException, IOException, MimeException { - Collection<FetchGroup.PartContentDescriptor> partContent = fetchGroup.getPartContentDescriptors(); + Collection<PartContentDescriptor> partContent = fetchGroup.getPartContentDescriptors(); if (partContent != null) { - for (FetchGroup.PartContentDescriptor descriptor: partContent) { + for (PartContentDescriptor descriptor: partContent) { addPartContent(descriptor, message, messageResult); } } } - private static void addPartContent(FetchGroup.PartContentDescriptor descriptor, MailboxMessage message, MessageResultImpl messageResult) + private static void addPartContent(PartContentDescriptor descriptor, MailboxMessage message, MessageResultImpl messageResult) throws MailboxException, IOException, MimeException { MimePath mimePath = descriptor.path(); int content = descriptor.content(); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
