ChangeScreen2: Display revision after posting review

Instead of displaying the current revision display the revision
the review was commenting on. This keeps the UI roughly static,
but updates the change history at the bottom of the screen.

Change-Id: I67453230fd60fb6e57feb86293cdd9c6526d6a32
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ReplyAction.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ReplyAction.java
index e97420c..d320df4 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ReplyAction.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ReplyAction.java
@@ -17,7 +17,7 @@
 import com.google.gerrit.client.changes.ChangeInfo;
 import com.google.gerrit.client.changes.ChangeInfo.LabelInfo;
 import com.google.gerrit.client.rpc.NativeMap;
-import com.google.gerrit.reviewdb.client.Change;
+import com.google.gerrit.reviewdb.client.PatchSet;
 import com.google.gwt.core.client.JsArrayString;
 import com.google.gwt.event.logical.shared.CloseEvent;
 import com.google.gwt.event.logical.shared.CloseHandler;
@@ -27,7 +27,7 @@
 import com.google.gwtexpui.user.client.PluginSafePopupPanel;
 
 class ReplyAction {
-  private final Change.Id changeId;
+  private final PatchSet.Id psId;
   private final String revision;
   private final ChangeScreen2.Style style;
   private final Widget replyButton;
@@ -43,7 +43,9 @@
       String revision,
       ChangeScreen2.Style style,
       Widget replyButton) {
-    this.changeId = info.legacy_id();
+    this.psId = new PatchSet.Id(
+        info.legacy_id(),
+        info.revisions().get(revision)._number());
     this.revision = revision;
     this.style = style;
     this.replyButton = replyButton;
@@ -63,7 +65,7 @@
 
     if (replyBox == null) {
       replyBox = new ReplyBox(
-          changeId,
+          psId,
           revision,
           allLabels,
           permittedLabels);
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ReplyBox.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ReplyBox.java
index 8b10641..f6492d45 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ReplyBox.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ReplyBox.java
@@ -23,7 +23,7 @@
 import com.google.gerrit.client.rpc.NativeMap;
 import com.google.gerrit.common.PageLinks;
 import com.google.gerrit.common.data.LabelValue;
-import com.google.gerrit.reviewdb.client.Change;
+import com.google.gerrit.reviewdb.client.PatchSet;
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.core.client.JsArrayString;
 import com.google.gwt.core.client.Scheduler;
@@ -64,7 +64,7 @@
     String label_value();
   }
 
-  private final Change.Id changeId;
+  private final PatchSet.Id psId;
   private final String revision;
   private ReviewInput in = ReviewInput.create();
   private List<Runnable> lgtm;
@@ -77,11 +77,11 @@
   @UiField CheckBox email;
 
   ReplyBox(
-      Change.Id changeId,
+      PatchSet.Id psId,
       String revision,
       NativeMap<LabelInfo> all,
       NativeMap<JsArrayString> permitted) {
-    this.changeId = changeId;
+    this.psId = psId;
     this.revision = revision;
     initWidget(uiBinder.createAndBindUi(this));
 
@@ -139,12 +139,14 @@
   @UiHandler("send")
   void onSend(ClickEvent e) {
     in.message(message.getText().trim());
-    ChangeApi.revision(changeId.get(), revision)
+    ChangeApi.revision(psId.getParentKey().get(), revision)
       .view("review")
       .post(in, new GerritCallback<ReviewInput>() {
         @Override
         public void onSuccess(ReviewInput result) {
-          Gerrit.display(PageLinks.toChange2(changeId));
+          Gerrit.display(PageLinks.toChange2(
+              psId.getParentKey(),
+              String.valueOf(psId.get())));
         }
       });
     hide();