public void addRepository(ExtensionRepository repository) { this.repositories.put(repository.getId(), repository); }
@Override public Extension resolve(ExtensionId extensionId) throws ResolveException { return getWrapped().resolve(extensionId); }
@Override public boolean exists(ExtensionId extensionId) { for (ExtensionRepository repository : this.repositories) { if (repository.exists(extensionId)) { return true; } } return false; }
@Override public Extension resolve(ExtensionId extensionId) throws ResolveException { ResolveException lastException = null; for (ExtensionRepository repository : this.repositories) { try { return repository.resolve(extensionId); } catch (ExtensionNotFoundException e1) { this.logger.debug("Could not find extension [{}] in repository [{}]", extensionId, repository.getDescriptor(), e1); } catch (ResolveException e2) { this.logger.error("Unexpected error when trying to find extension [{}] in repository [{}]", extensionId, repository.getDescriptor(), e2); lastException = e2; } } if (lastException != null) { throw new ResolveException(MessageFormat.format("Failed to resolve extension [{0}]", extensionId), lastException); } else { throw new ExtensionNotFoundException(MessageFormat.format("Could not find extension [{0}]", extensionId)); } }
public Extension resolve(ExtensionId extensionId) throws ResolveException { Extension artifact = null; for (ExtensionRepository repository : this.repositories.values()) { try { artifact = repository.resolve(extensionId); return artifact; } catch (ResolveException e) { getLogger().debug( "Could not find extension [" + extensionId + "] in repository [" + repository.getId() + "]"); } } throw new ResolveException("Could not find extension [" + extensionId + "]"); } }
@Override public IterableResult<Version> resolveVersions(String id, int offset, int nb) throws ResolveException { SortedSet<Version> versionSet = new TreeSet<>(); for (ExtensionRepository repository : this.repositories) { try { IterableResult<Version> versions = repository.resolveVersions(id, 0, -1); for (Version version : versions) { versionSet.add(version); } } catch (ExtensionNotFoundException e1) { this.logger.debug("Could not find extension with id [{}] in repository [{}]", id, repository.getDescriptor(), e1); } catch (ResolveException e2) { this.logger.error("Unexpected error when trying to find versions for extension with id [{}]", id, e2); } } if (versionSet.isEmpty()) { throw new ExtensionNotFoundException( MessageFormat.format("Could not find versions for extension with id [{0}]", id)); } return RepositoryUtils.getIterableResult(offset, nb, versionSet); }
@Override public ExtensionRepositoryDescriptor getDescriptor() { return getWrapped().getDescriptor(); }
@Override public IterableResult<Version> resolveVersions(String id, int offset, int nb) throws ResolveException { return getWrapped().resolveVersions(id, offset, nb); } }
return repository.resolve(extensionDependency); } catch (ExtensionNotFoundException e1) { this.logger.debug("Could not find extension dependency [{}] in repository [{}]", extensionDependency, repository.getDescriptor(), e1); } catch (ResolveException e2) { this.logger.warn("Unexpected error when trying to find extension dependency [{}] in repository [{}]: ", extensionDependency, repository.getDescriptor(), ExceptionUtils.getRootCauseMessage(e2)); if (checkedRepositories.contains(repository.getDescriptor())) { continue; checkedRepositories.add(repository.getDescriptor()); return repository.resolve(extensionDependency); } catch (ExtensionNotFoundException e1) { this.logger.debug("Could not find extension dependency [{}] in repository [{}]", extensionDependency, repository.getDescriptor(), e1); } catch (ResolveException e2) { this.logger.error("Unexpected error when trying to find extension dependency [{}] in repository [{}]", extensionDependency, repository.getDescriptor(), e2);
@Override public ExtensionRepositoryDescriptor getDescriptor() { return getWrapped().getDescriptor(); }
@Override public IterableResult<Version> resolveVersions(String id, int offset, int nb) { setError(null); try { return getWrapped().resolveVersions(id, offset, nb); } catch (Exception e) { setError(e); } return null; } }
@Override public Extension resolve(ExtensionDependency extensionDependency) throws ResolveException { return getWrapped().resolve(extensionDependency); }
@Override public ExtensionRepositoryId getId() { return getWrapped().getId(); }
@Override public void addRepository(ExtensionRepository repository, int priority) { // Update the map this.repositoryMap.put(repository.getDescriptor().getId(), new ExtensionRepositoryEntry(repository, priority)); // Update the list updateRepositories(); }
@Override public boolean exists(ExtensionId extensionId) { return getWrapped().exists(extensionId); }
@Override public Extension resolve(ExtensionDependency extensionDependency) throws ResolveException { for (ExtensionRepository remoteRepository : this.repositories.getRepositories()) { Extension extension = remoteRepository.resolve(extensionDependency); if (extension != null && RepositoryUtils.matches(this.filters, extension)) { return extension; } } return null; }
@Override public ExtensionRepositoryId getId() { return getWrapped().getId(); }
LOGGER.error( "Failed to search on repository [{}] with query [{}]. " + "Ignore and go to next repository.", repository.getDescriptor().toString(), query, e);
@Override public boolean exists(ExtensionId extensionId) { return getWrapped().exists(extensionId); }
@Override public Extension resolve(ExtensionId extensionId) throws ResolveException { for (ExtensionRepository remoteRepository : this.repositories.getRepositories()) { Extension extension = remoteRepository.resolve(extensionId); if (extension != null && RepositoryUtils.matches(this.filters, extension)) { return extension; } } return null; }