PureRevert: make Java API call the endpoint rather than its implementation

Normally, a Java API should be a wrapper around the REST endpoint so
that we could keep their behavior consistent. Update this java API to
call its corresponding endpoint class rather than the implementation
class.

Change-Id: Ie5cb882a78b0ea70900db65a07341e8133bc04ce
This commit is contained in:
Changcheng Xiao 2018-07-05 15:03:39 +02:00
parent 1e5636aeae
commit 2aefbec0e0
2 changed files with 11 additions and 7 deletions

View File

@ -57,7 +57,6 @@ import com.google.gerrit.server.StarredChangesUtil.IllegalLabelException;
import com.google.gerrit.server.change.ChangeJson;
import com.google.gerrit.server.change.ChangeMessageResource;
import com.google.gerrit.server.change.ChangeResource;
import com.google.gerrit.server.change.PureRevert;
import com.google.gerrit.server.change.WorkInProgressOp;
import com.google.gerrit.server.restapi.change.Abandon;
import com.google.gerrit.server.restapi.change.ChangeIncludedIn;
@ -70,6 +69,7 @@ import com.google.gerrit.server.restapi.change.DeletePrivate;
import com.google.gerrit.server.restapi.change.GetAssignee;
import com.google.gerrit.server.restapi.change.GetHashtags;
import com.google.gerrit.server.restapi.change.GetPastAssignees;
import com.google.gerrit.server.restapi.change.GetPureRevert;
import com.google.gerrit.server.restapi.change.GetTopic;
import com.google.gerrit.server.restapi.change.Ignore;
import com.google.gerrit.server.restapi.change.Index;
@ -153,7 +153,7 @@ class ChangeApiImpl implements ChangeApi {
private final SetWorkInProgress setWip;
private final SetReadyForReview setReady;
private final PutMessage putMessage;
private final PureRevert pureRevert;
private final Provider<GetPureRevert> getPureRevertProvider;
private final StarredChangesUtil stars;
@Inject
@ -200,7 +200,7 @@ class ChangeApiImpl implements ChangeApi {
SetWorkInProgress setWip,
SetReadyForReview setReady,
PutMessage putMessage,
PureRevert pureRevert,
Provider<GetPureRevert> getPureRevertProvider,
StarredChangesUtil stars,
@Assisted ChangeResource change) {
this.changeApi = changeApi;
@ -245,7 +245,7 @@ class ChangeApiImpl implements ChangeApi {
this.setWip = setWip;
this.setReady = setReady;
this.putMessage = putMessage;
this.pureRevert = pureRevert;
this.getPureRevertProvider = getPureRevertProvider;
this.stars = stars;
this.change = change;
}
@ -714,7 +714,9 @@ class ChangeApiImpl implements ChangeApi {
@Override
public PureRevertInfo pureRevert(@Nullable String claimedOriginal) throws RestApiException {
try {
return pureRevert.get(change.getNotes(), claimedOriginal);
GetPureRevert getPureRevert = getPureRevertProvider.get();
getPureRevert.setClaimedOriginal(claimedOriginal);
return getPureRevert.apply(change);
} catch (Exception e) {
throw asRestApiException("Cannot compute pure revert", e);
}

View File

@ -30,13 +30,15 @@ import org.kohsuke.args4j.Option;
public class GetPureRevert implements RestReadView<ChangeResource> {
private final PureRevert pureRevert;
@Nullable private String claimedOriginal;
@Option(
name = "--claimed-original",
aliases = {"-o"},
usage = "SHA1 (40 digit hex) of the original commit")
@Nullable
private String claimedOriginal;
public void setClaimedOriginal(String claimedOriginal) {
this.claimedOriginal = claimedOriginal;
}
@Inject
GetPureRevert(PureRevert pureRevert) {