diff --git a/appjar/src/main/java/com/google/gerrit/client/reviewdb/AccountAgreement.java b/appjar/src/main/java/com/google/gerrit/client/reviewdb/AccountAgreement.java index 26bfa834c4..62b1bafb95 100644 --- a/appjar/src/main/java/com/google/gerrit/client/reviewdb/AccountAgreement.java +++ b/appjar/src/main/java/com/google/gerrit/client/reviewdb/AccountAgreement.java @@ -15,12 +15,13 @@ package com.google.gerrit.client.reviewdb; import com.google.gwtorm.client.Column; +import com.google.gwtorm.client.CompoundKey; import java.sql.Timestamp; /** Electronic acceptance of a {@link ContributorAgreement} by {@link Account} */ public final class AccountAgreement { - public static class Key implements com.google.gwtorm.client.Key { + public static class Key extends CompoundKey { @Column protected Account.Id accountId; @@ -37,19 +38,14 @@ public final class AccountAgreement { this.claId = cla; } + @Override public Account.Id getParentKey() { return accountId; } @Override - public int hashCode() { - return accountId.hashCode() * 31 + claId.hashCode(); - } - - @Override - public boolean equals(final Object o) { - return o instanceof Key && ((Key) o).accountId.equals(accountId) - && ((Key) o).claId.equals(claId); + public com.google.gwtorm.client.Key[] members() { + return new com.google.gwtorm.client.Key[] {claId}; } } diff --git a/appjar/src/main/java/com/google/gerrit/client/reviewdb/AccountExternalId.java b/appjar/src/main/java/com/google/gerrit/client/reviewdb/AccountExternalId.java index bfc072381e..6e2be21e2c 100644 --- a/appjar/src/main/java/com/google/gerrit/client/reviewdb/AccountExternalId.java +++ b/appjar/src/main/java/com/google/gerrit/client/reviewdb/AccountExternalId.java @@ -15,10 +15,11 @@ package com.google.gerrit.client.reviewdb; import com.google.gwtorm.client.Column; +import com.google.gwtorm.client.StringKey; /** Association of an external account identifier to a local {@link Account}. */ public final class AccountExternalId { - public static class Key implements com.google.gwtorm.client.Key { + public static class Key extends StringKey { @Column protected Account.Id accountId; @@ -34,19 +35,14 @@ public final class AccountExternalId { externalId = e; } + @Override public Account.Id getParentKey() { return accountId; } @Override - public int hashCode() { - return accountId.hashCode() * 31 + externalId.hashCode(); - } - - @Override - public boolean equals(final Object o) { - return o instanceof Key && ((Key) o).accountId.equals(accountId) - && ((Key) o).externalId.equals(externalId); + public String get() { + return externalId; } } diff --git a/appjar/src/main/java/com/google/gerrit/client/reviewdb/AccountGroupMember.java b/appjar/src/main/java/com/google/gerrit/client/reviewdb/AccountGroupMember.java index e9c1c13d0f..78ccc2ca2f 100644 --- a/appjar/src/main/java/com/google/gerrit/client/reviewdb/AccountGroupMember.java +++ b/appjar/src/main/java/com/google/gerrit/client/reviewdb/AccountGroupMember.java @@ -15,10 +15,11 @@ package com.google.gerrit.client.reviewdb; import com.google.gwtorm.client.Column; +import com.google.gwtorm.client.CompoundKey; /** Membership of an {@link Account} in an {@link AccountGroup}. */ public final class AccountGroupMember { - public static class Key implements com.google.gwtorm.client.Key { + public static class Key extends CompoundKey { @Column protected Account.Id accountId; @@ -35,19 +36,14 @@ public final class AccountGroupMember { groupId = g; } + @Override public Account.Id getParentKey() { return accountId; } @Override - public int hashCode() { - return accountId.hashCode() * 31 + groupId.hashCode(); - } - - @Override - public boolean equals(final Object o) { - return o instanceof Key && ((Key) o).accountId.equals(accountId) - && ((Key) o).groupId.equals(groupId); + public com.google.gwtorm.client.Key[] members() { + return new com.google.gwtorm.client.Key[] {groupId}; } } diff --git a/appjar/src/main/java/com/google/gerrit/client/reviewdb/ApprovalCategoryValue.java b/appjar/src/main/java/com/google/gerrit/client/reviewdb/ApprovalCategoryValue.java index 798963d623..c99ccdb3b9 100644 --- a/appjar/src/main/java/com/google/gerrit/client/reviewdb/ApprovalCategoryValue.java +++ b/appjar/src/main/java/com/google/gerrit/client/reviewdb/ApprovalCategoryValue.java @@ -15,11 +15,11 @@ package com.google.gerrit.client.reviewdb; import com.google.gwtorm.client.Column; +import com.google.gwtorm.client.ShortKey; /** Valid value for a {@link ApprovalCategory}. */ public final class ApprovalCategoryValue { - public static class Key implements - com.google.gwtorm.client.Key { + public static class Key extends ShortKey { @Column protected ApprovalCategory.Id categoryId; @@ -35,19 +35,14 @@ public final class ApprovalCategoryValue { value = v; } + @Override public ApprovalCategory.Id getParentKey() { return categoryId; } @Override - public int hashCode() { - return categoryId.hashCode() * 31 + value; - } - - @Override - public boolean equals(final Object o) { - return o instanceof Key && ((Key) o).categoryId.equals(categoryId) - && ((Key) o).value == value; + public short get() { + return value; } } diff --git a/appjar/src/main/java/com/google/gerrit/client/reviewdb/ChangeApproval.java b/appjar/src/main/java/com/google/gerrit/client/reviewdb/ChangeApproval.java index 57f91f2903..c7a0a26df9 100644 --- a/appjar/src/main/java/com/google/gerrit/client/reviewdb/ChangeApproval.java +++ b/appjar/src/main/java/com/google/gerrit/client/reviewdb/ChangeApproval.java @@ -15,12 +15,13 @@ package com.google.gerrit.client.reviewdb; import com.google.gwtorm.client.Column; +import com.google.gwtorm.client.CompoundKey; import java.sql.Timestamp; /** An approval (or negative approval) on a change. */ public final class ChangeApproval { - public static class Key implements com.google.gwtorm.client.Key { + public static class Key extends CompoundKey { @Column protected Change.Id changeId; @@ -43,25 +44,14 @@ public final class ChangeApproval { this.categoryId = c; } + @Override public Change.Id getParentKey() { return changeId; } @Override - public int hashCode() { - int h = changeId.hashCode(); - h *= 31; - h += accountId.hashCode(); - h *= 31; - h += categoryId.hashCode(); - return h; - } - - @Override - public boolean equals(final Object o) { - return o instanceof Key && ((Key) o).changeId.equals(changeId) - && ((Key) o).accountId.equals(accountId) - && ((Key) o).categoryId.equals(categoryId); + public com.google.gwtorm.client.Key[] members() { + return new com.google.gwtorm.client.Key[] {accountId, categoryId}; } } diff --git a/appjar/src/main/java/com/google/gerrit/client/reviewdb/PatchContent.java b/appjar/src/main/java/com/google/gerrit/client/reviewdb/PatchContent.java index 85e6604e67..2c0309ea9a 100644 --- a/appjar/src/main/java/com/google/gerrit/client/reviewdb/PatchContent.java +++ b/appjar/src/main/java/com/google/gerrit/client/reviewdb/PatchContent.java @@ -15,6 +15,7 @@ package com.google.gerrit.client.reviewdb; import com.google.gwtorm.client.Column; +import com.google.gwtorm.client.KeyUtil; /** Content of a single patch file */ public final class PatchContent { @@ -37,7 +38,12 @@ public final class PatchContent { @Override public boolean equals(final Object o) { - return o instanceof Key && sha1.equals(((Key) o).sha1); + return getClass() == o.getClass() && sha1.equals(((Key) o).sha1); + } + + @Override + public String toString() { + return KeyUtil.encode(sha1); } public com.google.gwtorm.client.Key getParentKey() { diff --git a/appjar/src/main/java/com/google/gerrit/client/reviewdb/ProjectLeadAccount.java b/appjar/src/main/java/com/google/gerrit/client/reviewdb/ProjectLeadAccount.java index 418130d492..52df87c628 100644 --- a/appjar/src/main/java/com/google/gerrit/client/reviewdb/ProjectLeadAccount.java +++ b/appjar/src/main/java/com/google/gerrit/client/reviewdb/ProjectLeadAccount.java @@ -15,11 +15,11 @@ package com.google.gerrit.client.reviewdb; import com.google.gwtorm.client.Column; +import com.google.gwtorm.client.CompoundKey; /** Single {@link Account} as owner/manager of a project. */ public final class ProjectLeadAccount { - public static class Key implements - com.google.gwtorm.client.Key { + public static class Key extends CompoundKey { @Column protected Project.NameKey projectName; @@ -36,19 +36,14 @@ public final class ProjectLeadAccount { accountId = a; } + @Override public Project.NameKey getParentKey() { return projectName; } @Override - public int hashCode() { - return projectName.hashCode() * 31 + accountId.hashCode(); - } - - @Override - public boolean equals(final Object o) { - return o instanceof Key && ((Key) o).projectName.equals(projectName) - && ((Key) o).accountId.equals(accountId); + public com.google.gwtorm.client.Key[] members() { + return new com.google.gwtorm.client.Key[] {accountId}; } } diff --git a/appjar/src/main/java/com/google/gerrit/client/reviewdb/ProjectLeadGroup.java b/appjar/src/main/java/com/google/gerrit/client/reviewdb/ProjectLeadGroup.java index 379ef618fe..85ed8fc77c 100644 --- a/appjar/src/main/java/com/google/gerrit/client/reviewdb/ProjectLeadGroup.java +++ b/appjar/src/main/java/com/google/gerrit/client/reviewdb/ProjectLeadGroup.java @@ -15,11 +15,11 @@ package com.google.gerrit.client.reviewdb; import com.google.gwtorm.client.Column; +import com.google.gwtorm.client.CompoundKey; /** {@link AccountGroup} as owner/manager of a project. */ public final class ProjectLeadGroup { - public static class Key implements - com.google.gwtorm.client.Key { + public static class Key extends CompoundKey { @Column protected Project.NameKey projectName; @@ -36,19 +36,14 @@ public final class ProjectLeadGroup { groupId = a; } + @Override public Project.NameKey getParentKey() { return projectName; } @Override - public int hashCode() { - return projectName.hashCode() * 31 + groupId.hashCode(); - } - - @Override - public boolean equals(final Object o) { - return o instanceof Key && ((Key) o).projectName.equals(projectName) - && ((Key) o).groupId.equals(groupId); + public com.google.gwtorm.client.Key[] members() { + return new com.google.gwtorm.client.Key[] {groupId}; } } diff --git a/appjar/src/main/java/com/google/gerrit/client/reviewdb/StarredChange.java b/appjar/src/main/java/com/google/gerrit/client/reviewdb/StarredChange.java index 3bda3532fa..d10b74f6f0 100644 --- a/appjar/src/main/java/com/google/gerrit/client/reviewdb/StarredChange.java +++ b/appjar/src/main/java/com/google/gerrit/client/reviewdb/StarredChange.java @@ -15,10 +15,11 @@ package com.google.gerrit.client.reviewdb; import com.google.gwtorm.client.Column; +import com.google.gwtorm.client.CompoundKey; /** A {@link Change} starred by an {@link Account}. */ public class StarredChange { - public static class Key implements com.google.gwtorm.client.Key { + public static class Key extends CompoundKey { @Column protected Account.Id accountId; @@ -35,19 +36,14 @@ public class StarredChange { changeId = g; } + @Override public Account.Id getParentKey() { return accountId; } @Override - public int hashCode() { - return accountId.hashCode() * 31 + changeId.hashCode(); - } - - @Override - public boolean equals(final Object o) { - return o instanceof Key && ((Key) o).accountId.equals(accountId) - && ((Key) o).changeId.equals(changeId); + public com.google.gwtorm.client.Key[] members() { + return new com.google.gwtorm.client.Key[] {changeId}; } }