Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Piggott2011-03-14 17:08:46 +0000
committerMatthew Piggott2011-03-14 17:08:46 +0000
commit730c33122041f6b8f99f1a7d72af5c5372c991be (patch)
tree997b0677420a94d9971273e4be0a45f2a82ecb09 /org.eclipse.m2e.discovery
parent8c0c9f960ac1eb673bb09b5a3037ca586ad15d8b (diff)
downloadm2e-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')
-rw-r--r--org.eclipse.m2e.discovery/src/org/eclipse/m2e/internal/discovery/MavenDiscoveryService.java8
-rw-r--r--org.eclipse.m2e.discovery/src/org/eclipse/m2e/internal/discovery/operation/MavenDiscoveryInstallOperation.java14
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 {

Back to the top