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;
|
package com.google.gerrit.client.reviewdb;
|
||||||
|
|
||||||
import com.google.gwtorm.client.Column;
|
import com.google.gwtorm.client.Column;
|
||||||
|
import com.google.gwtorm.client.CompoundKey;
|
||||||
|
|
||||||
import java.sql.Timestamp;
|
import java.sql.Timestamp;
|
||||||
|
|
||||||
/** Electronic acceptance of a {@link ContributorAgreement} by {@link Account} */
|
/** Electronic acceptance of a {@link ContributorAgreement} by {@link Account} */
|
||||||
public final class AccountAgreement {
|
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
|
@Column
|
||||||
protected Account.Id accountId;
|
protected Account.Id accountId;
|
||||||
|
|
||||||
@@ -37,19 +38,14 @@ public final class AccountAgreement {
|
|||||||
this.claId = cla;
|
this.claId = cla;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public Account.Id getParentKey() {
|
public Account.Id getParentKey() {
|
||||||
return accountId;
|
return accountId;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public com.google.gwtorm.client.Key<?>[] members() {
|
||||||
return accountId.hashCode() * 31 + claId.hashCode();
|
return new com.google.gwtorm.client.Key<?>[] {claId};
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean equals(final Object o) {
|
|
||||||
return o instanceof Key && ((Key) o).accountId.equals(accountId)
|
|
||||||
&& ((Key) o).claId.equals(claId);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -15,10 +15,11 @@
|
|||||||
package com.google.gerrit.client.reviewdb;
|
package com.google.gerrit.client.reviewdb;
|
||||||
|
|
||||||
import com.google.gwtorm.client.Column;
|
import com.google.gwtorm.client.Column;
|
||||||
|
import com.google.gwtorm.client.StringKey;
|
||||||
|
|
||||||
/** Association of an external account identifier to a local {@link Account}. */
|
/** Association of an external account identifier to a local {@link Account}. */
|
||||||
public final class AccountExternalId {
|
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
|
@Column
|
||||||
protected Account.Id accountId;
|
protected Account.Id accountId;
|
||||||
|
|
||||||
@@ -34,19 +35,14 @@ public final class AccountExternalId {
|
|||||||
externalId = e;
|
externalId = e;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public Account.Id getParentKey() {
|
public Account.Id getParentKey() {
|
||||||
return accountId;
|
return accountId;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public String get() {
|
||||||
return accountId.hashCode() * 31 + externalId.hashCode();
|
return externalId;
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean equals(final Object o) {
|
|
||||||
return o instanceof Key && ((Key) o).accountId.equals(accountId)
|
|
||||||
&& ((Key) o).externalId.equals(externalId);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -15,10 +15,11 @@
|
|||||||
package com.google.gerrit.client.reviewdb;
|
package com.google.gerrit.client.reviewdb;
|
||||||
|
|
||||||
import com.google.gwtorm.client.Column;
|
import com.google.gwtorm.client.Column;
|
||||||
|
import com.google.gwtorm.client.CompoundKey;
|
||||||
|
|
||||||
/** Membership of an {@link Account} in an {@link AccountGroup}. */
|
/** Membership of an {@link Account} in an {@link AccountGroup}. */
|
||||||
public final class AccountGroupMember {
|
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
|
@Column
|
||||||
protected Account.Id accountId;
|
protected Account.Id accountId;
|
||||||
|
|
||||||
@@ -35,19 +36,14 @@ public final class AccountGroupMember {
|
|||||||
groupId = g;
|
groupId = g;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public Account.Id getParentKey() {
|
public Account.Id getParentKey() {
|
||||||
return accountId;
|
return accountId;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public com.google.gwtorm.client.Key<?>[] members() {
|
||||||
return accountId.hashCode() * 31 + groupId.hashCode();
|
return new com.google.gwtorm.client.Key<?>[] {groupId};
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean equals(final Object o) {
|
|
||||||
return o instanceof Key && ((Key) o).accountId.equals(accountId)
|
|
||||||
&& ((Key) o).groupId.equals(groupId);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -15,11 +15,11 @@
|
|||||||
package com.google.gerrit.client.reviewdb;
|
package com.google.gerrit.client.reviewdb;
|
||||||
|
|
||||||
import com.google.gwtorm.client.Column;
|
import com.google.gwtorm.client.Column;
|
||||||
|
import com.google.gwtorm.client.ShortKey;
|
||||||
|
|
||||||
/** Valid value for a {@link ApprovalCategory}. */
|
/** Valid value for a {@link ApprovalCategory}. */
|
||||||
public final class ApprovalCategoryValue {
|
public final class ApprovalCategoryValue {
|
||||||
public static class Key implements
|
public static class Key extends ShortKey<ApprovalCategory.Id> {
|
||||||
com.google.gwtorm.client.Key<ApprovalCategory.Id> {
|
|
||||||
@Column
|
@Column
|
||||||
protected ApprovalCategory.Id categoryId;
|
protected ApprovalCategory.Id categoryId;
|
||||||
|
|
||||||
@@ -35,19 +35,14 @@ public final class ApprovalCategoryValue {
|
|||||||
value = v;
|
value = v;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ApprovalCategory.Id getParentKey() {
|
public ApprovalCategory.Id getParentKey() {
|
||||||
return categoryId;
|
return categoryId;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public short get() {
|
||||||
return categoryId.hashCode() * 31 + value;
|
return value;
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean equals(final Object o) {
|
|
||||||
return o instanceof Key && ((Key) o).categoryId.equals(categoryId)
|
|
||||||
&& ((Key) o).value == value;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -15,12 +15,13 @@
|
|||||||
package com.google.gerrit.client.reviewdb;
|
package com.google.gerrit.client.reviewdb;
|
||||||
|
|
||||||
import com.google.gwtorm.client.Column;
|
import com.google.gwtorm.client.Column;
|
||||||
|
import com.google.gwtorm.client.CompoundKey;
|
||||||
|
|
||||||
import java.sql.Timestamp;
|
import java.sql.Timestamp;
|
||||||
|
|
||||||
/** An approval (or negative approval) on a change. */
|
/** An approval (or negative approval) on a change. */
|
||||||
public final class ChangeApproval {
|
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
|
@Column
|
||||||
protected Change.Id changeId;
|
protected Change.Id changeId;
|
||||||
|
|
||||||
@@ -43,25 +44,14 @@ public final class ChangeApproval {
|
|||||||
this.categoryId = c;
|
this.categoryId = c;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public Change.Id getParentKey() {
|
public Change.Id getParentKey() {
|
||||||
return changeId;
|
return changeId;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public com.google.gwtorm.client.Key<?>[] members() {
|
||||||
int h = changeId.hashCode();
|
return new com.google.gwtorm.client.Key<?>[] {accountId, categoryId};
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
package com.google.gerrit.client.reviewdb;
|
package com.google.gerrit.client.reviewdb;
|
||||||
|
|
||||||
import com.google.gwtorm.client.Column;
|
import com.google.gwtorm.client.Column;
|
||||||
|
import com.google.gwtorm.client.KeyUtil;
|
||||||
|
|
||||||
/** Content of a single patch file */
|
/** Content of a single patch file */
|
||||||
public final class PatchContent {
|
public final class PatchContent {
|
||||||
@@ -37,7 +38,12 @@ public final class PatchContent {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean equals(final Object o) {
|
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() {
|
public com.google.gwtorm.client.Key<?> getParentKey() {
|
||||||
|
|||||||
@@ -15,11 +15,11 @@
|
|||||||
package com.google.gerrit.client.reviewdb;
|
package com.google.gerrit.client.reviewdb;
|
||||||
|
|
||||||
import com.google.gwtorm.client.Column;
|
import com.google.gwtorm.client.Column;
|
||||||
|
import com.google.gwtorm.client.CompoundKey;
|
||||||
|
|
||||||
/** Single {@link Account} as owner/manager of a project. */
|
/** Single {@link Account} as owner/manager of a project. */
|
||||||
public final class ProjectLeadAccount {
|
public final class ProjectLeadAccount {
|
||||||
public static class Key implements
|
public static class Key extends CompoundKey<Project.NameKey> {
|
||||||
com.google.gwtorm.client.Key<Project.NameKey> {
|
|
||||||
@Column
|
@Column
|
||||||
protected Project.NameKey projectName;
|
protected Project.NameKey projectName;
|
||||||
|
|
||||||
@@ -36,19 +36,14 @@ public final class ProjectLeadAccount {
|
|||||||
accountId = a;
|
accountId = a;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public Project.NameKey getParentKey() {
|
public Project.NameKey getParentKey() {
|
||||||
return projectName;
|
return projectName;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public com.google.gwtorm.client.Key<?>[] members() {
|
||||||
return projectName.hashCode() * 31 + accountId.hashCode();
|
return new com.google.gwtorm.client.Key<?>[] {accountId};
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean equals(final Object o) {
|
|
||||||
return o instanceof Key && ((Key) o).projectName.equals(projectName)
|
|
||||||
&& ((Key) o).accountId.equals(accountId);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -15,11 +15,11 @@
|
|||||||
package com.google.gerrit.client.reviewdb;
|
package com.google.gerrit.client.reviewdb;
|
||||||
|
|
||||||
import com.google.gwtorm.client.Column;
|
import com.google.gwtorm.client.Column;
|
||||||
|
import com.google.gwtorm.client.CompoundKey;
|
||||||
|
|
||||||
/** {@link AccountGroup} as owner/manager of a project. */
|
/** {@link AccountGroup} as owner/manager of a project. */
|
||||||
public final class ProjectLeadGroup {
|
public final class ProjectLeadGroup {
|
||||||
public static class Key implements
|
public static class Key extends CompoundKey<Project.NameKey> {
|
||||||
com.google.gwtorm.client.Key<Project.NameKey> {
|
|
||||||
@Column
|
@Column
|
||||||
protected Project.NameKey projectName;
|
protected Project.NameKey projectName;
|
||||||
|
|
||||||
@@ -36,19 +36,14 @@ public final class ProjectLeadGroup {
|
|||||||
groupId = a;
|
groupId = a;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public Project.NameKey getParentKey() {
|
public Project.NameKey getParentKey() {
|
||||||
return projectName;
|
return projectName;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public com.google.gwtorm.client.Key<?>[] members() {
|
||||||
return projectName.hashCode() * 31 + groupId.hashCode();
|
return new com.google.gwtorm.client.Key<?>[] {groupId};
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean equals(final Object o) {
|
|
||||||
return o instanceof Key && ((Key) o).projectName.equals(projectName)
|
|
||||||
&& ((Key) o).groupId.equals(groupId);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -15,10 +15,11 @@
|
|||||||
package com.google.gerrit.client.reviewdb;
|
package com.google.gerrit.client.reviewdb;
|
||||||
|
|
||||||
import com.google.gwtorm.client.Column;
|
import com.google.gwtorm.client.Column;
|
||||||
|
import com.google.gwtorm.client.CompoundKey;
|
||||||
|
|
||||||
/** A {@link Change} starred by an {@link Account}. */
|
/** A {@link Change} starred by an {@link Account}. */
|
||||||
public class StarredChange {
|
public class StarredChange {
|
||||||
public static class Key implements com.google.gwtorm.client.Key<Account.Id> {
|
public static class Key extends CompoundKey<Account.Id> {
|
||||||
@Column
|
@Column
|
||||||
protected Account.Id accountId;
|
protected Account.Id accountId;
|
||||||
|
|
||||||
@@ -35,19 +36,14 @@ public class StarredChange {
|
|||||||
changeId = g;
|
changeId = g;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public Account.Id getParentKey() {
|
public Account.Id getParentKey() {
|
||||||
return accountId;
|
return accountId;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public com.google.gwtorm.client.Key<?>[] members() {
|
||||||
return accountId.hashCode() * 31 + changeId.hashCode();
|
return new com.google.gwtorm.client.Key<?>[] {changeId};
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean equals(final Object o) {
|
|
||||||
return o instanceof Key && ((Key) o).accountId.equals(accountId)
|
|
||||||
&& ((Key) o).changeId.equals(changeId);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user