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:27 UTC
[james-project] 10/23: JAMES-2989 POJOify PartContentDescriptor
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 <bt...@linagora.com>
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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org