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