Use the new CompoundKey base class to simplify key implementations
Signed-off-by: Shawn O. Pearce <sop@google.com>
This commit is contained in:
@@ -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<Account.Id> {
|
||||
public static class Key extends CompoundKey<Account.Id> {
|
||||
@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};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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<Account.Id> {
|
||||
public static class Key extends StringKey<Account.Id> {
|
||||
@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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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<Account.Id> {
|
||||
public static class Key extends CompoundKey<Account.Id> {
|
||||
@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};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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<ApprovalCategory.Id> {
|
||||
public static class Key extends ShortKey<ApprovalCategory.Id> {
|
||||
@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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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<Change.Id> {
|
||||
public static class Key extends CompoundKey<Change.Id> {
|
||||
@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};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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<Project.NameKey> {
|
||||
public static class Key extends CompoundKey<Project.NameKey> {
|
||||
@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};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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<Project.NameKey> {
|
||||
public static class Key extends CompoundKey<Project.NameKey> {
|
||||
@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};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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<Account.Id> {
|
||||
public static class Key extends CompoundKey<Account.Id> {
|
||||
@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};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user