summaryrefslogtreecommitdiffstats
path: root/gerrit-server/src/main/java/com/google/gerrit/server/change/Ignore.java
diff options
context:
space:
mode:
Diffstat (limited to 'gerrit-server/src/main/java/com/google/gerrit/server/change/Ignore.java')
-rw-r--r--gerrit-server/src/main/java/com/google/gerrit/server/change/Ignore.java83
1 files changed, 0 insertions, 83 deletions
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/Ignore.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/Ignore.java
deleted file mode 100644
index 46dabdfb94..0000000000
--- a/gerrit-server/src/main/java/com/google/gerrit/server/change/Ignore.java
+++ /dev/null
@@ -1,83 +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.change;
-
-import com.google.gerrit.extensions.restapi.BadRequestException;
-import com.google.gerrit.extensions.restapi.ResourceConflictException;
-import com.google.gerrit.extensions.restapi.Response;
-import com.google.gerrit.extensions.restapi.RestApiException;
-import com.google.gerrit.extensions.restapi.RestModifyView;
-import com.google.gerrit.extensions.webui.UiAction;
-import com.google.gerrit.server.StarredChangesUtil;
-import com.google.gerrit.server.StarredChangesUtil.IllegalLabelException;
-import com.google.gerrit.server.StarredChangesUtil.MutuallyExclusiveLabelsException;
-import com.google.gwtorm.server.OrmException;
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@Singleton
-public class Ignore
- implements RestModifyView<ChangeResource, Ignore.Input>, UiAction<ChangeResource> {
- private static final Logger log = LoggerFactory.getLogger(Ignore.class);
-
- public static class Input {}
-
- private final StarredChangesUtil stars;
-
- @Inject
- Ignore(StarredChangesUtil stars) {
- this.stars = stars;
- }
-
- @Override
- public Description getDescription(ChangeResource rsrc) {
- return new UiAction.Description()
- .setLabel("Ignore")
- .setTitle("Ignore the change")
- .setVisible(canIgnore(rsrc));
- }
-
- @Override
- public Response<String> apply(ChangeResource rsrc, Input input)
- throws RestApiException, OrmException, IllegalLabelException {
- try {
- if (rsrc.isUserOwner()) {
- throw new BadRequestException("cannot ignore own change");
- }
-
- if (!isIgnored(rsrc)) {
- stars.ignore(rsrc);
- }
- return Response.ok("");
- } catch (MutuallyExclusiveLabelsException e) {
- throw new ResourceConflictException(e.getMessage());
- }
- }
-
- private boolean canIgnore(ChangeResource rsrc) {
- return !rsrc.isUserOwner() && !isIgnored(rsrc);
- }
-
- private boolean isIgnored(ChangeResource rsrc) {
- try {
- return stars.isIgnored(rsrc);
- } catch (OrmException e) {
- log.error("failed to check ignored star", e);
- }
- return false;
- }
-}