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