MAILBOX-279: Mailbox interface supports setMailboxId and its refactor
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/ee3fe491 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/ee3fe491 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/ee3fe491 Branch: refs/heads/master Commit: ee3fe4919f224a5617141811107266125e13f247 Parents: ec03688 Author: Quynh Nguyen <[email protected]> Authored: Tue Nov 29 11:34:23 2016 +0700 Committer: Quynh Nguyen <[email protected]> Committed: Wed Dec 7 14:51:26 2016 +0700 ---------------------------------------------------------------------- .../james/mailbox/hbase/mail/model/HBaseMailbox.java | 6 ++++-- .../apache/james/mailbox/jcr/mail/model/JCRMailbox.java | 10 ++++++---- .../apache/james/mailbox/jpa/mail/model/JPAMailbox.java | 5 +++++ .../search/LuceneMailboxMessageSearchIndexTest.java | 6 +++++- .../apache/james/mailbox/store/mail/model/Mailbox.java | 2 +- .../mailbox/store/mail/model/impl/SimpleMailbox.java | 6 ++++-- .../james/mailbox/store/MailboxEventDispatcherTest.java | 5 +++++ 7 files changed, 30 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/ee3fe491/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/model/HBaseMailbox.java ---------------------------------------------------------------------- diff --git a/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/model/HBaseMailbox.java b/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/model/HBaseMailbox.java index de9a6ca..bbcea74 100644 --- a/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/model/HBaseMailbox.java +++ b/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/model/HBaseMailbox.java @@ -22,6 +22,7 @@ import java.util.UUID; import org.apache.james.mailbox.hbase.HBaseId; import org.apache.james.mailbox.model.MailboxACL; +import org.apache.james.mailbox.model.MailboxId; import org.apache.james.mailbox.model.MailboxPath; import org.apache.james.mailbox.model.SimpleMailboxACL; import org.apache.james.mailbox.store.mail.model.Mailbox; @@ -64,8 +65,9 @@ public class HBaseMailbox implements Mailbox { return mailboxId; } - public void setMailboxId(HBaseId mailboxId) { - this.mailboxId = mailboxId; + @Override + public void setMailboxId(MailboxId mailboxId) { + this.mailboxId = (HBaseId)mailboxId; } /* * (non-Javadoc) http://git-wip-us.apache.org/repos/asf/james-project/blob/ee3fe491/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/model/JCRMailbox.java ---------------------------------------------------------------------- diff --git a/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/model/JCRMailbox.java b/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/model/JCRMailbox.java index 18addc6..fdd8fd3 100644 --- a/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/model/JCRMailbox.java +++ b/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/model/JCRMailbox.java @@ -27,6 +27,7 @@ import org.apache.james.mailbox.jcr.JCRId; import org.apache.james.mailbox.jcr.JCRImapConstants; import org.apache.james.mailbox.jcr.Persistent; import org.apache.james.mailbox.model.MailboxACL; +import org.apache.james.mailbox.model.MailboxId; import org.apache.james.mailbox.model.MailboxPath; import org.apache.james.mailbox.model.SimpleMailboxACL; import org.apache.james.mailbox.store.mail.model.Mailbox; @@ -198,10 +199,7 @@ public class JCRMailbox implements Mailbox, JCRImapConstants, Persistent{ return true; } - /* - * (non-Javadoc) - * @see org.apache.james.mailbox.store.mail.model.Mailbox#getMailboxId() - */ + @Override public JCRId getMailboxId() { if (isPersistent()) { try { @@ -213,6 +211,10 @@ public class JCRMailbox implements Mailbox, JCRImapConstants, Persistent{ return null; } + @Override + public void setMailboxId(MailboxId mailboxId) { + + } /* * (non-Javadoc) * @see org.apache.james.mailbox.store.mail.model.Mailbox#getNamespace() http://git-wip-us.apache.org/repos/asf/james-project/blob/ee3fe491/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/JPAMailbox.java ---------------------------------------------------------------------- diff --git a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/JPAMailbox.java b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/JPAMailbox.java index 4129ba2..d45329f 100644 --- a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/JPAMailbox.java +++ b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/JPAMailbox.java @@ -29,6 +29,7 @@ import javax.persistence.Table; import org.apache.james.mailbox.jpa.JPAId; import org.apache.james.mailbox.model.MailboxACL; +import org.apache.james.mailbox.model.MailboxId; import org.apache.james.mailbox.model.MailboxPath; import org.apache.james.mailbox.model.SimpleMailboxACL; import org.apache.james.mailbox.store.mail.model.Mailbox; @@ -118,6 +119,10 @@ public class JPAMailbox implements Mailbox { return JPAId.of(mailboxId); } + @Override + public void setMailboxId(MailboxId mailboxId) { + this.mailboxId = ((JPAId)mailboxId).getRawId(); + } /** * @see org.apache.james.mailbox.store.mail.model.Mailbox#getName() */ http://git-wip-us.apache.org/repos/asf/james-project/blob/ee3fe491/mailbox/lucene/src/test/java/org/apache/james/mailbox/lucene/search/LuceneMailboxMessageSearchIndexTest.java ---------------------------------------------------------------------- diff --git a/mailbox/lucene/src/test/java/org/apache/james/mailbox/lucene/search/LuceneMailboxMessageSearchIndexTest.java b/mailbox/lucene/src/test/java/org/apache/james/mailbox/lucene/search/LuceneMailboxMessageSearchIndexTest.java index cc3e1b4..4515ba9 100644 --- a/mailbox/lucene/src/test/java/org/apache/james/mailbox/lucene/search/LuceneMailboxMessageSearchIndexTest.java +++ b/mailbox/lucene/src/test/java/org/apache/james/mailbox/lucene/search/LuceneMailboxMessageSearchIndexTest.java @@ -606,12 +606,16 @@ public class LuceneMailboxMessageSearchIndexTest { } private final class SimpleMailbox implements Mailbox { - private final TestId id; + private TestId id; public SimpleMailbox(long id) { this.id = TestId.of(id); } + public void setMailboxId(MailboxId id) { + this.id = (TestId)id; + } + public TestId getMailboxId() { return id; } http://git-wip-us.apache.org/repos/asf/james-project/blob/ee3fe491/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/Mailbox.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/Mailbox.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/Mailbox.java index e4c4092..1cc9f26 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/Mailbox.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/Mailbox.java @@ -25,7 +25,7 @@ import org.apache.james.mailbox.model.MailboxId; * Models long term mailbox data. */ public interface Mailbox { - + void setMailboxId(MailboxId id); /** * Gets the unique mailbox ID. * @return mailbox id http://git-wip-us.apache.org/repos/asf/james-project/blob/ee3fe491/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/SimpleMailbox.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/SimpleMailbox.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/SimpleMailbox.java index 686d6a7..b3316b6 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/SimpleMailbox.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/SimpleMailbox.java @@ -138,7 +138,9 @@ public class SimpleMailbox implements Mailbox { final int PRIME = 31; int result = 1; result = PRIME * result + namespace.hashCode(); - result = PRIME * result + user.hashCode(); + if (user != null) { + result = PRIME * result + user.hashCode(); + } result = PRIME * result + name.hashCode(); return result; } @@ -151,7 +153,7 @@ public class SimpleMailbox implements Mailbox { return namespace + ":" + user + ":" + name; } - + @Override public void setMailboxId(MailboxId id) { this.id = id; } http://git-wip-us.apache.org/repos/asf/james-project/blob/ee3fe491/mailbox/store/src/test/java/org/apache/james/mailbox/store/MailboxEventDispatcherTest.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/MailboxEventDispatcherTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/MailboxEventDispatcherTest.java index ad44ade..b7b6b35 100644 --- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/MailboxEventDispatcherTest.java +++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/MailboxEventDispatcherTest.java @@ -37,6 +37,7 @@ import org.apache.james.mailbox.MailboxSession; import org.apache.james.mailbox.MessageUid; import org.apache.james.mailbox.mock.MockMailboxSession; import org.apache.james.mailbox.model.MailboxACL; +import org.apache.james.mailbox.model.MailboxId; import org.apache.james.mailbox.model.MessageResult; import org.apache.james.mailbox.model.SimpleMailboxACL; import org.apache.james.mailbox.model.UpdatedFlags; @@ -113,6 +114,10 @@ public class MailboxEventDispatcherTest { public void setACL(MailboxACL acl) { } + @Override + public void setMailboxId(MailboxId id) { + } + }; @Before --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
