summaryrefslogtreecommitdiffstats
path: root/gerrit-server/src/main/java/com/google/gerrit/server/api/changes/ChangeEditApiImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'gerrit-server/src/main/java/com/google/gerrit/server/api/changes/ChangeEditApiImpl.java')
-rw-r--r--gerrit-server/src/main/java/com/google/gerrit/server/api/changes/ChangeEditApiImpl.java247
1 files changed, 0 insertions, 247 deletions
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/api/changes/ChangeEditApiImpl.java b/gerrit-server/src/main/java/com/google/gerrit/server/api/changes/ChangeEditApiImpl.java
deleted file mode 100644
index 3ee7c7658d..0000000000
--- a/gerrit-server/src/main/java/com/google/gerrit/server/api/changes/ChangeEditApiImpl.java
+++ /dev/null
@@ -1,247 +0,0 @@
-// Copyright (C) 2017 The Android Open Source Project
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package com.google.gerrit.server.api.changes;
-
-import static com.google.gerrit.server.api.ApiUtil.asRestApiException;
-
-import com.google.gerrit.extensions.api.changes.ChangeEditApi;
-import com.google.gerrit.extensions.api.changes.PublishChangeEditInput;
-import com.google.gerrit.extensions.client.ChangeEditDetailOption;
-import com.google.gerrit.extensions.common.EditInfo;
-import com.google.gerrit.extensions.restapi.AuthException;
-import com.google.gerrit.extensions.restapi.BinaryResult;
-import com.google.gerrit.extensions.restapi.IdString;
-import com.google.gerrit.extensions.restapi.RawInput;
-import com.google.gerrit.extensions.restapi.ResourceNotFoundException;
-import com.google.gerrit.extensions.restapi.Response;
-import com.google.gerrit.extensions.restapi.RestApiException;
-import com.google.gerrit.server.change.ChangeEditResource;
-import com.google.gerrit.server.change.ChangeEdits;
-import com.google.gerrit.server.change.ChangeResource;
-import com.google.gerrit.server.change.DeleteChangeEdit;
-import com.google.gerrit.server.change.PublishChangeEdit;
-import com.google.gerrit.server.change.RebaseChangeEdit;
-import com.google.gwtorm.server.OrmException;
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-import com.google.inject.assistedinject.Assisted;
-import java.io.IOException;
-import java.util.Optional;
-
-public class ChangeEditApiImpl implements ChangeEditApi {
- interface Factory {
- ChangeEditApiImpl create(ChangeResource changeResource);
- }
-
- private final Provider<ChangeEdits.Detail> editDetailProvider;
- private final ChangeEdits.Post changeEditsPost;
- private final DeleteChangeEdit deleteChangeEdit;
- private final RebaseChangeEdit.Rebase rebaseChangeEdit;
- private final PublishChangeEdit.Publish publishChangeEdit;
- private final Provider<ChangeEdits.Get> changeEditsGetProvider;
- private final ChangeEdits.Put changeEditsPut;
- private final ChangeEdits.DeleteContent changeEditDeleteContent;
- private final Provider<ChangeEdits.GetMessage> getChangeEditCommitMessageProvider;
- private final ChangeEdits.EditMessage modifyChangeEditCommitMessage;
- private final ChangeEdits changeEdits;
- private final ChangeResource changeResource;
-
- @Inject
- public ChangeEditApiImpl(
- Provider<ChangeEdits.Detail> editDetailProvider,
- ChangeEdits.Post changeEditsPost,
- DeleteChangeEdit deleteChangeEdit,
- RebaseChangeEdit.Rebase rebaseChangeEdit,
- PublishChangeEdit.Publish publishChangeEdit,
- Provider<ChangeEdits.Get> changeEditsGetProvider,
- ChangeEdits.Put changeEditsPut,
- ChangeEdits.DeleteContent changeEditDeleteContent,
- Provider<ChangeEdits.GetMessage> getChangeEditCommitMessageProvider,
- ChangeEdits.EditMessage modifyChangeEditCommitMessage,
- ChangeEdits changeEdits,
- @Assisted ChangeResource changeResource) {
- this.editDetailProvider = editDetailProvider;
- this.changeEditsPost = changeEditsPost;
- this.deleteChangeEdit = deleteChangeEdit;
- this.rebaseChangeEdit = rebaseChangeEdit;
- this.publishChangeEdit = publishChangeEdit;
- this.changeEditsGetProvider = changeEditsGetProvider;
- this.changeEditsPut = changeEditsPut;
- this.changeEditDeleteContent = changeEditDeleteContent;
- this.getChangeEditCommitMessageProvider = getChangeEditCommitMessageProvider;
- this.modifyChangeEditCommitMessage = modifyChangeEditCommitMessage;
- this.changeEdits = changeEdits;
- this.changeResource = changeResource;
- }
-
- @Override
- public ChangeEditDetailRequest detail() throws RestApiException {
- try {
- return new ChangeEditDetailRequest() {
- @Override
- public Optional<EditInfo> get() throws RestApiException {
- return ChangeEditApiImpl.this.get(this);
- }
- };
- } catch (Exception e) {
- throw asRestApiException("Cannot retrieve change edit", e);
- }
- }
-
- private Optional<EditInfo> get(ChangeEditDetailRequest r) throws RestApiException {
- try {
- ChangeEdits.Detail editDetail = editDetailProvider.get();
- editDetail.setBase(r.getBase());
- editDetail.setList(r.options().contains(ChangeEditDetailOption.LIST_FILES));
- editDetail.setDownloadCommands(
- r.options().contains(ChangeEditDetailOption.DOWNLOAD_COMMANDS));
- Response<EditInfo> edit = editDetail.apply(changeResource);
- return edit.isNone() ? Optional.empty() : Optional.of(edit.value());
- } catch (Exception e) {
- throw asRestApiException("Cannot retrieve change edit", e);
- }
- }
-
- @Override
- public Optional<EditInfo> get() throws RestApiException {
- try {
- Response<EditInfo> edit = editDetailProvider.get().apply(changeResource);
- return edit.isNone() ? Optional.empty() : Optional.of(edit.value());
- } catch (Exception e) {
- throw asRestApiException("Cannot retrieve change edit", e);
- }
- }
-
- @Override
- public void create() throws RestApiException {
- try {
- changeEditsPost.apply(changeResource, null);
- } catch (Exception e) {
- throw asRestApiException("Cannot create change edit", e);
- }
- }
-
- @Override
- public void delete() throws RestApiException {
- try {
- deleteChangeEdit.apply(changeResource, new DeleteChangeEdit.Input());
- } catch (Exception e) {
- throw asRestApiException("Cannot delete change edit", e);
- }
- }
-
- @Override
- public void rebase() throws RestApiException {
- try {
- rebaseChangeEdit.apply(changeResource, null);
- } catch (Exception e) {
- throw asRestApiException("Cannot rebase change edit", e);
- }
- }
-
- @Override
- public void publish() throws RestApiException {
- publish(null);
- }
-
- @Override
- public void publish(PublishChangeEditInput publishChangeEditInput) throws RestApiException {
- try {
- publishChangeEdit.apply(changeResource, publishChangeEditInput);
- } catch (Exception e) {
- throw asRestApiException("Cannot publish change edit", e);
- }
- }
-
- @Override
- public Optional<BinaryResult> getFile(String filePath) throws RestApiException {
- try {
- ChangeEditResource changeEditResource = getChangeEditResource(filePath);
- Response<BinaryResult> fileResponse = changeEditsGetProvider.get().apply(changeEditResource);
- return fileResponse.isNone() ? Optional.empty() : Optional.of(fileResponse.value());
- } catch (Exception e) {
- throw asRestApiException("Cannot retrieve file of change edit", e);
- }
- }
-
- @Override
- public void renameFile(String oldFilePath, String newFilePath) throws RestApiException {
- try {
- ChangeEdits.Post.Input renameInput = new ChangeEdits.Post.Input();
- renameInput.oldPath = oldFilePath;
- renameInput.newPath = newFilePath;
- changeEditsPost.apply(changeResource, renameInput);
- } catch (Exception e) {
- throw asRestApiException("Cannot rename file of change edit", e);
- }
- }
-
- @Override
- public void restoreFile(String filePath) throws RestApiException {
- try {
- ChangeEdits.Post.Input restoreInput = new ChangeEdits.Post.Input();
- restoreInput.restorePath = filePath;
- changeEditsPost.apply(changeResource, restoreInput);
- } catch (Exception e) {
- throw asRestApiException("Cannot restore file of change edit", e);
- }
- }
-
- @Override
- public void modifyFile(String filePath, RawInput newContent) throws RestApiException {
- try {
- changeEditsPut.apply(changeResource, filePath, newContent);
- } catch (Exception e) {
- throw asRestApiException("Cannot modify file of change edit", e);
- }
- }
-
- @Override
- public void deleteFile(String filePath) throws RestApiException {
- try {
- changeEditDeleteContent.apply(changeResource, filePath);
- } catch (Exception e) {
- throw asRestApiException("Cannot delete file of change edit", e);
- }
- }
-
- @Override
- public String getCommitMessage() throws RestApiException {
- try {
- try (BinaryResult binaryResult =
- getChangeEditCommitMessageProvider.get().apply(changeResource)) {
- return binaryResult.asString();
- }
- } catch (Exception e) {
- throw asRestApiException("Cannot get commit message of change edit", e);
- }
- }
-
- @Override
- public void modifyCommitMessage(String newCommitMessage) throws RestApiException {
- ChangeEdits.EditMessage.Input input = new ChangeEdits.EditMessage.Input();
- input.message = newCommitMessage;
- try {
- modifyChangeEditCommitMessage.apply(changeResource, input);
- } catch (Exception e) {
- throw asRestApiException("Cannot modify commit message of change edit", e);
- }
- }
-
- private ChangeEditResource getChangeEditResource(String filePath)
- throws ResourceNotFoundException, AuthException, IOException, OrmException {
- return changeEdits.parse(changeResource, IdString.fromDecoded(filePath));
- }
-}