Merge "ChangeScreen2: Display 'No Related Changes' if there are none"
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/RelatedChanges.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/RelatedChanges.java
index c4c9e09..2b30ac3 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/RelatedChanges.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/RelatedChanges.java
@@ -97,6 +97,7 @@
@UiField Style style;
@UiField Element header;
+ @UiField Element none;
@UiField ScrollPanel scroll;
@UiField ProgressBar progress;
@UiField Element error;
@@ -144,10 +145,16 @@
}
}
- private void render(String revision, JsArray<ChangeAndCommit> graph) {
- DisplayCommand cmd = new DisplayCommand(revision, graph);
- if (cmd.execute()) {
- Scheduler.get().scheduleIncremental(cmd);
+ private void render(String revision, JsArray<ChangeAndCommit> list) {
+ if (0 < list.length()) {
+ DisplayCommand cmd = new DisplayCommand(revision, list);
+ if (cmd.execute()) {
+ Scheduler.get().scheduleIncremental(cmd);
+ }
+ } else {
+ progress.setVisible(false);
+ UIObject.setVisible(header, false);
+ UIObject.setVisible(none, true);
}
}
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/RelatedChanges.ui.xml b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/RelatedChanges.ui.xml
index 1fbaff8..0eaa2d8 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/RelatedChanges.ui.xml
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/RelatedChanges.ui.xml
@@ -37,5 +37,8 @@
<g:ScrollPanel ui:field='scroll' visible='false'/>
<x:ProgressBar ui:field='progress'/>
<div ui:field='error' aria-hidden='true' style='display: NONE'/>
+ <div ui:field='none' aria-hidden='true' style='display: NONE'>
+ <ui:msg>No Related Changes</ui:msg>
+ </div>
</g:HTMLPanel>
</ui:UiBinder>
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/GetRelated.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/GetRelated.java
index 7f519c9..9c69259 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/change/GetRelated.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/GetRelated.java
@@ -93,7 +93,7 @@
throws OrmException, IOException {
Map<Change.Id, Change> changes = allOpenChanges(rsrc);
Map<PatchSet.Id, PatchSet> patchSets = allPatchSets(changes.keySet());
- List<ChangeAndCommit> graph = children(rsrc, rw, changes, patchSets);
+ List<ChangeAndCommit> list = children(rsrc, rw, changes, patchSets);
Map<String, PatchSet> commits = Maps.newHashMap();
for (PatchSet p : patchSets.values()) {
@@ -116,9 +116,18 @@
for (RevCommit c; (c = rw.next()) != null;) {
PatchSet p = commits.get(c.name());
Change g = p != null ? changes.get(p.getId().getParentKey()) : null;
- graph.add(new ChangeAndCommit(g, p, c));
+ list.add(new ChangeAndCommit(g, p, c));
}
- return graph;
+
+ if (list.size() == 1) {
+ ChangeAndCommit r = list.get(0);
+ if (r._changeNumber != null && r._revisionNumber != null
+ && r._changeNumber == rsrc.getChange().getChangeId()
+ && r._revisionNumber == rsrc.getPatchSet().getPatchSetId()) {
+ return Collections.emptyList();
+ }
+ }
+ return list;
}
private Map<Change.Id, Change> allOpenChanges(RevisionResource rsrc)