private void doRemoveRepository(final OrganizationalUnit orgUnit, final String alias, final ConfigGroup thisRepositoryConfig, final Consumer<Repository> notification) throws Exception { if (thisRepositoryConfig != null) { configurationService.removeConfiguration(thisRepositoryConfig); } final Repository repo = configuredRepositories.remove(orgUnit.getSpace(), alias); if (repo != null) { notification.accept(repo); Branch defaultBranch = repo.getDefaultBranch().orElseThrow(() -> new IllegalStateException("Repository should have at least one branch.")); ioService.delete(convert(defaultBranch.getPath()).getFileSystem().getPath(null)); } //Remove reference to Repository from Organizational Units for (Repository repository : orgUnit.getRepositories()) { if (repository.getAlias().equals(alias)) { organizationalUnitService.removeRepository(orgUnit, repository); metadataStore.delete(alias); } } }
organizationalUnitService.removeRepository(ou, repository); metadataStore.delete(alias);