summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShawn O. Pearce <sop@google.com>2010-08-20 18:17:05 -0700
committerShawn O. Pearce <sop@google.com>2010-08-20 18:17:05 -0700
commit3a89c2a278c431dc125612de373cefeb0514c352 (patch)
treee13d4421b9bf64d7d5fd4fb8badbd312dd0bbf33
parentcdf908c042982917b427310c77a6ac1d9f297bb0 (diff)
Display stars in dependency tables
When we load changes for the depends on or needed by dependency table, we failed to initialize the star for the currently logged in user. Initialize it. Bug: issue 651 Change-Id: Id019323707a6d3fa42d26660a80526c8cae91155 Signed-off-by: Shawn O. Pearce <sop@google.com>
-rw-r--r--gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/changedetail/ChangeDetailFactory.java17
1 files changed, 13 insertions, 4 deletions
diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/changedetail/ChangeDetailFactory.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/changedetail/ChangeDetailFactory.java
index 954f0a233b..14cb1e15ee 100644
--- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/changedetail/ChangeDetailFactory.java
+++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/changedetail/ChangeDetailFactory.java
@@ -223,8 +223,7 @@ public class ChangeDetailFactory extends Handler<ChangeDetail> {
for (final Change.Id a : ancestorOrder) {
final Change ac = m.get(a);
if (ac != null) {
- aic.want(ac.getOwner());
- dependsOn.add(new ChangeInfo(ac));
+ dependsOn.add(newChangeInfo(ac));
}
}
@@ -232,8 +231,7 @@ public class ChangeDetailFactory extends Handler<ChangeDetail> {
for (final Change.Id a : descendants) {
final Change ac = m.get(a);
if (ac != null) {
- aic.want(ac.getOwner());
- neededBy.add(new ChangeInfo(ac));
+ neededBy.add(newChangeInfo(ac));
}
}
@@ -246,4 +244,15 @@ public class ChangeDetailFactory extends Handler<ChangeDetail> {
detail.setDependsOn(dependsOn);
detail.setNeededBy(neededBy);
}
+
+ private ChangeInfo newChangeInfo(final Change ac) {
+ aic.want(ac.getOwner());
+ ChangeInfo ci = new ChangeInfo(ac);
+ ci.setStarred(isStarred(ac));
+ return ci;
+ }
+
+ private boolean isStarred(final Change ac) {
+ return control.getCurrentUser().getStarredChanges().contains(ac.getId());
+ }
}