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]

Reply via email to