/** * Default constructor. */ public DefaultCoreExtensionRepository() { super(new DefaultExtensionRepositoryDescriptor("core", "xwiki-core", null)); }
/** * Store and return a weak reference equals to the passed {@link ExtensionRepositoryDescriptor} elements. * * @param id the unique identifier * @param type the repository type (maven, xwiki, etc.) * @param uri the repository address * @return unique instance of {@link ExtensionRepositoryDescriptor} equals to the passed one */ public ExtensionRepositoryDescriptor getExtensionRepositoryDescriptor(String id, String type, URI uri) { return getExtensionRepositoryDescriptor(new DefaultExtensionRepositoryDescriptor(id, type, uri)); }
@Override public Collection<ExtensionRepositoryDescriptor> getExtensionRepositoryDescriptors() { Collection<ExtensionRepositoryDescriptor> configuredRepositories = this.configuration.getExtensionRepositoryDescriptors(); Collection<ExtensionRepositoryDescriptor> repositories = new ArrayList<>(); if (configuredRepositories == null) { try { repositories.add(new DefaultExtensionRepositoryDescriptor("maven-xwiki", "maven", new URI("http://nexus.xwiki.org/nexus/content/groups/public"))); } catch (URISyntaxException e) { // Should never happen return Collections.emptyList(); } } return repositories; } }
@Override public void initialize() throws InitializationException { // Set descriptor setDescriptor(new DefaultExtensionRepositoryDescriptor(ID)); // Filter recommended extensions addFilter(RemoteExtension.FIELD_RECOMMENDED, true, COMPARISON.EQUAL); } }
@Override public void initialize() throws InitializationException { // Set descriptor setDescriptor(new DefaultExtensionRepositoryDescriptor("remote")); // Load default extension repositories for (ExtensionRepositorySource repositoriesSource : this.repositoriesSources) { for (ExtensionRepositoryDescriptor repositoryDescriptor : repositoriesSource .getExtensionRepositoryDescriptors()) { try { addRepository(repositoryDescriptor, repositoriesSource.getPriority()); } catch (ExtensionRepositoryException e) { this.logger.error("Failed to add repository [" + repositoryDescriptor + "]", e); } } } }
@Override public void initialize() throws InitializationException { try { this.storage = new LocalExtensionStorage(this, this.configuration.getLocalRepository(), this.componentManager); } catch (ComponentLookupException e) { throw new InitializationException("Failed to intialize local extension storage", e); } setDescriptor(new DefaultExtensionRepositoryDescriptor(ID, ID, this.storage.getRootFolder().toURI())); try { this.storage.loadExtensions(); } catch (IOException e) { throw new InitializationException("Failed to load load etensions", e); } }
@Override public void initialize() throws InitializationException { setDescriptor(new DefaultExtensionRepositoryDescriptor("installed", "installed", this.localRepository.getDescriptor().getURI())); // Wait for all installed extension to be registered // before calculating backward dependencies this.updateBackwardDependencies = false; // Get installed extensions from local repository this.localInstalledExtensionsCache = new HashMap<>(); for (LocalExtension localExtension : this.localRepository.getLocalExtensions()) { if (DefaultInstalledExtension.isInstalled(localExtension)) { getInstalledLocalExtension(localExtension); } } // Validate installed extensions validate(); // Update backward dependencies updateMissingBackwardDependencies(); // Put back backdependencies update for each extension add this.updateBackwardDependencies = true; // Reset temporary cache this.localInstalledExtensionsCache = null; }