@Override public Collection<InstalledExtension> getInstalledExtensions(String namespace) { List<InstalledExtension> installedExtensions = new ArrayList<InstalledExtension>(extensions.size()); for (InstalledExtension localExtension : this.extensions.values()) { if (localExtension.isInstalled(namespace)) { installedExtensions.add(localExtension); } } return installedExtensions; }
@Override public boolean isInstalled() { return getWrapped().isInstalled(); }
@Override public boolean isInstalled(String namespace) { return getWrapped().isInstalled(namespace); }
@Override public boolean isInstalled(String namespace) { return getWrapped().isInstalled(namespace); }
@Override public boolean isInstalled() { return getWrapped().isInstalled(); }
protected Collection<InstalledExtension> getInstalledExtensions(String namespace) { Collection<ExtensionId> requestExtensions = getRequest().getExtensions(); Collection<InstalledExtension> installedExtensions; if (requestExtensions != null && !requestExtensions.isEmpty()) { installedExtensions = new ArrayList<>(requestExtensions.size()); for (ExtensionId requestExtension : requestExtensions) { InstalledExtension installedExtension = this.installedExtensionRepository.getInstalledExtension(requestExtension); if (installedExtension.isInstalled(namespace)) { installedExtensions.add(installedExtension); } } } else { installedExtensions = this.installedExtensionRepository.getInstalledExtensions(namespace); } return installedExtensions; }
protected List<InstalledExtension> filter(Collection<String> namespaces, ExtensionQuery query, Collection<? extends InstalledExtension> installedExtensions) { Pattern patternMatcher = RepositoryUtils.createPatternMatcher(query.getQuery()); List<InstalledExtension> result = new ArrayList<>(installedExtensions.size()); for (InstalledExtension installedExtension : installedExtensions) { if (namespaces == null || namespaces.isEmpty()) { if (RepositoryUtils.matches(patternMatcher, query.getFilters(), installedExtension)) { result.add(installedExtension); } } else { for (String namespace : namespaces) { if (installedExtension.isInstalled(namespace)) { if (RepositoryUtils.matches(patternMatcher, query.getFilters(), installedExtension)) { result.add(installedExtension); } } } } } return result; } }
if (installedExtension.isInstalled(null)) { try { Map<String, Collection<InstalledExtension>> bDependencies =
protected void upgrade(String namespace, Collection<InstalledExtension> installedExtensions) { this.progressManager.pushLevelProgress(installedExtensions.size(), this); try { for (InstalledExtension installedExtension : installedExtensions) { this.progressManager.startStep(this); if (namespace == null || !installedExtension.isInstalled(null)) { upgradeExtension(installedExtension, namespace); } this.progressManager.endStep(this); } } finally { this.progressManager.popLevelProgress(this); } }
@Override public void initialize() throws InitializationException { // Load installed extensions for (InstalledExtension extension : this.installedRepository.getInstalledExtensions()) { if (extension.getType().equals(EXTENSION_TYPE)) { if (extension.isInstalled(null)) { extensionAdded(extension, null); } else { for (String namespace : extension.getNamespaces()) { extensionAdded(extension, namespace); } } } } }
private void unloadJARsFromNamespace(String namespace, Map<String, Set<InstalledExtension>> unloadedExtensions) { Map<String, Set<InstalledExtension>> unloadedExtensionsMap = unloadedExtensions; if (unloadedExtensionsMap == null) { unloadedExtensionsMap = new HashMap<>(); } // Load extensions from local repository Collection<InstalledExtension> installedExtensions; if (namespace != null) { installedExtensions = this.installedExtensionRepository.getInstalledExtensions(namespace); } else { installedExtensions = this.installedExtensionRepository.getInstalledExtensions(); } for (InstalledExtension installedExtension : installedExtensions) { if (JarExtensionHandler.isSupported(installedExtension.getType())) { if (namespace == null || !installedExtension.isInstalled(null)) { try { unloadJAR(installedExtension, namespace, unloadedExtensionsMap); } catch (Exception e) { this.logger.error("Failed to unload installed extension [{}]", installedExtension, e); } } } } }
private Extension checkInstalledExtension(Extension extension, String namespace) throws InstallException { // Check if the extension conflict with an extension installed on root namespace if (namespace != null) { checkRootExtension(extension); } // Check if the exact same valid extension is already installed on target namespace InstalledExtension installedExtension = this.installedExtensionRepository.getInstalledExtension(extension.getId()); if (installedExtension != null && installedExtension.isInstalled(namespace)) { if (installedExtension.isValid(namespace)) { throw new InstallException(String.format("Extension [%s] is already installed on namespace [%s]", extension.getId(), namespace)); } // In case the extension is already installed on the namespace but is invalid continue with it to make clear // to following code we are actually repairing it return installedExtension; } return extension; }
if (namespace != null && installedExtension.isInstalled(null)) { if (!getRequest().isRootModificationsAllowed()) { throw new InstallException( if (installedExtension.isInstalled(null)) { Map<String, Collection<InstalledExtension>> backwardDependencies = this.installedExtensionRepository.getBackwardDependencies(installedExtension.getId());
if (!previousExtension.isInstalled(namespace) || !previousExtension.getId().getId().equals(rewrittenExtension.getId().getId())) { if (namespace == null && previousExtension.getNamespaces() != null) {