diff options
author | David Pursehouse <david.pursehouse@sonymobile.com> | 2013-08-29 18:19:18 +0900 |
---|---|---|
committer | David Pursehouse <david.pursehouse@sonymobile.com> | 2013-08-29 18:20:03 +0900 |
commit | 6a25f558dcde03c0ad13c196cce71b1a6bad8889 (patch) | |
tree | c559a36a577046911621e3b65464c17120b5023e | |
parent | 560beb5079df6fa4d14fa2dbd68566ce429f8c5b (diff) | |
parent | 4cc99757c07f792446f459fdd36fa0581f863244 (diff) |
Merge branch 'stable-2.6' into stable-2.7
* stable-2.6:
Fix: RepoCommandLink's text is wrong
fix: NoOp score not displayed for open changes
Change-Id: Ib7ba9c2030740422cbda5d95964ab6aab1e96cf2
-rw-r--r-- | gerrit-gwtui/src/main/java/com/google/gerrit/client/download/DownloadCommandLink.java | 2 | ||||
-rw-r--r-- | gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeJson.java | 61 |
2 files changed, 27 insertions, 36 deletions
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/download/DownloadCommandLink.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/download/DownloadCommandLink.java index c5c68db1b7..7a477fabab 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/download/DownloadCommandLink.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/download/DownloadCommandLink.java @@ -86,7 +86,7 @@ public abstract class DownloadCommandLink extends Anchor implements ClickHandler String projectName; String ref; public RepoCommandLink(String project, String ref) { - super(DownloadCommand.REPO_DOWNLOAD, "checkout"); + super(DownloadCommand.REPO_DOWNLOAD, "repo download"); this.projectName = project; this.ref = ref; } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeJson.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeJson.java index 80cdca6702..8c8ecfc694 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeJson.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeJson.java @@ -356,7 +356,13 @@ public class ChangeJson { continue; } if (standard) { - setRecommendedAndDisliked(cd, type, e.getValue()); + for (PatchSetApproval psa : cd.currentApprovals(db)) { + if (type.matches(psa)) { + short val = psa.getValue(); + Account.Id accountId = psa.getAccountId(); + setLabelScores(type, e.getValue(), val, accountId); + } + } } if (detailed) { setLabelValues(type, e.getValue()); @@ -400,36 +406,32 @@ public class ChangeJson { return labels; } - private void setRecommendedAndDisliked(ChangeData cd, LabelType type, - LabelInfo label) throws OrmException { + private void setLabelScores(LabelType type, + LabelInfo label, short score, Account.Id accountId) + throws OrmException { if (label.approved != null || label.rejected != null) { return; } if (type.getMin() == null || type.getMax() == null) { - // Unknown or misconfigured type can't have intermediate scores. - return; - } - - short min = type.getMin().getValue(); - short max = type.getMax().getValue(); - if (-1 <= min && max <= 1) { - // Types with a range of -1..+1 can't have intermediate scores. + // Can't set score for unknown or misconfigured type. return; } - for (PatchSetApproval psa : cd.currentApprovals(db)) { - short val = psa.getValue(); - if (val != 0 && min < val && val < max && type.matches(psa)) { - if (0 < val) { - label.recommended = accountLoader.get(psa.getAccountId()); - label.value = val != 1 ? val : null; - } else { - label.disliked = accountLoader.get(psa.getAccountId()); - label.value = val != -1 ? val : null; - } + if (score != 0) { + if (score == type.getMax().getValue()) { + label.approved = accountLoader.get(accountId); + } else if (score == type.getMin().getValue()) { + label.rejected = accountLoader.get(accountId); + } else if (score > 0) { + label.recommended = accountLoader.get(accountId); + label.value = score; + } else if (score < 0) { + label.disliked = accountLoader.get(accountId); + label.value = score; } } + return; } @@ -540,22 +542,11 @@ public class ChangeJson { } LabelInfo li = labels.get(type.getName()); - if (!standard || li.approved != null || li.rejected != null) { + if (!standard) { continue; } - if (val == type.getMax().getValue()) { - li.approved = accountLoader.get(accountId); - } else if (val == type.getMin().getValue() - // A merged change can't have been rejected. - && cd.getChange().getStatus() != Status.MERGED) { - li.rejected = accountLoader.get(accountId); - } else if (val > 0) { - li.recommended = accountLoader.get(accountId); - li.value = val; - } else if (val < 0) { - li.disliked = accountLoader.get(accountId); - li.value = val; - } + + setLabelScores(type, li, val, accountId); } } return labels; |