Repository: james-project
Updated Branches:
  refs/heads/master 9047b4bab -> 3aa1732b3


PROTOCOLS-117 Rework MailboxPath equals


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/3757e5e7
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/3757e5e7
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/3757e5e7

Branch: refs/heads/master
Commit: 3757e5e713722737a653b7624995939c77756c8b
Parents: 6a6e74c
Author: benwa <btell...@linagora.com>
Authored: Wed Nov 8 09:23:30 2017 +0700
Committer: Antoine Duprat <adup...@linagora.com>
Committed: Mon Nov 13 16:23:06 2017 +0100

----------------------------------------------------------------------
 .../apache/james/mailbox/model/MailboxPath.java | 52 +++++---------------
 .../james/mailbox/model/MailboxPathTest.java    |  9 ++++
 2 files changed, 22 insertions(+), 39 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/3757e5e7/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxPath.java
----------------------------------------------------------------------
diff --git 
a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxPath.java 
b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxPath.java
index 42de9a4..1f4f2f9 100644
--- a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxPath.java
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxPath.java
@@ -21,6 +21,7 @@ package org.apache.james.mailbox.model;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 import java.util.Optional;
 
 import org.apache.james.mailbox.MailboxSession;
@@ -135,50 +136,23 @@ public class MailboxPath {
         return asString();
     }
 
-    /*
-     * (non-Javadoc)
-     * 
-     * @see java.lang.Object#equals(java.lang.Object)
-     */
     @Override
-    public boolean equals(Object mailboxPath) {
-        if (this == mailboxPath)
-            return true;
-
-        if (!(mailboxPath instanceof MailboxPath))
-            return false;
-        MailboxPath mp = (MailboxPath) mailboxPath;
-        if (namespace == null) {
-            if (mp.getNamespace() != null)
-                return false;
-        } else if (!namespace.equals(mp.getNamespace()))
-            return false;
-        if (user == null) {
-            if (mp.getUser() != null)
-                return false;
-        } else if (!user.equals(mp.getUser()))
-            return false;
-        if (name == null) {
-            if (mp.getName() != null)
-                return false;
-        } else if (!name.equals(mp.getName()))
-            return false;
-        return true;
+    public final boolean equals(Object o) {
+        if (o instanceof MailboxPath) {
+            MailboxPath that = (MailboxPath) o;
+
+            return Objects.equals(this.namespace, that.namespace)
+                && Objects.equals(this.user, that.user)
+                && Objects.equals(this.name, that.name);
+        }
+        return false;
     }
 
     @Override
-    public int hashCode() {
-        final int PRIME = 31;
-        int result = 1;
-        if (getName() != null)
-            result = PRIME * result + getName().hashCode();
-        if (getUser() != null)
-            result = PRIME * result + getUser().hashCode();
-        if (getNamespace() != null)
-            result = PRIME * result + getNamespace().hashCode();
-        return result;
+    public final int hashCode() {
+        return Objects.hash(namespace, user, name);
     }
-    
+
     /**
      * Return the full name of the {@link MailboxPath}, which is constructed 
via the {@link #namespace} and {@link #name}
      * 

http://git-wip-us.apache.org/repos/asf/james-project/blob/3757e5e7/mailbox/api/src/test/java/org/apache/james/mailbox/model/MailboxPathTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/api/src/test/java/org/apache/james/mailbox/model/MailboxPathTest.java 
b/mailbox/api/src/test/java/org/apache/james/mailbox/model/MailboxPathTest.java
index d51608f..2761658 100644
--- 
a/mailbox/api/src/test/java/org/apache/james/mailbox/model/MailboxPathTest.java
+++ 
b/mailbox/api/src/test/java/org/apache/james/mailbox/model/MailboxPathTest.java
@@ -24,9 +24,18 @@ import static org.assertj.core.api.Assertions.assertThat;
 
 import org.junit.Test;
 
+import nl.jqno.equalsverifier.EqualsVerifier;
+
 public class MailboxPathTest {
 
     @Test
+    public void shouldMatchBeanContract() {
+        EqualsVerifier.forClass(MailboxPath.class)
+            .allFieldsShouldBeUsed()
+            .verify();
+    }
+
+    @Test
     public void getHierarchyLevelsShouldBeOrdered() {
         assertThat(MailboxPath.forUser("user", "inbox.folder.subfolder")
             .getHierarchyLevels('.'))


---------------------------------------------------------------------
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