You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

TestRepositoryResolver.java 1.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /*
  2. * Copyright (C) 2016, 2017 Google Inc. and others
  3. *
  4. * This program and the accompanying materials are made available under the
  5. * terms of the Eclipse Distribution License v. 1.0 which is available at
  6. * https://www.eclipse.org/org/documents/edl-v10.php.
  7. *
  8. * SPDX-License-Identifier: BSD-3-Clause
  9. */
  10. package org.eclipse.jgit.http.test;
  11. import javax.servlet.http.HttpServletRequest;
  12. import org.eclipse.jgit.errors.RepositoryNotFoundException;
  13. import org.eclipse.jgit.junit.TestRepository;
  14. import org.eclipse.jgit.lib.Repository;
  15. import org.eclipse.jgit.transport.resolver.RepositoryResolver;
  16. import org.eclipse.jgit.transport.resolver.ServiceNotEnabledException;
  17. /**
  18. * A simple repository resolver for tests.
  19. */
  20. public final class TestRepositoryResolver
  21. implements RepositoryResolver<HttpServletRequest> {
  22. private final TestRepository<Repository> repo;
  23. private final String repoName;
  24. /**
  25. * Create a new {@link org.eclipse.jgit.http.test.TestRepositoryResolver}
  26. * that resolves the given name to the given repository.
  27. *
  28. * @param repo
  29. * to resolve to
  30. * @param repoName
  31. * to match
  32. */
  33. public TestRepositoryResolver(TestRepository<Repository> repo, String repoName) {
  34. this.repo = repo;
  35. this.repoName = repoName;
  36. }
  37. /** {@inheritDoc} */
  38. @Override
  39. public Repository open(HttpServletRequest req, String name)
  40. throws RepositoryNotFoundException, ServiceNotEnabledException {
  41. if (!name.equals(repoName)) {
  42. throw new RepositoryNotFoundException(name);
  43. }
  44. Repository db = repo.getRepository();
  45. db.incrementOpen();
  46. return db;
  47. }
  48. }