summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Pursehouse <david.pursehouse@sonymobile.com>2013-08-29 18:19:18 +0900
committerDavid Pursehouse <david.pursehouse@sonymobile.com>2013-08-29 18:20:03 +0900
commit6a25f558dcde03c0ad13c196cce71b1a6bad8889 (patch)
treec559a36a577046911621e3b65464c17120b5023e
parent560beb5079df6fa4d14fa2dbd68566ce429f8c5b (diff)
parent4cc99757c07f792446f459fdd36fa0581f863244 (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.java2
-rw-r--r--gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeJson.java61
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;