diff options
Diffstat (limited to 'gerrit-server/src/main/java/com/google/gerrit/server/change/Votes.java')
-rw-r--r-- | gerrit-server/src/main/java/com/google/gerrit/server/change/Votes.java | 99 |
1 files changed, 0 insertions, 99 deletions
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/Votes.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/Votes.java deleted file mode 100644 index c2631d5c9e..0000000000 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/Votes.java +++ /dev/null @@ -1,99 +0,0 @@ -// Copyright (C) 2014 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.registration.DynamicMap; -import com.google.gerrit.extensions.restapi.AuthException; -import com.google.gerrit.extensions.restapi.ChildCollection; -import com.google.gerrit.extensions.restapi.IdString; -import com.google.gerrit.extensions.restapi.MethodNotAllowedException; -import com.google.gerrit.extensions.restapi.ResourceNotFoundException; -import com.google.gerrit.extensions.restapi.RestReadView; -import com.google.gerrit.extensions.restapi.RestView; -import com.google.gerrit.reviewdb.client.PatchSetApproval; -import com.google.gerrit.reviewdb.server.ReviewDb; -import com.google.gerrit.server.ApprovalsUtil; -import com.google.gwtorm.server.OrmException; -import com.google.inject.Inject; -import com.google.inject.Provider; -import com.google.inject.Singleton; -import java.util.Map; -import java.util.TreeMap; - -@Singleton -public class Votes implements ChildCollection<ReviewerResource, VoteResource> { - private final DynamicMap<RestView<VoteResource>> views; - private final List list; - - @Inject - Votes(DynamicMap<RestView<VoteResource>> views, List list) { - this.views = views; - this.list = list; - } - - @Override - public DynamicMap<RestView<VoteResource>> views() { - return views; - } - - @Override - public RestView<ReviewerResource> list() throws AuthException { - return list; - } - - @Override - public VoteResource parse(ReviewerResource reviewer, IdString id) - throws ResourceNotFoundException, OrmException, AuthException, MethodNotAllowedException { - if (reviewer.getRevisionResource() != null && !reviewer.getRevisionResource().isCurrent()) { - throw new MethodNotAllowedException("Cannot access on non-current patch set"); - } - return new VoteResource(reviewer, id.get()); - } - - @Singleton - public static class List implements RestReadView<ReviewerResource> { - private final Provider<ReviewDb> db; - private final ApprovalsUtil approvalsUtil; - - @Inject - List(Provider<ReviewDb> db, ApprovalsUtil approvalsUtil) { - this.db = db; - this.approvalsUtil = approvalsUtil; - } - - @Override - public Map<String, Short> apply(ReviewerResource rsrc) - throws OrmException, MethodNotAllowedException { - if (rsrc.getRevisionResource() != null && !rsrc.getRevisionResource().isCurrent()) { - throw new MethodNotAllowedException("Cannot list votes on non-current patch set"); - } - - Map<String, Short> votes = new TreeMap<>(); - Iterable<PatchSetApproval> byPatchSetUser = - approvalsUtil.byPatchSetUser( - db.get(), - rsrc.getChangeResource().getNotes(), - rsrc.getChangeResource().getUser(), - rsrc.getChange().currentPatchSetId(), - rsrc.getReviewerUser().getAccountId(), - null, - null); - for (PatchSetApproval psa : byPatchSetUser) { - votes.put(psa.getLabel(), psa.getValue()); - } - return votes; - } - } -} |