summaryrefslogtreecommitdiffstats
path: root/gerrit-common/src/main/java/com/google/gerrit/common/data/ApprovalDetail.java
diff options
context:
space:
mode:
Diffstat (limited to 'gerrit-common/src/main/java/com/google/gerrit/common/data/ApprovalDetail.java')
-rw-r--r--gerrit-common/src/main/java/com/google/gerrit/common/data/ApprovalDetail.java50
1 files changed, 39 insertions, 11 deletions
diff --git a/gerrit-common/src/main/java/com/google/gerrit/common/data/ApprovalDetail.java b/gerrit-common/src/main/java/com/google/gerrit/common/data/ApprovalDetail.java
index 98346932cd..3d438f2f2f 100644
--- a/gerrit-common/src/main/java/com/google/gerrit/common/data/ApprovalDetail.java
+++ b/gerrit-common/src/main/java/com/google/gerrit/common/data/ApprovalDetail.java
@@ -14,16 +14,16 @@
package com.google.gerrit.common.data;
-import com.google.gerrit.reviewdb.Account;
-import com.google.gerrit.reviewdb.ApprovalCategory;
-import com.google.gerrit.reviewdb.PatchSetApproval;
+import com.google.gerrit.reviewdb.client.Account;
+import com.google.gerrit.reviewdb.client.ApprovalCategory;
+import com.google.gerrit.reviewdb.client.PatchSetApproval;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Comparator;
-import java.util.HashMap;
+import java.util.HashSet;
import java.util.List;
-import java.util.Map;
+import java.util.Set;
public class ApprovalDetail {
public static final Comparator<ApprovalDetail> SORT =
@@ -43,6 +43,8 @@ public class ApprovalDetail {
protected List<PatchSetApproval> approvals;
protected boolean canRemove;
+ private transient Set<String> approved;
+ private transient Set<String> rejected;
private transient int hasNonZero;
private transient Timestamp sortOrder = EG_D;
@@ -66,13 +68,17 @@ public class ApprovalDetail {
canRemove = removeable;
}
- public Map<ApprovalCategory.Id, PatchSetApproval> getApprovalMap() {
- final HashMap<ApprovalCategory.Id, PatchSetApproval> r;
- r = new HashMap<ApprovalCategory.Id, PatchSetApproval>();
- for (final PatchSetApproval ca : approvals) {
- r.put(ca.getCategoryId(), ca);
+ public List<PatchSetApproval> getPatchSetApprovals() {
+ return approvals;
+ }
+
+ public PatchSetApproval getPatchSetApproval(ApprovalCategory.Id category) {
+ for (PatchSetApproval psa : approvals) {
+ if (psa.getCategoryId().equals(category)) {
+ return psa;
+ }
}
- return r;
+ return null;
}
public void sortFirst() {
@@ -91,4 +97,26 @@ public class ApprovalDetail {
hasNonZero = 1;
}
}
+
+ public void approved(String label) {
+ if (approved == null) {
+ approved = new HashSet<String>();
+ }
+ approved.add(label);
+ }
+
+ public void rejected(String label) {
+ if (rejected == null) {
+ rejected = new HashSet<String>();
+ }
+ rejected.add(label);
+ }
+
+ public boolean isApproved(String label) {
+ return approved != null && approved.contains(label);
+ }
+
+ public boolean isRejected(String label) {
+ return rejected != null && rejected.contains(label);
+ }
}