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 d48deab6a2ed462ccc9d5c7701a3fd1417b103d8
Author: Benoit Tellier <[email protected]>
AuthorDate: Fri Feb 22 16:32:27 2019 +0700

    MAILBOX-381 Add DeletedMessage POJO
---
 .../org/apache/james/vault/DeletedMessage.java     | 33 ++++++++++++++++++----
 .../apache/james/vault/DeletedMessageFixture.java  |  4 +--
 2 files changed, 29 insertions(+), 8 deletions(-)

diff --git 
a/mailbox/plugin/deleted-messages-vault/src/main/java/org/apache/james/vault/DeletedMessage.java
 
b/mailbox/plugin/deleted-messages-vault/src/main/java/org/apache/james/vault/DeletedMessage.java
index 0e3a104..ca45e01 100644
--- 
a/mailbox/plugin/deleted-messages-vault/src/main/java/org/apache/james/vault/DeletedMessage.java
+++ 
b/mailbox/plugin/deleted-messages-vault/src/main/java/org/apache/james/vault/DeletedMessage.java
@@ -31,7 +31,11 @@ import org.apache.james.core.MaybeSender;
 import org.apache.james.core.User;
 import org.apache.james.mailbox.model.MailboxId;
 import org.apache.james.mailbox.model.MessageId;
+import org.apache.james.vault.DeletedMessage.Builder.FinalStage;
+import org.apache.james.vault.DeletedMessage.Builder.Steps.RequireMetadata;
+import org.apache.james.vault.DeletedMessage.Builder.Steps.RequirePayload;
 
+import com.google.common.base.MoreObjects;
 import com.google.common.collect.ImmutableList;
 
 public class DeletedMessage {
@@ -97,6 +101,18 @@ public class DeletedMessage {
             T content(Supplier<InputStream> content);
         }
 
+        interface Steps {
+            interface RequireMailboxContext<T> extends 
RequireMessageId<RequireOriginMailboxes<RequireUser<T>>> {}
+
+            interface RequireEnvelope<T> extends 
RequireSender<RequireRecipients<T>> {}
+
+            interface RequireDates<T> extends 
RequireDeliveryDate<RequireDeletionDate<T>> {}
+
+            interface RequireMetadata<T> extends 
RequireMailboxContext<RequireDates<RequireEnvelope<T>>> {}
+
+            interface RequirePayload<T> extends 
RequireContent<RequireHasAttachment<T>> {}
+        }
+
         public static class FinalStage {
             private final MessageId messageId;
             private final List<MailboxId> originMailboxes;
@@ -136,12 +152,9 @@ public class DeletedMessage {
         }
     }
 
-    public static 
Builder.RequireMessageId<Builder.RequireOriginMailboxes<Builder.RequireUser<Builder.RequireDeliveryDate<
-        
Builder.RequireDeletionDate<Builder.RequireContent<Builder.RequireSender<Builder.RequireRecipients<
-            Builder.RequireHasAttachment<Builder.FinalStage>>>>>>>>> builder() 
{
-
-        return messageId -> originMailboxes -> user -> deliveryDate -> 
deletionDate -> content -> sender -> recipients ->
-            hasAttachment -> new Builder.FinalStage(messageId, 
originMailboxes, user, deliveryDate, deletionDate, sender,
+    public static RequireMetadata<RequirePayload<FinalStage>> builder() {
+        return messageId -> originMailboxes -> user -> deliveryDate -> 
deletionDate -> sender -> recipients -> content -> hasAttachment ->
+            new Builder.FinalStage(messageId, originMailboxes, user, 
deliveryDate, deletionDate, sender,
                 recipients, hasAttachment, content);
 
     }
@@ -236,4 +249,12 @@ public class DeletedMessage {
         return Objects.hash(messageId, originMailboxes, owner, content, 
deliveryDate, deletionDate, sender, recipients,
             subject, hasAttachment);
     }
+
+    @Override
+    public String toString() {
+        return MoreObjects.toStringHelper(this)
+            .add("owner", owner)
+            .add("messageId", messageId)
+            .toString();
+    }
 }
diff --git 
a/mailbox/plugin/deleted-messages-vault/src/test/java/org/apache/james/vault/DeletedMessageFixture.java
 
b/mailbox/plugin/deleted-messages-vault/src/test/java/org/apache/james/vault/DeletedMessageFixture.java
index f74d7c1..c2fb8c2 100644
--- 
a/mailbox/plugin/deleted-messages-vault/src/test/java/org/apache/james/vault/DeletedMessageFixture.java
+++ 
b/mailbox/plugin/deleted-messages-vault/src/test/java/org/apache/james/vault/DeletedMessageFixture.java
@@ -52,9 +52,9 @@ public interface DeletedMessageFixture {
         .user(USER)
         .deliveryDate(DELIVERY_DATE)
         .deletionDate(DELETION_DATE)
-        .content(() -> new ByteArrayInputStream(CONTENT))
         .sender(MaybeSender.of(SENDER))
         .recipients(RECIPIENT1, RECIPIENT2)
+        .content(() -> new ByteArrayInputStream(CONTENT))
         .hasAttachment(false)
         .build();
     Supplier<DeletedMessage.Builder.FinalStage> FINAL_STAGE = () -> 
DeletedMessage.builder()
@@ -63,9 +63,9 @@ public interface DeletedMessageFixture {
         .user(USER)
         .deliveryDate(DELIVERY_DATE)
         .deletionDate(DELETION_DATE)
-        .content(() -> new ByteArrayInputStream(CONTENT))
         .sender(MaybeSender.of(SENDER))
         .recipients(RECIPIENT1, RECIPIENT2)
+        .content(() -> new ByteArrayInputStream(CONTENT))
         .hasAttachment(false);
     DeletedMessage DELETED_MESSAGE_WITH_SUBJECT = FINAL_STAGE.get()
         .subject(SUBJECT)


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to