diff --git a/scm-core/src/main/java/sonia/scm/group/GroupNotFoundException.java b/scm-core/src/main/java/sonia/scm/group/GroupNotFoundException.java index d1769da9e9..2ea5d16cf0 100644 --- a/scm-core/src/main/java/sonia/scm/group/GroupNotFoundException.java +++ b/scm-core/src/main/java/sonia/scm/group/GroupNotFoundException.java @@ -52,7 +52,7 @@ public class GroupNotFoundException extends GroupException * Constructs a new GroupNotFoundException. * */ - public GroupNotFoundException() { - super("group does not exist"); + public GroupNotFoundException(Group group) { + super("group " + group.getName() + " does not exist"); } } 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 4160fb1424..11f1a98bfd 100644 --- a/scm-core/src/main/java/sonia/scm/repository/RepositoryNotFoundException.java +++ b/scm-core/src/main/java/sonia/scm/repository/RepositoryNotFoundException.java @@ -52,8 +52,8 @@ public class RepositoryNotFoundException extends RepositoryException * error detail message. * */ - public RepositoryNotFoundException() { - super("repository does not exist"); + public RepositoryNotFoundException(Repository repository) { + super("repository " + repository.getName() + "/" + repository.getNamespace() + " does not exist"); } public RepositoryNotFoundException(String repositoryId) { diff --git a/scm-core/src/main/java/sonia/scm/user/UserNotFoundException.java b/scm-core/src/main/java/sonia/scm/user/UserNotFoundException.java index 0f11615987..82b1c2abb8 100644 --- a/scm-core/src/main/java/sonia/scm/user/UserNotFoundException.java +++ b/scm-core/src/main/java/sonia/scm/user/UserNotFoundException.java @@ -51,7 +51,7 @@ public class UserNotFoundException extends UserException * Constructs a new UserNotFoundException. * */ - public UserNotFoundException() { - super("user does not exist"); + public UserNotFoundException(User user) { + super("user " + user.getName() + " does not exist"); } } diff --git a/scm-webapp/src/main/java/sonia/scm/ManagerDaoAdapter.java b/scm-webapp/src/main/java/sonia/scm/ManagerDaoAdapter.java index 0f26a691b3..aa27425283 100644 --- a/scm-webapp/src/main/java/sonia/scm/ManagerDaoAdapter.java +++ b/scm-webapp/src/main/java/sonia/scm/ManagerDaoAdapter.java @@ -9,19 +9,17 @@ import java.util.function.Supplier; public class ManagerDaoAdapter { private final GenericDAO dao; - private final Supplier notFoundException; + private final Function notFoundException; private final Function alreadyExistsException; - public ManagerDaoAdapter(GenericDAO dao, Supplier notFoundException, Function alreadyExistsException) { + public ManagerDaoAdapter(GenericDAO dao, Function notFoundException, Function alreadyExistsException) { this.dao = dao; this.notFoundException = notFoundException; this.alreadyExistsException = alreadyExistsException; } public void modify(T object, Function permissionCheck, AroundHandler beforeUpdate, AroundHandler afterUpdate) throws E { - String name = object.getId(); - - T notModified = dao.get(name); + T notModified = dao.get(object.getId()); if (notModified != null) { permissionCheck.apply(notModified).check(); AssertUtil.assertIsValid(object); @@ -35,7 +33,7 @@ public class ManagerDaoAdapter { afterUpdate.handle(notModified); } else { - throw notFoundException.get(); + throw notFoundException.apply(object); } } diff --git a/scm-webapp/src/main/java/sonia/scm/group/DefaultGroupManager.java b/scm-webapp/src/main/java/sonia/scm/group/DefaultGroupManager.java index 5c6681cc30..b083f9adfe 100644 --- a/scm-webapp/src/main/java/sonia/scm/group/DefaultGroupManager.java +++ b/scm-webapp/src/main/java/sonia/scm/group/DefaultGroupManager.java @@ -154,7 +154,7 @@ public class DefaultGroupManager extends AbstractGroupManager } else { - throw new GroupNotFoundException(); + throw new GroupNotFoundException(group); } } @@ -214,7 +214,7 @@ public class DefaultGroupManager extends AbstractGroupManager if (fresh == null) { - throw new GroupNotFoundException(); + throw new GroupNotFoundException(group); } fresh.copyProperties(group); diff --git a/scm-webapp/src/main/java/sonia/scm/repository/DefaultRepositoryManager.java b/scm-webapp/src/main/java/sonia/scm/repository/DefaultRepositoryManager.java index 13f0ce79c3..cfa21b1adc 100644 --- a/scm-webapp/src/main/java/sonia/scm/repository/DefaultRepositoryManager.java +++ b/scm-webapp/src/main/java/sonia/scm/repository/DefaultRepositoryManager.java @@ -188,7 +188,7 @@ public class DefaultRepositoryManager extends AbstractRepositoryManager { repositoryDAO.delete(repository); fireEvent(HandlerEventType.DELETE, repository); } else { - throw new RepositoryNotFoundException(); + throw new RepositoryNotFoundException(repository); } } @@ -262,7 +262,7 @@ public class DefaultRepositoryManager extends AbstractRepositoryManager { if (fresh != null) { fresh.copyProperties(repository); } else { - throw new RepositoryNotFoundException(); + throw new RepositoryNotFoundException(repository); } } diff --git a/scm-webapp/src/main/java/sonia/scm/user/DefaultUserManager.java b/scm-webapp/src/main/java/sonia/scm/user/DefaultUserManager.java index 2b63a33a89..81e3918ccb 100644 --- a/scm-webapp/src/main/java/sonia/scm/user/DefaultUserManager.java +++ b/scm-webapp/src/main/java/sonia/scm/user/DefaultUserManager.java @@ -185,7 +185,7 @@ public class DefaultUserManager extends AbstractUserManager } else { - throw new UserNotFoundException(); + throw new UserNotFoundException(user); } } @@ -249,7 +249,7 @@ public class DefaultUserManager extends AbstractUserManager if (fresh == null) { - throw new UserNotFoundException(); + throw new UserNotFoundException(user); } fresh.copyProperties(user);