diff options
author | Matthew Piggott | 2011-03-14 17:08:46 +0000 |
---|---|---|
committer | Matthew Piggott | 2011-03-14 17:08:46 +0000 |
commit | 730c33122041f6b8f99f1a7d72af5c5372c991be (patch) | |
tree | 997b0677420a94d9971273e4be0a45f2a82ecb09 /org.eclipse.m2e.discovery/src | |
parent | 8c0c9f960ac1eb673bb09b5a3037ca586ad15d8b (diff) | |
download | m2e-core-730c33122041f6b8f99f1a7d72af5c5372c991be.tar.gz m2e-core-730c33122041f6b8f99f1a7d72af5c5372c991be.tar.xz m2e-core-730c33122041f6b8f99f1a7d72af5c5372c991be.zip |
Bug 339557 - same installable unit appears multiple times in maven discovery install wizard
Diffstat (limited to 'org.eclipse.m2e.discovery/src')
2 files changed, 13 insertions, 9 deletions
diff --git a/org.eclipse.m2e.discovery/src/org/eclipse/m2e/internal/discovery/MavenDiscoveryService.java b/org.eclipse.m2e.discovery/src/org/eclipse/m2e/internal/discovery/MavenDiscoveryService.java index 3750613a..75bcb14f 100644 --- a/org.eclipse.m2e.discovery/src/org/eclipse/m2e/internal/discovery/MavenDiscoveryService.java +++ b/org.eclipse.m2e.discovery/src/org/eclipse/m2e/internal/discovery/MavenDiscoveryService.java @@ -14,9 +14,11 @@ package org.eclipse.m2e.internal.discovery; import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; import java.util.Collection; +import java.util.HashSet; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.Set; import org.apache.maven.execution.MavenExecutionRequest; import org.apache.maven.plugin.MojoExecution; @@ -151,7 +153,7 @@ public class MavenDiscoveryService implements IImportWizardPageFactory, IMavenDi MavenExecutionRequest request = maven.createExecutionRequest(monitor); // TODO this ignores workspace dependencies - List<CatalogItem> selectedItems = toCatalogItems(preselected); + Collection<CatalogItem> selectedItems = toCatalogItems(preselected); List<LifecycleMappingMetadataSource> selectedSources = toMetadataSources(preselected); for(CatalogItemCacheEntry itemEntry : items) { @@ -318,8 +320,8 @@ public class MavenDiscoveryService implements IImportWizardPageFactory, IMavenDi } } - private List<CatalogItem> toCatalogItems(List<IMavenDiscoveryProposal> proposals) { - List<CatalogItem> items = new ArrayList<CatalogItem>(); + private Collection<CatalogItem> toCatalogItems(List<IMavenDiscoveryProposal> proposals) { + Set<CatalogItem> items = new HashSet<CatalogItem>(); for(IMavenDiscoveryProposal proposal : proposals) { if(proposal instanceof InstallCatalogItemMavenDiscoveryProposal) { items.add(((InstallCatalogItemMavenDiscoveryProposal) proposal).getCatalogItem()); diff --git a/org.eclipse.m2e.discovery/src/org/eclipse/m2e/internal/discovery/operation/MavenDiscoveryInstallOperation.java b/org.eclipse.m2e.discovery/src/org/eclipse/m2e/internal/discovery/operation/MavenDiscoveryInstallOperation.java index 0e09a890..b48cb4c1 100644 --- a/org.eclipse.m2e.discovery/src/org/eclipse/m2e/internal/discovery/operation/MavenDiscoveryInstallOperation.java +++ b/org.eclipse.m2e.discovery/src/org/eclipse/m2e/internal/discovery/operation/MavenDiscoveryInstallOperation.java @@ -52,7 +52,7 @@ import org.eclipse.osgi.util.NLS; */ @SuppressWarnings("restriction") public class MavenDiscoveryInstallOperation implements IRunnableWithProgress { - private List<CatalogItem> installableConnectors; + private Collection<CatalogItem> installableConnectors; private ProvisioningSession session; @@ -70,12 +70,14 @@ public class MavenDiscoveryInstallOperation implements IRunnableWithProgress { private boolean shouldResolve; - public MavenDiscoveryInstallOperation(List<CatalogItem> installableConnectors, IRunnableWithProgress postInstallHook, + public MavenDiscoveryInstallOperation(Collection<CatalogItem> installableConnectors, + IRunnableWithProgress postInstallHook, boolean restart) { this(installableConnectors, postInstallHook, restart, true, null); } - public MavenDiscoveryInstallOperation(List<CatalogItem> installableConnectors, IRunnableWithProgress postInstallHook, + public MavenDiscoveryInstallOperation(Collection<CatalogItem> installableConnectors, + IRunnableWithProgress postInstallHook, boolean restart, boolean shouldResolve, Collection<String> projectsToConfigure) { this.installableConnectors = installableConnectors; this.postInstallHook = postInstallHook; @@ -123,7 +125,7 @@ public class MavenDiscoveryInstallOperation implements IRunnableWithProgress { try { List<IMetadataRepository> repositories = addRepositories(monitor.newChild(50)); - final List<IInstallableUnit> installableUnits = queryInstallableUnits(monitor.newChild(50), repositories); + final Collection<IInstallableUnit> installableUnits = queryInstallableUnits(monitor.newChild(50), repositories); if(!statuses.isEmpty()) { throw new CoreException(new MultiStatus(DiscoveryActivator.PLUGIN_ID, 0, statuses.toArray(new IStatus[statuses @@ -138,9 +140,9 @@ public class MavenDiscoveryInstallOperation implements IRunnableWithProgress { /* * Get IUs to install from the specified repository */ - private List<IInstallableUnit> queryInstallableUnits(IProgressMonitor progressMonitor, + private Collection<IInstallableUnit> queryInstallableUnits(IProgressMonitor progressMonitor, List<IMetadataRepository> repositories) { - final List<IInstallableUnit> installableUnits = new ArrayList<IInstallableUnit>(installableConnectors.size()); + final Set<IInstallableUnit> installableUnits = new HashSet<IInstallableUnit>(installableConnectors.size()); SubMonitor monitor = SubMonitor.convert(progressMonitor, installableConnectors.size()); try { |