RepositoryBackupConfig config = new RepositoryBackupConfig();
config.setRepository(repository.getConfiguration().getName());
config.setBackupType(BackupManager.FULL_BACKUP_ONLY);
config.setBackupDir(backDir);
RepositoryBackupChain bch = backup.startBackup(config);
waitEndOfBackup(bch);
backup.stopBackup(bch);
// restore with RepositoryCreatorService
RepositoryCreationService creatorService =
(RepositoryCreationService)container.getComponentInstanceOfType(RepositoryCreationService.class);
assertNotNull(creatorService);
String tenantName = "new_repository_mutli-db";
String repoToken = creatorService.reserveRepositoryName(tenantName);
// restore
RepositoryEntry newRE =
helper.createRepositoryEntry(true, repository.getConfiguration().getSystemWorkspaceName(),
IdGenerator.generate());
newRE.setName(tenantName);
WorkspaceEntry newWSEntry = helper.createWorkspaceEntry(true, IdGenerator.generate());
newWSEntry.setName(wsEntry.getName());
newRE.addWorkspace(newWSEntry);
creatorService.createRepository(bch.getBackupId(), newRE, repoToken);
// check
ManageableRepository restoredRepository = repositoryService.getRepository(tenantName);
assertNotNull(restoredRepository);