Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSusan Franklin2010-04-22 22:48:09 +0000
committerSusan Franklin2010-04-22 22:48:09 +0000
commitb75b56df4a5baf6172c0002ad4cfc1d796c8c763 (patch)
treebce3eb75b5a6c4110b643b4e2facff3566f1b93a /bundles
parent6b0c4e4a98a144ccade6eeb2161b8c11c7a007dd (diff)
downloadrt.equinox.p2-b75b56df4a5baf6172c0002ad4cfc1d796c8c763.tar.gz
rt.equinox.p2-b75b56df4a5baf6172c0002ad4cfc1d796c8c763.tar.xz
rt.equinox.p2-b75b56df4a5baf6172c0002ad4cfc1d796c8c763.zip
Bug 278191 - [ui] Filtering of artifact repository does not work for non colocated repos
Move detection from UI into provisioning context
Diffstat (limited to 'bundles')
-rw-r--r--bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/AvailableIUsPage.java6
-rw-r--r--bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/RepositorySelectionGroup.java37
2 files changed, 5 insertions, 38 deletions
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/AvailableIUsPage.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/AvailableIUsPage.java
index 2c7496b90..852c587d7 100644
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/AvailableIUsPage.java
+++ b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/AvailableIUsPage.java
@@ -568,10 +568,6 @@ public class AvailableIUsPage extends ProvisioningWizardPage implements ISelecta
if (resolveAllCheckbox.getSelection())
return new ProvisioningContext(getProvisioningUI().getSession().getProvisioningAgent());
// Use the contents of the combo to determine the context
- ProvisioningContext context = repoSelector.getProvisioningContext();
- // This should really be a property value retrieved by API
- // See https://bugs.eclipse.org/bugs/show_bug.cgi?id=303258
- context.setProperty("org.eclipse.equinox.p2.operations.customContext", Boolean.toString(true)); //$NON-NLS-1$
- return context;
+ return repoSelector.getProvisioningContext();
}
}
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/RepositorySelectionGroup.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/RepositorySelectionGroup.java
index bf441018a..90035f8b3 100644
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/RepositorySelectionGroup.java
+++ b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/RepositorySelectionGroup.java
@@ -20,11 +20,10 @@ import org.eclipse.core.runtime.*;
import org.eclipse.equinox.internal.p2.ui.*;
import org.eclipse.equinox.internal.p2.ui.query.IUViewQueryContext;
import org.eclipse.equinox.internal.provisional.p2.repository.RepositoryEvent;
-import org.eclipse.equinox.p2.core.ProvisionException;
import org.eclipse.equinox.p2.engine.ProvisioningContext;
import org.eclipse.equinox.p2.operations.RepositoryTracker;
-import org.eclipse.equinox.p2.repository.*;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
+import org.eclipse.equinox.p2.repository.IRepository;
+import org.eclipse.equinox.p2.repository.IRepositoryManager;
import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
import org.eclipse.equinox.p2.ui.ProvisioningUI;
import org.eclipse.jface.action.Action;
@@ -571,44 +570,16 @@ public class RepositorySelectionGroup {
if (locals.length > 0 && siteSel == repoCombo.getItemCount() - 1) {
ProvisioningContext context = new ProvisioningContext(ui.getSession().getProvisioningAgent());
context.setMetadataRepositories(locals);
- setArtifactRepositories(context, locals);
+ context.setArtifactRepositories(locals);
return context;
}
// A single site is selected.
ProvisioningContext context = new ProvisioningContext(ui.getSession().getProvisioningAgent());
context.setMetadataRepositories(new URI[] {comboRepos[siteSel]});
- setArtifactRepositories(context, (new URI[] {comboRepos[siteSel]}));
+ context.setArtifactRepositories(new URI[] {comboRepos[siteSel]});
return context;
}
- private void setArtifactRepositories(ProvisioningContext context, URI[] metadataRepos) {
- ArrayList<URI> list = new ArrayList<URI>(metadataRepos.length);
- IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ui.getSession().getProvisioningAgent().getService(IMetadataRepositoryManager.SERVICE_NAME);
- if (manager == null)
- return;
-
- for (int i = 0; i < metadataRepos.length; i++) {
- // first assume a colocated artifact repository
- list.add(metadataRepos[i]);
- // Load the repository so that we can get its references.
- // Since this method is only called when the repositories are selected, we can safely
- // assume that the repo has already been loaded (so this is fast).
- IMetadataRepository repository;
- try {
- repository = manager.loadRepository(metadataRepos[i], new NullProgressMonitor());
- Collection<IRepositoryReference> references = repository.getReferences();
- for (IRepositoryReference ref : references) {
- if (ref.getType() == IRepository.TYPE_ARTIFACT && (ref.getOptions() | IRepository.ENABLED) != 0) {
- list.add(ref.getLocation());
- }
- }
- } catch (ProvisionException e) {
- // ignore, this will have been reported elsewhere.
- }
- }
- context.setArtifactRepositories(list.toArray(new URI[list.size()]));
- }
-
void repoComboSelectionChanged() {
int repoChoice = -1;
URI repoLocation = null;

Back to the top