diff options
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.java | 50 |
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); + } } |