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 6c972a230e648a4c97a080f7b4efc2a2ac816e70
Author: Gautier DI FOLCO <gdifo...@linagora.com>
AuthorDate: Tue Jul 9 18:23:24 2019 +0200

    JAMES-2726 Fix Mail life cycle in MemoryMailRepository
---
 .../james/mailrepository/memory/MemoryMailRepository.java     | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git 
a/server/mailrepository/mailrepository-memory/src/main/java/org/apache/james/mailrepository/memory/MemoryMailRepository.java
 
b/server/mailrepository/mailrepository-memory/src/main/java/org/apache/james/mailrepository/memory/MemoryMailRepository.java
index 46ee7d7..3a945a4 100644
--- 
a/server/mailrepository/mailrepository-memory/src/main/java/org/apache/james/mailrepository/memory/MemoryMailRepository.java
+++ 
b/server/mailrepository/mailrepository-memory/src/main/java/org/apache/james/mailrepository/memory/MemoryMailRepository.java
@@ -22,6 +22,7 @@ package org.apache.james.mailrepository.memory;
 import java.util.Collection;
 import java.util.Iterator;
 import java.util.concurrent.ConcurrentHashMap;
+import javax.mail.MessagingException;
 
 import org.apache.james.mailrepository.api.MailKey;
 import org.apache.james.mailrepository.api.MailRepository;
@@ -38,7 +39,13 @@ public class MemoryMailRepository implements MailRepository {
     @Override
     public MailKey store(Mail mail) {
         MailKey mailKey = MailKey.forMail(mail);
-        mails.put(mailKey, mail);
+        try {
+            Mail newMail = mail.duplicate();
+            newMail.setName(mail.getName());
+            mails.put(mailKey, newMail);
+        } catch (MessagingException e) {
+            throw new RuntimeException(e);
+        }
         return mailKey;
     }
 
@@ -54,7 +61,7 @@ public class MemoryMailRepository implements MailRepository {
 
     @Override
     public void remove(Mail mail) {
-        mails.remove(MailKey.forMail(mail));
+        remove(MailKey.forMail(mail));
     }
 
     @Override


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

Reply via email to