@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 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); } } }
@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); } } }
} else { LocalExtension localExtension = this.localExtensionRepository.resolve(extension.getId());
@Override protected void start() throws Exception { for (ExtensionId extensionId : getRequest().getExtensions()) { if (extensionId.getVersion() != null) { LocalExtension localExtension = (LocalExtension) this.localExtensionRepository.resolve(extensionId); if (getRequest().hasNamespaces()) { uninstallExtension(localExtension, getRequest().getNamespaces()); } else if (localExtension.getNamespaces() != null) { uninstallExtension(localExtension, localExtension.getNamespaces()); } else { uninstallExtension(localExtension, (String) null); } } else { if (getRequest().hasNamespaces()) { uninstallExtension(extensionId.getId(), getRequest().getNamespaces()); } else { uninstallExtension(extensionId.getId(), (String) null); } } } }