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 ro...@apache.org on 2018/01/17 13:28:14 UTC

[8/9] james-project git commit: JAMES-2286 Fix Per-user header storage issue with FileMailRepository

JAMES-2286 Fix Per-user header storage issue with FileMailRepository


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/dc2a14e0
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/dc2a14e0
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/dc2a14e0

Branch: refs/heads/master
Commit: dc2a14e022f7e01accde5459d22bff034ebec4c6
Parents: bd89ec2
Author: benwa <bt...@linagora.com>
Authored: Mon Jan 15 11:34:48 2018 +0700
Committer: Matthieu Baechler <ma...@apache.org>
Committed: Tue Jan 16 16:34:47 2018 +0100

----------------------------------------------------------------------
 .../org/apache/mailet/PerRecipientHeaders.java  |  5 +++--
 .../org/apache/james/server/core/MailImpl.java  |  2 ++
 .../mailrepository/FileMailRepositoryTest.java  | 22 --------------------
 3 files changed, 5 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/dc2a14e0/mailet/api/src/main/java/org/apache/mailet/PerRecipientHeaders.java
----------------------------------------------------------------------
diff --git a/mailet/api/src/main/java/org/apache/mailet/PerRecipientHeaders.java b/mailet/api/src/main/java/org/apache/mailet/PerRecipientHeaders.java
index 0b7bcdb..8be1edd 100644
--- a/mailet/api/src/main/java/org/apache/mailet/PerRecipientHeaders.java
+++ b/mailet/api/src/main/java/org/apache/mailet/PerRecipientHeaders.java
@@ -19,6 +19,7 @@
 
 package org.apache.mailet;
 
+import java.io.Serializable;
 import java.util.Collection;
 
 import org.apache.james.core.MailAddress;
@@ -31,7 +32,7 @@ import com.google.common.base.Preconditions;
 import com.google.common.collect.ArrayListMultimap;
 import com.google.common.collect.Multimap;
 
-public class PerRecipientHeaders {
+public class PerRecipientHeaders implements Serializable {
     private Multimap<MailAddress, Header> headersByRecipient;
 
     public PerRecipientHeaders() {
@@ -57,7 +58,7 @@ public class PerRecipientHeaders {
         headersByRecipient.put(recipient, header);
     }
 
-    public static class Header {
+    public static class Header implements Serializable {
         private final String name;
         private final String value;
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/dc2a14e0/server/container/core/src/main/java/org/apache/james/server/core/MailImpl.java
----------------------------------------------------------------------
diff --git a/server/container/core/src/main/java/org/apache/james/server/core/MailImpl.java b/server/container/core/src/main/java/org/apache/james/server/core/MailImpl.java
index af9020a..c586643 100644
--- a/server/container/core/src/main/java/org/apache/james/server/core/MailImpl.java
+++ b/server/container/core/src/main/java/org/apache/james/server/core/MailImpl.java
@@ -493,6 +493,7 @@ public class MailImpl implements Disposable, Mail {
                 throw ode;
             }
         }
+        perRecipientSpecificHeaders = (PerRecipientHeaders) in.readObject();
     }
 
     /**
@@ -511,6 +512,7 @@ public class MailImpl implements Disposable, Mail {
         out.writeObject(remoteAddr);
         out.writeObject(lastUpdated);
         out.writeObject(attributes);
+        out.writeObject(perRecipientSpecificHeaders);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/dc2a14e0/server/data/data-file/src/test/java/org/apache/james/mailrepository/FileMailRepositoryTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-file/src/test/java/org/apache/james/mailrepository/FileMailRepositoryTest.java b/server/data/data-file/src/test/java/org/apache/james/mailrepository/FileMailRepositoryTest.java
index d9105d9..cdcb07a 100644
--- a/server/data/data-file/src/test/java/org/apache/james/mailrepository/FileMailRepositoryTest.java
+++ b/server/data/data-file/src/test/java/org/apache/james/mailrepository/FileMailRepositoryTest.java
@@ -19,14 +19,10 @@
 
 package org.apache.james.mailrepository;
 
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.jupiter.api.Assertions.assertAll;
-
 import org.apache.commons.configuration.DefaultConfigurationBuilder;
 import org.apache.james.filesystem.api.mock.MockFileSystem;
 import org.apache.james.mailrepository.api.MailRepository;
 import org.apache.james.mailrepository.file.FileMailRepository;
-import org.apache.mailet.Mail;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 
@@ -57,22 +53,4 @@ public class FileMailRepositoryTest implements MailRepositoryContract {
         return mailRepository;
     }
 
-    /**
-     * FileMailRepository doesn't store PerRecipientSpecificHeaders
-     */
-    @Override
-    public void checkMailEquality(Mail actual, Mail expected) {
-        assertAll(
-            () -> assertThat(actual.getMessage().getContent()).isEqualTo(expected.getMessage().getContent()),
-            () -> assertThat(actual.getMessageSize()).isEqualTo(expected.getMessageSize()),
-            () -> assertThat(actual.getName()).isEqualTo(expected.getName()),
-            () -> assertThat(actual.getState()).isEqualTo(expected.getState()),
-            () -> assertThat(actual.getAttribute(TEST_ATTRIBUTE)).isEqualTo(expected.getAttribute(TEST_ATTRIBUTE)),
-            () -> assertThat(actual.getErrorMessage()).isEqualTo(expected.getErrorMessage()),
-            () -> assertThat(actual.getRemoteHost()).isEqualTo(expected.getRemoteHost()),
-            () -> assertThat(actual.getRemoteAddr()).isEqualTo(expected.getRemoteAddr()),
-            () -> assertThat(actual.getLastUpdated()).isEqualTo(expected.getLastUpdated())
-        );
-    }
-
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org