diff --git a/Documentation/rest-api-changes.txt b/Documentation/rest-api-changes.txt index b287f6d847..6fd0ef20ac 100644 --- a/Documentation/rest-api-changes.txt +++ b/Documentation/rest-api-changes.txt @@ -4048,10 +4048,6 @@ The `EditInfo` entity contains information about a change edit. |`commit` ||The commit of change edit as link:#commit-info[CommitInfo] entity. |`baseRevision`||The revision of the patch set change edit is based on. -|`actions` || -Actions the caller might be able to perform on this change edit. The -information is a map of view name to link:#action-info[ActionInfo] -entities. |`fetch` || Information about how to fetch this patch set. The fetch information is provided as a map that maps the protocol name ("`git`", "`http`", diff --git a/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/common/EditInfo.java b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/common/EditInfo.java index 5b2fd78f0a..9dc92a804e 100644 --- a/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/common/EditInfo.java +++ b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/common/EditInfo.java @@ -19,7 +19,6 @@ import java.util.Map; public class EditInfo { public CommitInfo commit; public String baseRevision; - public Map actions; public Map fetch; public Map files; } diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ChangeScreen2.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ChangeScreen2.java index adfd8c0974..2ef12e3f9d 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ChangeScreen2.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ChangeScreen2.java @@ -496,23 +496,12 @@ public class ChangeScreen2 extends Screen { } if (rev.is_edit()) { - NativeMap actions = info.edit().has_actions() - ? info.edit().actions() - : NativeMap. create(); - actions.copyKeysIntoChildren("id"); - - if (actions.containsKey("publish")) { + if (isEditBasedOnCurrentPatchSet(info)) { publishEdit.setVisible(true); - publishEdit.setTitle(actions.get("publish").title()); - } - if (actions.containsKey("rebase")) { + } else { rebaseEdit.setVisible(true); - rebaseEdit.setTitle(actions.get("rebase").title()); - } - if (actions.containsKey("/")) { - deleteEdit.setVisible(true); - deleteEdit.setTitle(actions.get("/").title()); } + deleteEdit.setVisible(true); } } } @@ -528,6 +517,13 @@ public class ChangeScreen2 extends Screen { info.revisions().values()); } + private boolean isEditBasedOnCurrentPatchSet(ChangeInfo info) { + JsArray revList = info.revisions().values(); + RevisionInfo.sortRevisionInfoByNumber(revList); + int currentPatchSetOrEdit = revList.get(revList.length() - 1)._number(); + return currentPatchSetOrEdit == 0; + } + private void initEditMessageAction(ChangeInfo info, String revision) { RevisionInfo revisionInfo = info.revision(revision); NativeMap actions = revisionInfo.actions(); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/edit/ChangeEditJson.java b/gerrit-server/src/main/java/com/google/gerrit/server/edit/ChangeEditJson.java index 008a21794f..738d3093dd 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/edit/ChangeEditJson.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/edit/ChangeEditJson.java @@ -15,16 +15,12 @@ package com.google.gerrit.server.edit; import com.google.common.collect.Maps; -import com.google.gerrit.extensions.common.ActionInfo; import com.google.gerrit.extensions.common.CommitInfo; import com.google.gerrit.extensions.common.EditInfo; import com.google.gerrit.extensions.common.FetchInfo; import com.google.gerrit.extensions.config.DownloadCommand; import com.google.gerrit.extensions.config.DownloadScheme; import com.google.gerrit.extensions.registration.DynamicMap; -import com.google.gerrit.extensions.webui.PrivateInternals_UiActionDescription; -import com.google.gerrit.extensions.webui.UiAction; -import com.google.gerrit.reviewdb.client.PatchSet; import com.google.gerrit.server.CommonConverters; import com.google.gerrit.server.CurrentUser; import com.google.gerrit.server.change.ChangeJson; @@ -56,7 +52,6 @@ public class ChangeEditJson { EditInfo out = new EditInfo(); out.commit = fillCommit(edit.getEditCommit()); out.baseRevision = edit.getBasePatchSet().getRevision().get(); - out.actions = fillActions(edit); if (downloadCommands) { out.fetch = fillFetchMap(edit); } @@ -82,35 +77,6 @@ public class ChangeEditJson { return commit; } - private static Map fillActions(ChangeEdit edit) { - Map actions = Maps.newTreeMap(); - - UiAction.Description descr = new UiAction.Description(); - PrivateInternals_UiActionDescription.setId(descr, "/"); - PrivateInternals_UiActionDescription.setMethod(descr, "DELETE"); - descr.setTitle("Delete edit"); - actions.put(descr.getId(), new ActionInfo(descr)); - - // Only expose publish action when the edit is on top of current ps - PatchSet.Id current = edit.getChange().currentPatchSetId(); - PatchSet basePs = edit.getBasePatchSet(); - if (basePs.getId().equals(current)) { - descr = new UiAction.Description(); - PrivateInternals_UiActionDescription.setId(descr, "publish"); - PrivateInternals_UiActionDescription.setMethod(descr, "POST"); - descr.setTitle("Publish edit"); - actions.put(descr.getId(), new ActionInfo(descr)); - } else { - descr = new UiAction.Description(); - PrivateInternals_UiActionDescription.setId(descr, "rebase"); - PrivateInternals_UiActionDescription.setMethod(descr, "POST"); - descr.setTitle("Rebase edit"); - actions.put(descr.getId(), new ActionInfo(descr)); - } - - return actions; - } - private Map fillFetchMap(ChangeEdit edit) { Map r = Maps.newLinkedHashMap(); for (DynamicMap.Entry e : downloadSchemes) {