summaryrefslogtreecommitdiffstats
path: root/gerrit-server/src/main/java/com/google/gerrit/server/change/IncludedIn.java
diff options
context:
space:
mode:
Diffstat (limited to 'gerrit-server/src/main/java/com/google/gerrit/server/change/IncludedIn.java')
-rw-r--r--gerrit-server/src/main/java/com/google/gerrit/server/change/IncludedIn.java75
1 files changed, 0 insertions, 75 deletions
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/IncludedIn.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/IncludedIn.java
deleted file mode 100644
index 8f8925a75c..0000000000
--- a/gerrit-server/src/main/java/com/google/gerrit/server/change/IncludedIn.java
+++ /dev/null
@@ -1,75 +0,0 @@
-// Copyright (C) 2013 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.collect.ListMultimap;
-import com.google.common.collect.MultimapBuilder;
-import com.google.gerrit.extensions.api.changes.IncludedInInfo;
-import com.google.gerrit.extensions.config.ExternalIncludedIn;
-import com.google.gerrit.extensions.registration.DynamicSet;
-import com.google.gerrit.extensions.restapi.BadRequestException;
-import com.google.gerrit.extensions.restapi.ResourceConflictException;
-import com.google.gerrit.extensions.restapi.RestApiException;
-import com.google.gerrit.reviewdb.client.Project;
-import com.google.gerrit.server.git.GitRepositoryManager;
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
-import java.io.IOException;
-import org.eclipse.jgit.errors.IncorrectObjectTypeException;
-import org.eclipse.jgit.errors.MissingObjectException;
-import org.eclipse.jgit.lib.ObjectId;
-import org.eclipse.jgit.lib.Repository;
-import org.eclipse.jgit.revwalk.RevCommit;
-import org.eclipse.jgit.revwalk.RevWalk;
-
-@Singleton
-public class IncludedIn {
- private final GitRepositoryManager repoManager;
- private final DynamicSet<ExternalIncludedIn> externalIncludedIn;
-
- @Inject
- IncludedIn(GitRepositoryManager repoManager, DynamicSet<ExternalIncludedIn> externalIncludedIn) {
- this.repoManager = repoManager;
- this.externalIncludedIn = externalIncludedIn;
- }
-
- public IncludedInInfo apply(Project.NameKey project, String revisionId)
- throws RestApiException, IOException {
- try (Repository r = repoManager.openRepository(project);
- RevWalk rw = new RevWalk(r)) {
- rw.setRetainBody(false);
- RevCommit rev;
- try {
- rev = rw.parseCommit(ObjectId.fromString(revisionId));
- } catch (IncorrectObjectTypeException err) {
- throw new BadRequestException(err.getMessage());
- } catch (MissingObjectException err) {
- throw new ResourceConflictException(err.getMessage());
- }
-
- IncludedInResolver.Result d = IncludedInResolver.resolve(r, rw, rev);
- ListMultimap<String, String> external = MultimapBuilder.hashKeys().arrayListValues().build();
- for (ExternalIncludedIn ext : externalIncludedIn) {
- ListMultimap<String, String> extIncludedIns =
- ext.getIncludedIn(project.get(), rev.name(), d.getTags(), d.getBranches());
- if (extIncludedIns != null) {
- external.putAll(extIncludedIns);
- }
- }
- return new IncludedInInfo(
- d.getBranches(), d.getTags(), (!external.isEmpty() ? external.asMap() : null));
- }
- }
-}