From 9198cac0a554853ed4607d474d6ea08a47bed3f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Pfeuffer?= Date: Mon, 10 Sep 2018 08:36:05 +0200 Subject: [PATCH] Correct usage of RepositoryNotFoundException --- .../sonia/scm/repository/RepositoryNotFoundException.java | 4 ++++ .../sonia/scm/repository/api/RepositoryServiceFactory.java | 4 +--- .../sonia/scm/api/v2/resources/PermissionRootResource.java | 5 +++-- .../src/main/java/sonia/scm/repository/HealthChecker.java | 3 +-- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/scm-core/src/main/java/sonia/scm/repository/RepositoryNotFoundException.java b/scm-core/src/main/java/sonia/scm/repository/RepositoryNotFoundException.java index 070221117a..1208596348 100644 --- a/scm-core/src/main/java/sonia/scm/repository/RepositoryNotFoundException.java +++ b/scm-core/src/main/java/sonia/scm/repository/RepositoryNotFoundException.java @@ -61,4 +61,8 @@ public class RepositoryNotFoundException extends NotFoundException public RepositoryNotFoundException(String repositoryId) { super("repository", repositoryId); } + + public RepositoryNotFoundException(NamespaceAndName namespaceAndName) { + super("repository", namespaceAndName.toString()); + } } diff --git a/scm-core/src/main/java/sonia/scm/repository/api/RepositoryServiceFactory.java b/scm-core/src/main/java/sonia/scm/repository/api/RepositoryServiceFactory.java index 627e57a797..33f57d4524 100644 --- a/scm-core/src/main/java/sonia/scm/repository/api/RepositoryServiceFactory.java +++ b/scm-core/src/main/java/sonia/scm/repository/api/RepositoryServiceFactory.java @@ -208,9 +208,7 @@ public final class RepositoryServiceFactory if (repository == null) { - String msg = "could not find a repository with namespace/name " + namespaceAndName; - - throw new RepositoryNotFoundException(msg); + throw new RepositoryNotFoundException(namespaceAndName); } return create(repository); diff --git a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/PermissionRootResource.java b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/PermissionRootResource.java index 2b53192542..7f15120357 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/PermissionRootResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/PermissionRootResource.java @@ -210,8 +210,9 @@ public class PermissionRootResource { * @throws RepositoryNotFoundException if the repository does not exists */ private Repository load(String namespace, String name) throws RepositoryNotFoundException { - return Optional.ofNullable(manager.get(new NamespaceAndName(namespace, name))) - .orElseThrow(() -> new RepositoryNotFoundException(name)); + NamespaceAndName namespaceAndName = new NamespaceAndName(namespace, name); + return Optional.ofNullable(manager.get(namespaceAndName)) + .orElseThrow(() -> new RepositoryNotFoundException(namespaceAndName)); } /** diff --git a/scm-webapp/src/main/java/sonia/scm/repository/HealthChecker.java b/scm-webapp/src/main/java/sonia/scm/repository/HealthChecker.java index 0d27c6d250..52dea4223b 100644 --- a/scm-webapp/src/main/java/sonia/scm/repository/HealthChecker.java +++ b/scm-webapp/src/main/java/sonia/scm/repository/HealthChecker.java @@ -61,8 +61,7 @@ public final class HealthChecker { Repository repository = repositoryManager.get(id); if (repository == null) { - throw new RepositoryNotFoundException( - "could not find repository with id ".concat(id)); + throw new RepositoryNotFoundException(id); } doCheck(repository);