summaryrefslogtreecommitdiffstats
path: root/gerrit-server/src/main/java/com/google/gerrit/server/change/PutDescription.java
diff options
context:
space:
mode:
Diffstat (limited to 'gerrit-server/src/main/java/com/google/gerrit/server/change/PutDescription.java')
-rw-r--r--gerrit-server/src/main/java/com/google/gerrit/server/change/PutDescription.java134
1 files changed, 0 insertions, 134 deletions
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/PutDescription.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/PutDescription.java
deleted file mode 100644
index 4c9cf23c18..0000000000
--- a/gerrit-server/src/main/java/com/google/gerrit/server/change/PutDescription.java
+++ /dev/null
@@ -1,134 +0,0 @@
-// Copyright (C) 2016 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.change;
-
-import com.google.common.base.Strings;
-import com.google.gerrit.common.TimeUtil;
-import com.google.gerrit.extensions.restapi.DefaultInput;
-import com.google.gerrit.extensions.restapi.Response;
-import com.google.gerrit.extensions.restapi.RestApiException;
-import com.google.gerrit.extensions.webui.UiAction;
-import com.google.gerrit.reviewdb.client.ChangeMessage;
-import com.google.gerrit.reviewdb.client.PatchSet;
-import com.google.gerrit.reviewdb.server.ReviewDb;
-import com.google.gerrit.server.ChangeMessagesUtil;
-import com.google.gerrit.server.PatchSetUtil;
-import com.google.gerrit.server.notedb.ChangeUpdate;
-import com.google.gerrit.server.permissions.ChangePermission;
-import com.google.gerrit.server.permissions.PermissionBackendException;
-import com.google.gerrit.server.update.BatchUpdate;
-import com.google.gerrit.server.update.BatchUpdateOp;
-import com.google.gerrit.server.update.ChangeContext;
-import com.google.gerrit.server.update.RetryHelper;
-import com.google.gerrit.server.update.RetryingRestModifyView;
-import com.google.gerrit.server.update.UpdateException;
-import com.google.gwtorm.server.OrmException;
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-import com.google.inject.Singleton;
-import java.util.Collections;
-
-@Singleton
-public class PutDescription
- extends RetryingRestModifyView<RevisionResource, PutDescription.Input, Response<String>>
- implements UiAction<RevisionResource> {
- private final Provider<ReviewDb> dbProvider;
- private final ChangeMessagesUtil cmUtil;
- private final PatchSetUtil psUtil;
-
- public static class Input {
- @DefaultInput public String description;
- }
-
- @Inject
- PutDescription(
- Provider<ReviewDb> dbProvider,
- ChangeMessagesUtil cmUtil,
- RetryHelper retryHelper,
- PatchSetUtil psUtil) {
- super(retryHelper);
- this.dbProvider = dbProvider;
- this.cmUtil = cmUtil;
- this.psUtil = psUtil;
- }
-
- @Override
- protected Response<String> applyImpl(
- BatchUpdate.Factory updateFactory, RevisionResource rsrc, Input input)
- throws UpdateException, RestApiException, PermissionBackendException {
- rsrc.permissions().check(ChangePermission.EDIT_DESCRIPTION);
-
- Op op = new Op(input != null ? input : new Input(), rsrc.getPatchSet().getId());
- try (BatchUpdate u =
- updateFactory.create(
- dbProvider.get(), rsrc.getChange().getProject(), rsrc.getUser(), TimeUtil.nowTs())) {
- u.addOp(rsrc.getChange().getId(), op);
- u.execute();
- }
- return Strings.isNullOrEmpty(op.newDescription)
- ? Response.none()
- : Response.ok(op.newDescription);
- }
-
- private class Op implements BatchUpdateOp {
- private final Input input;
- private final PatchSet.Id psId;
-
- private String oldDescription;
- private String newDescription;
-
- Op(Input input, PatchSet.Id psId) {
- this.input = input;
- this.psId = psId;
- }
-
- @Override
- public boolean updateChange(ChangeContext ctx) throws OrmException {
- PatchSet ps = psUtil.get(ctx.getDb(), ctx.getNotes(), psId);
- ChangeUpdate update = ctx.getUpdate(psId);
- newDescription = Strings.nullToEmpty(input.description);
- oldDescription = Strings.nullToEmpty(ps.getDescription());
- if (oldDescription.equals(newDescription)) {
- return false;
- }
- String summary;
- if (oldDescription.isEmpty()) {
- summary = "Description set to \"" + newDescription + "\"";
- } else if (newDescription.isEmpty()) {
- summary = "Description \"" + oldDescription + "\" removed";
- } else {
- summary = "Description changed to \"" + newDescription + "\"";
- }
-
- ps.setDescription(newDescription);
- update.setPsDescription(newDescription);
-
- ctx.getDb().patchSets().update(Collections.singleton(ps));
-
- ChangeMessage cmsg =
- ChangeMessagesUtil.newMessage(
- psId, ctx.getUser(), ctx.getWhen(), summary, ChangeMessagesUtil.TAG_SET_DESCRIPTION);
- cmUtil.addChangeMessage(ctx.getDb(), update, cmsg);
- return true;
- }
- }
-
- @Override
- public UiAction.Description getDescription(RevisionResource rsrc) {
- return new UiAction.Description()
- .setLabel("Edit Description")
- .setVisible(rsrc.permissions().testCond(ChangePermission.EDIT_DESCRIPTION));
- }
-}