public ExtensionRepository createRepository(ExtensionRepositoryId repositoryId) throws ExtensionRepositoryException { try { return new AetherExtensionRepository(repositoryId, this.session, this.aetherComponentManager); } catch (Exception e) { throw new ExtensionRepositoryException("Failed to create repository [" + repositoryId + "]", e); } } }
public void addRepository(ExtensionRepositoryId repositoryId) throws ExtensionRepositoryException { try { ExtensionRepositoryFactory repositoryFactory = this.componentManager.lookup(ExtensionRepositoryFactory.class, repositoryId.getType()); addRepository(repositoryFactory.createRepository(repositoryId)); } catch (ComponentLookupException e) { throw new ExtensionRepositoryException("Unsupported repository type[" + repositoryId.getType() + "]", e); } }
@Override public ExtensionRepository addRepository(ExtensionRepositoryDescriptor repositoryDescriptor, int priority) throws ExtensionRepositoryException { ExtensionRepository repository; try { ExtensionRepositoryFactory repositoryFactory = this.componentManager.getInstance(ExtensionRepositoryFactory.class, repositoryDescriptor.getType()); repository = repositoryFactory.createRepository(repositoryDescriptor); addRepository(repository, priority); } catch (ComponentLookupException e) { throw new ExtensionRepositoryException( "Unsupported repository type [" + repositoryDescriptor.getType() + "]", e); } return repository; }
private ExtensionRepository getRepository(ExtensionRepositoryDescriptor repositoryDescriptor) throws ExtensionRepositoryException { // Try in the cache ExtensionRepository repository = this.repositoriesCache.get(repositoryDescriptor); if (repository == null) { // Try in the registered repositories if (repositoryDescriptor.getId() != null) { repository = getRepository(repositoryDescriptor.getId()); } if (repository == null || !repository.getDescriptor().equals(repositoryDescriptor)) { // Create one ExtensionRepositoryFactory repositoryFactory; try { repositoryFactory = this.componentManager.getInstance(ExtensionRepositoryFactory.class, repositoryDescriptor.getType()); } catch (ComponentLookupException e) { throw new ExtensionRepositoryException( "Unsupported extension repository type [{" + repositoryDescriptor.getType() + "}]", e); } repository = repositoryFactory.createRepository(repositoryDescriptor); } this.repositoriesCache.put(repositoryDescriptor, repository); } return repository; }
this.plexusProvider.get(), this.componentManager); } catch (Exception e) { throw new ExtensionRepositoryException("Failed to create repository [" + repositoryDescriptor + "]", e);