diff options
author | Shawn O. Pearce <sop@google.com> | 2010-08-20 18:17:05 -0700 |
---|---|---|
committer | Shawn O. Pearce <sop@google.com> | 2010-08-20 18:17:05 -0700 |
commit | 3a89c2a278c431dc125612de373cefeb0514c352 (patch) | |
tree | e13d4421b9bf64d7d5fd4fb8badbd312dd0bbf33 | |
parent | cdf908c042982917b427310c77a6ac1d9f297bb0 (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.java | 17 |
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()); + } } |