From f3304e697361cac2c3bd1375cfddcdb712bdb69b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Pfeuffer?= Date: Wed, 11 Jul 2018 08:25:06 +0200 Subject: [PATCH] Correct sequence of setting and reading namespace for new repository --- .../repository/DefaultRepositoryManager.java | 7 +- .../DefaultRepositoryManagerTest.java | 73 ++++++++++--------- 2 files changed, 45 insertions(+), 35 deletions(-) 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 07bff4e999..c644034df9 100644 --- a/scm-webapp/src/main/java/sonia/scm/repository/DefaultRepositoryManager.java +++ b/scm-webapp/src/main/java/sonia/scm/repository/DefaultRepositoryManager.java @@ -130,9 +130,13 @@ public class DefaultRepositoryManager extends AbstractRepositoryManager { public void create(Repository repository, boolean initRepository) throws RepositoryException { - logger.info("create repository {} of type {}", repository.getNamespaceAndName(), repository.getType()); + logger.info("create repository {} of type {}", repository.getName(), repository.getType()); RepositoryPermissions.create().check(); + + repository.setNamespace(namespaceStrategy.getNamespace()); + logger.info("setting namespace of new repository {} to {}", repository.getName(), repository.getNamespace()); + AssertUtil.assertIsValid(repository); if (repositoryDAO.contains(repository.getNamespaceAndName())) { @@ -141,7 +145,6 @@ public class DefaultRepositoryManager extends AbstractRepositoryManager { repository.setId(keyGenerator.createKey()); repository.setCreationDate(System.currentTimeMillis()); - repository.setNamespace(namespaceStrategy.getNamespace()); if (initRepository) { getHandler(repository).create(repository); diff --git a/scm-webapp/src/test/java/sonia/scm/repository/DefaultRepositoryManagerTest.java b/scm-webapp/src/test/java/sonia/scm/repository/DefaultRepositoryManagerTest.java index ae652dddf6..e76d2af7b3 100644 --- a/scm-webapp/src/test/java/sonia/scm/repository/DefaultRepositoryManagerTest.java +++ b/scm-webapp/src/test/java/sonia/scm/repository/DefaultRepositoryManagerTest.java @@ -57,7 +57,6 @@ import sonia.scm.security.KeyGenerator; import sonia.scm.store.ConfigurationStoreFactory; import sonia.scm.store.JAXBConfigurationStoreFactory; -import java.io.IOException; import java.util.Collection; import java.util.Collections; import java.util.HashSet; @@ -102,7 +101,7 @@ public class DefaultRepositoryManagerTest extends ManagerTestBase keys = new Stack<>(); @@ -265,7 +264,7 @@ public class DefaultRepositoryManagerTest extends ManagerTestBaseemptySet()); } - private Repository createRepository(Repository repository) throws RepositoryException, IOException { + private Repository createRepository(Repository repository) throws RepositoryException { manager.create(repository); assertNotNull(repository.getId()); assertNotNull(manager.get(repository.getId())); @@ -538,17 +545,17 @@ public class DefaultRepositoryManagerTest extends ManagerTestBase manager, Repository repository) - throws RepositoryException, IOException { + throws RepositoryException { String id = repository.getId();