@Override public boolean isDependency() { return getWrapped().isDependency(); }
@Override public boolean isDependency(String namespace) { return getWrapped().isDependency(namespace); }
@Override public boolean isDependency(String namespace) { return getWrapped().isDependency(namespace); }
@Override public boolean isDependency() { return getWrapped().isDependency(); }
if (!extension.isDependency(namespace)) { return false;
@Override public InstalledExtension getFlavorExtension(Namespace namespace) { try { for (InstalledExtension extension : this.installedRepository .searchInstalledExtensions(namespace.serialize(), new FlavorQuery())) { // Assume there is only one non dependency with the tag "flavor" so return the first one found if (!extension.isDependency(namespace.serialize())) { // There should be only one flavor per wiki return extension; } } } catch (SearchException e) { // It should never happen with the local repository } // If nothing has been found, look for extensions that was not tagged as flavors but that are in the list of // old flavors for (String oldFlavor : getExtensionsConsideredAsFlavors()) { InstalledExtension installedExtension = this.installedRepository.getInstalledExtension(oldFlavor, namespace.serialize()); if (installedExtension != null) { return installedExtension; } } // It seems there is no known UI on this wiki return null; }
/** * @param installedExtension the existing extension * @param namespace the namespace in which to perform the action * @throws ExtensionException failed to initialize extension */ private void repairExtension(InstalledExtension installedExtension, String namespace) throws ExtensionException { this.observationManager.notify(new ExtensionInstallingEvent(installedExtension.getId(), namespace), installedExtension); boolean success = false; try { // Initialize extension (invalid extensions are not initialized at startup) this.extensionHandlerManager.initialize(installedExtension, namespace); // Repair the extension this.installedExtensionRepository.installExtension(installedExtension, namespace, installedExtension.isDependency(namespace)); success = true; } finally { if (success) { this.observationManager.notify(new ExtensionInstalledEvent(installedExtension.getId(), namespace), installedExtension); } else { this.observationManager.notify(new ExtensionInstallFailedEvent(installedExtension.getId(), namespace), installedExtension); } } }
new ModifableExtensionPlanNode(extensionDependency, versionConstraint); node.setAction(new DefaultExtensionPlanAction(installedExtension, installedExtension, null, Action.NONE, namespace, installedExtension.isDependency(namespace)));