Search in sources :

Example 11 with RepositoryTracker

use of org.eclipse.equinox.p2.operations.RepositoryTracker in project azure-tools-for-java by Microsoft.

the class PluginUtil method getEclipseP2Repository.

private static URI getEclipseP2Repository() {
    String repoPrefix = "download.eclipse.org/releases/";
    ProvisioningUI provisioningUI = ProvisioningUI.getDefaultUI();
    if (provisioningUI != null) {
        RepositoryTracker tracker = provisioningUI.getRepositoryTracker();
        if (tracker != null) {
            URI[] sites = tracker.getKnownRepositories(provisioningUI.getSession());
            for (URI site : sites) {
                if (site.toString().contains(repoPrefix)) {
                    return site;
                }
            }
        }
    }
    String start = "Version: ";
    String end = " (";
    URI repoSite = null;
    ProductProperties productProperties = new ProductProperties(Platform.getProduct());
    if (productProperties != null) {
        String aboutText = productProperties.getAboutText();
        int startIndex = aboutText.indexOf(start);
        int endIndex = aboutText.indexOf(end);
        String eclipseSimutaneousReleaseVersion = "";
        if (startIndex >= 0 && endIndex >= 0 && endIndex > startIndex) {
            eclipseSimutaneousReleaseVersion = aboutText.substring(startIndex + start.length(), endIndex);
            try {
                repoSite = new URI("http://" + repoPrefix + eclipseSimutaneousReleaseVersion.toLowerCase());
            } catch (Exception e) {
                repoSite = null;
            }
        }
    }
    return repoSite;
}
Also used : ProvisioningUI(org.eclipse.equinox.p2.ui.ProvisioningUI) ProductProperties(org.eclipse.ui.internal.ProductProperties) URI(java.net.URI) CoreException(org.eclipse.core.runtime.CoreException) IOException(java.io.IOException) RepositoryTracker(org.eclipse.equinox.p2.operations.RepositoryTracker)

Example 12 with RepositoryTracker

use of org.eclipse.equinox.p2.operations.RepositoryTracker in project gemoc-studio by eclipse.

the class PrepareInstallProfileJob method addRepositories.

private List<IMetadataRepository> addRepositories(SubMonitor monitor) throws MalformedURLException, URISyntaxException, ProvisionException {
    // tell p2 that it's okay to use these repositories
    ProvisioningSession session = ProvisioningUI.getDefaultUI().getSession();
    RepositoryTracker repositoryTracker = ProvisioningUI.getDefaultUI().getRepositoryTracker();
    repositoryLocations = new HashSet<URI>();
    monitor.setWorkRemaining(installableConnectors.size() * 5);
    for (InstallableComponent descriptor : installableConnectors) {
        for (String url : descriptor.getSitesURLS()) {
            addASiteURL(monitor, session, repositoryTracker, url);
        }
    }
    // fetch meta-data for these repositories
    ArrayList<IMetadataRepository> repositories = new ArrayList<IMetadataRepository>();
    monitor.setWorkRemaining(repositories.size());
    IMetadataRepositoryManager manager = (IMetadataRepositoryManager) session.getProvisioningAgent().getService(IMetadataRepositoryManager.SERVICE_NAME);
    for (URI uri : repositoryLocations) {
        checkCancelled(monitor);
        IMetadataRepository repository = manager.loadRepository(uri, monitor.newChild(1));
        repositories.add(repository);
    }
    return repositories;
}
Also used : ProvisioningSession(org.eclipse.equinox.p2.operations.ProvisioningSession) IMetadataRepositoryManager(org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager) ArrayList(java.util.ArrayList) InstallableComponent(org.eclipse.amalgam.discovery.InstallableComponent) IMetadataRepository(org.eclipse.equinox.p2.repository.metadata.IMetadataRepository) URI(java.net.URI) RepositoryTracker(org.eclipse.equinox.p2.operations.RepositoryTracker)

Aggregations

RepositoryTracker (org.eclipse.equinox.p2.operations.RepositoryTracker)12 URI (java.net.URI)7 ProvisioningSession (org.eclipse.equinox.p2.operations.ProvisioningSession)5 ArrayList (java.util.ArrayList)4 ProvisioningUI (org.eclipse.equinox.p2.ui.ProvisioningUI)4 IOException (java.io.IOException)2 HashSet (java.util.HashSet)2 SubMonitor (org.eclipse.core.runtime.SubMonitor)2 IMetadataRepository (org.eclipse.equinox.p2.repository.metadata.IMetadataRepository)2 IMetadataRepositoryManager (org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager)2 File (java.io.File)1 URISyntaxException (java.net.URISyntaxException)1 Collections (java.util.Collections)1 List (java.util.List)1 ReentrantLock (java.util.concurrent.locks.ReentrantLock)1 Collectors (java.util.stream.Collectors)1 Stream (java.util.stream.Stream)1 DocumentBuilderFactory (javax.xml.parsers.DocumentBuilderFactory)1 ParserConfigurationException (javax.xml.parsers.ParserConfigurationException)1 TransformerException (javax.xml.transform.TransformerException)1