Repository: james-project Updated Branches: refs/heads/master 188b6d19b -> 7882e36f5
MAILBOX-277 add MailboxManager.copy that takes MailboxId Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/3e06733c Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/3e06733c Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/3e06733c Branch: refs/heads/master Commit: 3e06733c9c1dc87c0f1d8cbe5f152bec7adc4de4 Parents: 188b6d1 Author: Matthieu Baechler <matthieu.baech...@linagora.com> Authored: Tue Oct 18 14:48:16 2016 +0200 Committer: Matthieu Baechler <matthieu.baech...@linagora.com> Committed: Tue Oct 25 09:50:37 2016 +0200 ---------------------------------------------------------------------- .../java/org/apache/james/mailbox/MailboxManager.java | 2 ++ .../james/mailbox/store/StoreMailboxManager.java | 14 ++++++++++++++ .../imap/processor/base/MailboxEventAnalyserTest.java | 6 +++++- .../jmap/FirstUserConnectionFilterThreadTest.java | 6 ++++++ 4 files changed, 27 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/3e06733c/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxManager.java ---------------------------------------------------------------------- diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxManager.java b/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxManager.java index 1b7afcd..6dc1335 100644 --- a/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxManager.java +++ b/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxManager.java @@ -198,6 +198,8 @@ public interface MailboxManager extends RequestAware, MailboxListenerSupport { */ List<MessageRange> copyMessages(MessageRange set, MailboxPath from, MailboxPath to, MailboxSession session) throws MailboxException; + List<MessageRange> copyMessages(MessageRange set, MailboxId from, MailboxId to, MailboxSession session) throws MailboxException; + /** * Move the given {@link MessageRange} from one Mailbox to the other. * http://git-wip-us.apache.org/repos/asf/james-project/blob/3e06733c/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java index ba073d2..9512849 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java @@ -578,6 +578,20 @@ public class StoreMailboxManager implements MailboxManager { final StoreMessageManager toMailbox = (StoreMessageManager) getMailbox(to, session); final StoreMessageManager fromMailbox = (StoreMessageManager) getMailbox(from, session); + return copyMessages(set, session, toMailbox, fromMailbox); + } + + @Override + public List<MessageRange> copyMessages(MessageRange set, MailboxId from, MailboxId to, final MailboxSession session) throws MailboxException { + final StoreMessageManager toMailbox = (StoreMessageManager) getMailbox(to, session); + final StoreMessageManager fromMailbox = (StoreMessageManager) getMailbox(from, session); + + return copyMessages(set, session, toMailbox, fromMailbox); + } + + + private List<MessageRange> copyMessages(MessageRange set, final MailboxSession session, + final StoreMessageManager toMailbox, final StoreMessageManager fromMailbox) throws MailboxException { return copyBatcher.batchMessages(set, new MessageBatcher.BatchedOperation() { public List<MessageRange> execute(MessageRange messageRange) throws MailboxException { return fromMailbox.copyTo(messageRange, toMailbox, session); http://git-wip-us.apache.org/repos/asf/james-project/blob/3e06733c/protocols/imap/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java ---------------------------------------------------------------------- diff --git a/protocols/imap/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java b/protocols/imap/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java index 48aa27b..6b145d4 100644 --- a/protocols/imap/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java +++ b/protocols/imap/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java @@ -369,8 +369,12 @@ public class MailboxEventAnalyserTest { public List<MessageRange> copyMessages(MessageRange set, MailboxPath from, MailboxPath to, MailboxSession session) throws MailboxException { throw new UnsupportedOperationException("Not implemented"); - } + + public java.util.List<MessageRange> copyMessages(MessageRange set, MailboxId from, MailboxId to, MailboxSession session) throws MailboxException { + throw new UnsupportedOperationException("Not implemented"); + }; + public List<MessageRange> moveMessages(MessageRange set, MailboxPath from, MailboxPath to, MailboxSession session) throws MailboxException { throw new UnsupportedOperationException("Not implemented"); http://git-wip-us.apache.org/repos/asf/james-project/blob/3e06733c/server/protocols/jmap/src/test/java/org/apache/james/jmap/FirstUserConnectionFilterThreadTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/FirstUserConnectionFilterThreadTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/FirstUserConnectionFilterThreadTest.java index f1e00d9..e14ad21 100644 --- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/FirstUserConnectionFilterThreadTest.java +++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/FirstUserConnectionFilterThreadTest.java @@ -159,6 +159,12 @@ public class FirstUserConnectionFilterThreadTest { } @Override + public List<MessageRange> copyMessages(MessageRange set, MailboxId from, MailboxId to, MailboxSession session) + throws MailboxException { + return null; + } + + @Override public List<MessageRange> moveMessages(MessageRange set, MailboxPath from, MailboxPath to, MailboxSession session) throws MailboxException { return null; } --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org