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