MAILBOX-354 Selected mailbox should expose the 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/b853de8a Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/b853de8a Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/b853de8a Branch: refs/heads/master Commit: b853de8a5be321ed3ffe986dd75161557eaaada3 Parents: f454266 Author: Benoit Tellier <btell...@linagora.com> Authored: Fri Nov 30 10:32:48 2018 +0700 Committer: Benoit Tellier <btell...@linagora.com> Committed: Tue Dec 4 15:47:32 2018 +0700 ---------------------------------------------------------------------- .../org/apache/james/imap/api/process/SelectedMailbox.java | 9 +++++++++ .../james/imap/processor/base/SelectedMailboxImpl.java | 8 ++++++++ 2 files changed, 17 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/b853de8a/protocols/imap/src/main/java/org/apache/james/imap/api/process/SelectedMailbox.java ---------------------------------------------------------------------- diff --git a/protocols/imap/src/main/java/org/apache/james/imap/api/process/SelectedMailbox.java b/protocols/imap/src/main/java/org/apache/james/imap/api/process/SelectedMailbox.java index 710eba5..4157de8 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/api/process/SelectedMailbox.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/api/process/SelectedMailbox.java @@ -21,9 +21,11 @@ package org.apache.james.imap.api.process; import java.util.Collection; import java.util.Optional; + import javax.mail.Flags; import org.apache.james.mailbox.MessageUid; +import org.apache.james.mailbox.model.MailboxId; import org.apache.james.mailbox.model.MailboxPath; /** @@ -90,6 +92,13 @@ public interface SelectedMailbox { MailboxPath getPath(); /** + * Return the mailboxId of the selected Mailbox. + * + * This is beneficial as the MailboxId is immutable. + */ + MailboxId getMailboxId(); + + /** * Is the given uid recent ? * * @return true if the given uid is recent http://git-wip-us.apache.org/repos/asf/james-project/blob/b853de8a/protocols/imap/src/main/java/org/apache/james/imap/processor/base/SelectedMailboxImpl.java ---------------------------------------------------------------------- diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/base/SelectedMailboxImpl.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/base/SelectedMailboxImpl.java index 0579c61..9402ba1 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/processor/base/SelectedMailboxImpl.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/base/SelectedMailboxImpl.java @@ -41,6 +41,7 @@ import org.apache.james.mailbox.MailboxSession; import org.apache.james.mailbox.MessageManager; import org.apache.james.mailbox.MessageUid; import org.apache.james.mailbox.exception.MailboxException; +import org.apache.james.mailbox.model.MailboxId; import org.apache.james.mailbox.model.MailboxPath; import org.apache.james.mailbox.model.SearchQuery; import org.apache.james.mailbox.model.UpdatedFlags; @@ -61,6 +62,7 @@ public class SelectedMailboxImpl implements SelectedMailbox, MailboxListener { private final MailboxManager mailboxManager; + private final MailboxId mailboxId; private MailboxPath path; private final ImapSession session; @@ -94,6 +96,7 @@ public class SelectedMailboxImpl implements SelectedMailbox, MailboxListener { mailboxManager.addListener(path, this, mailboxSession); MessageManager messageManager = mailboxManager.getMailbox(path, mailboxSession); + mailboxId = messageManager.getId(); applicableFlags = messageManager.getApplicableFlags(mailboxSession); uidMsnConverter.addAll(ImmutableList.copyOf( messageManager.search(new SearchQuery(SearchQuery.all()), mailboxSession))); @@ -162,6 +165,11 @@ public class SelectedMailboxImpl implements SelectedMailbox, MailboxListener { return path; } + @Override + public MailboxId getMailboxId() { + return mailboxId; + } + private void checkExpungedRecents() { for (MessageUid uid : expungedUids()) { removeRecent(uid); --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org