private ManagedRepository createNewManagedRepository( RepositoryProvider provider, ManagedRepositoryConfiguration cfg ) throws RepositoryException { log.debug("Creating repo {}", cfg.getId()); ManagedRepository repo = provider.createManagedInstance( cfg ); repo.addListener(this); updateRepositoryReferences( provider, repo, cfg , null); return repo; }
/** * Creates a new repository instance with the same settings as this one. The cloned repository is not * registered or saved to the configuration. * * @param repo The origin repository * @return The cloned repository. */ public ManagedRepository clone(ManagedRepository repo, String newId) throws RepositoryException { if (managedRepositories.containsKey(newId) || remoteRepositories.containsKey(newId)) { throw new RepositoryException("The given id exists already "+newId); } RepositoryProvider provider = getProvider(repo.getType()); ManagedRepositoryConfiguration cfg = provider.getManagedConfiguration(repo); cfg.setId(newId); ManagedRepository cloned = provider.createManagedInstance(cfg); cloned.addListener(this); return cloned; }
repo = getProvider( repoType ).createManagedInstance( managedRepositoryConfiguration ); repo.addListener(this); managedRepositories.put(id, repo);