@Override @Deprecated public Extension resolveExtension(ExtensionDependency extensionDependency) throws ResolveException { try { return this.coreExtensionRepository.resolve(extensionDependency); } catch (ResolveException notACoreExtension) { try { return this.localExtensionRepository.resolve(extensionDependency); } catch (ResolveException notALocalExtension) { return this.repositoryManager.resolve(extensionDependency); } } }
/** * @param extensionId the identifier of the extension to install * @return the extension * @throws InstallException error when trying to resolve extension */ private Extension resolveExtension(ExtensionId extensionId) throws InstallException { // Check if the extension is already in local repository Extension extension = this.localExtensionRepository.getLocalExtension(extensionId); if (extension == null) { this.logger.debug("Can't find extension in local repository, trying to download it."); // Resolve extension try { extension = this.repositoryManager.resolve(extensionId); } catch (ResolveException e1) { throw new InstallException(String.format("Failed to resolve extension [%s]", extensionId), e1); } } return extension; }
/** * @param extensionDependency describe the extension to install * @return the extension * @throws InstallException error when trying to resolve extension */ private Extension resolveExtension(ExtensionDependency extensionDependency) throws InstallException { // Check is the extension is already in local repository Extension extension; try { extension = this.localExtensionRepository.resolve(extensionDependency); } catch (ResolveException e) { this.logger.debug("Can't find extension dependency in local repository, trying to download it.", e); // Resolve extension try { extension = this.repositoryManager.resolve(extensionDependency); } catch (ResolveException e1) { throw new InstallException( String.format("Failed to resolve extension dependency [%s]", extensionDependency), e1); } } return extension; }
/** * @param extensionId the extension identifier * @return the resolved extension * @throws ResolveException error when trying to resolve extension */ private Extension resolveExtensionFromInstalled(ExtensionId extensionId) throws ResolveException { try { return this.installedExtensionRepository.resolve(extensionId); } catch (ResolveException notAnInstalledExtension) { try { return this.localExtensionRepository.resolve(extensionId); } catch (ResolveException notALocalExtension) { return this.repositoryManager.resolve(extensionId); } } }
private LocalExtension installExtension(LocalExtension previousExtension, ExtensionId extensionId, boolean dependency, String namespace) throws InstallException { // Resolve extension Extension remoteExtension; try { remoteExtension = this.repositoryManager.resolve(extensionId); } catch (ResolveException e) { throw new InstallException("Failed to resolve extension [" + extensionId + "]", e); } if (remoteExtension == null) { throw new InstallException("Failed to resolve extension [" + extensionId + "]"); } try { return installExtension(previousExtension, remoteExtension, dependency, namespace); } catch (Exception e) { throw new InstallException("Failed to install extension", e); } }
public Extension resolveExtension(ExtensionId extensionId, String namespace) throws ResolveException { Extension extension = null; extension = this.coreExtensionRepository.getCoreExtension(extensionId.getId()); if (extension == null) { extension = this.localExtensionRepository.getInstalledExtension(extensionId.getId(), namespace); if (extension == null || !extension.getId().getVersion().equals(extensionId.getVersion())) { extension = this.repositoryManager.resolve(extensionId); } } return extension; } }
@Override public void updateExtensions(Collection<DefaultCoreExtension> extensions) { ExtensionRepositoryManager repositoryManager = this.repositoryManagerProvider.get(); for (DefaultCoreExtension extension : extensions) { // If XWiki is stopping before this is finished then we need to exit. if (this.shouldStop) { SHUTDOWN_LOGGER.debug("Aborting Extension Update as XWiki is stopping"); break; } if (!extension.isComplete()) { try { Extension remoteExtension = repositoryManager.resolve(extension.getId()); extension.set(remoteExtension); extension.setComplete(true); // Cache it if (extension.getDescriptorURL() != null) { this.cache.store(extension); } } catch (ResolveException e) { this.logger.debug("Can't find remote extension with id [{}]", extension.getId(), e); } catch (Exception e) { this.logger.warn("Failed to update core extension [{}]: [{}]", extension.getId(), ExceptionUtils.getRootCauseMessage(e), e); } } } }
@Override public Extension resolveExtension(ExtensionDependency extensionDependency, String namespace) throws ResolveException { try { return this.coreExtensionRepository.resolve(extensionDependency); } catch (ResolveException notACoreExtension) { InstalledExtension extension = this.installedExtensionRepository.getInstalledExtension(extensionDependency.getId(), namespace); if (extension != null && extensionDependency.getVersionConstraint().containsVersion(extension.getId().getVersion())) { return extension; } try { return this.localExtensionRepository.resolve(extensionDependency); } catch (ResolveException notALocalExtension) { return this.repositoryManager.resolve(extensionDependency); } } }
try { extension = this.extensionRepository.resolve(extensionId); } catch (ResolveException e) { this.logger.debug("Can't find extension [{}]", extensionId, e);