Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.m2e.discovery/src/org/eclipse/m2e/internal/discovery/markers/DiscoveryWizardProposal.java')
-rw-r--r--org.eclipse.m2e.discovery/src/org/eclipse/m2e/internal/discovery/markers/DiscoveryWizardProposal.java36
1 files changed, 29 insertions, 7 deletions
diff --git a/org.eclipse.m2e.discovery/src/org/eclipse/m2e/internal/discovery/markers/DiscoveryWizardProposal.java b/org.eclipse.m2e.discovery/src/org/eclipse/m2e/internal/discovery/markers/DiscoveryWizardProposal.java
index 4c253f6f..f9b8a05f 100644
--- a/org.eclipse.m2e.discovery/src/org/eclipse/m2e/internal/discovery/markers/DiscoveryWizardProposal.java
+++ b/org.eclipse.m2e.discovery/src/org/eclipse/m2e/internal/discovery/markers/DiscoveryWizardProposal.java
@@ -12,7 +12,6 @@
package org.eclipse.m2e.internal.discovery.markers;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@@ -29,18 +28,27 @@ import org.eclipse.ui.views.markers.WorkbenchMarkerResolution;
class DiscoveryWizardProposal extends WorkbenchMarkerResolution {
- static final DiscoveryWizardProposal PROPOSAL = new DiscoveryWizardProposal();
+ private IMarker marker;
+
+ public DiscoveryWizardProposal(IMarker marker) {
+ this.marker = marker;
+ }
@SuppressWarnings("unchecked")
public void run(IMarker marker) {
String type = marker.getAttribute(IMavenConstants.MARKER_ATTR_EDITOR_HINT, null);
if(IMavenConstants.EDITOR_HINT_UNKNOWN_PACKAGING.equals(type)) {
- MavenDiscovery.launchWizard(Arrays.asList(new String[] {getPackageType(marker)}), Collections.EMPTY_LIST);
+ MavenDiscovery.launchWizard(Collections.singleton(getPackageType(marker)), Collections.EMPTY_LIST,
+ Collections.EMPTY_LIST, Collections.EMPTY_LIST);
} else if(IMavenConstants.EDITOR_HINT_NOT_COVERED_MOJO_EXECUTION.equals(type)) {
MavenDiscovery
- .launchWizard(Collections.EMPTY_LIST, Arrays.asList(new MojoExecution[] {getMojoExecution(marker)}));
+ .launchWizard(Collections.EMPTY_LIST, Collections.singleton(getMojoExecution(marker)), Collections.EMPTY_LIST, Collections.EMPTY_LIST);
+ } else if(IMavenConstants.EDITOR_HINT_UNKNOWN_LIFECYCLE_ID.equals(type)) {
+ MavenDiscovery.launchWizard(Collections.EMPTY_LIST, Collections.EMPTY_LIST,
+ Collections.singleton(getLifecycleId(marker)), Collections.EMPTY_LIST);
+ } else if(IMavenConstants.EDITOR_HINT_MISSING_CONFIGURATOR.equals(type)) {
+ MavenDiscovery.launchWizard(Collections.EMPTY_LIST, Collections.EMPTY_LIST, Collections.EMPTY_LIST, Collections.singleton(getConfiguratorId(marker)));
}
-
}
public String getDescription() {
@@ -53,17 +61,23 @@ class DiscoveryWizardProposal extends WorkbenchMarkerResolution {
@Override
public void run(IMarker[] markers, IProgressMonitor monitor) {
+ List<String> lifecycleIds = new ArrayList<String>();
List<String> packagingTypes = new ArrayList<String>();
List<MojoExecution> mojos = new ArrayList<MojoExecution>();
+ List<String> configuratorIds = new ArrayList<String>();
for(IMarker marker : markers) {
String type = marker.getAttribute(IMavenConstants.MARKER_ATTR_EDITOR_HINT, null);
if(IMavenConstants.EDITOR_HINT_UNKNOWN_PACKAGING.equals(type)) {
packagingTypes.add(getPackageType(marker));
} else if(IMavenConstants.EDITOR_HINT_NOT_COVERED_MOJO_EXECUTION.equals(type)) {
mojos.add(getMojoExecution(marker));
+ } else if(IMavenConstants.EDITOR_HINT_UNKNOWN_LIFECYCLE_ID.equals(type)) {
+ lifecycleIds.add(getLifecycleId(marker));
+ } else if(IMavenConstants.EDITOR_HINT_MISSING_CONFIGURATOR.equals(type)) {
+ configuratorIds.add(getConfiguratorId(marker));
}
}
- MavenDiscovery.launchWizard(packagingTypes, mojos);
+ MavenDiscovery.launchWizard(packagingTypes, mojos, lifecycleIds, configuratorIds);
}
private MojoExecution getMojoExecution(IMarker marker) {
@@ -90,11 +104,19 @@ class DiscoveryWizardProposal extends WorkbenchMarkerResolution {
return marker.getAttribute(IMavenConstants.MARKER_ATTR_PACKAGING, null);
}
+ private String getLifecycleId(IMarker marker) {
+ return marker.getAttribute(IMavenConstants.MARKER_ATTR_LIFECYCLE_PHASE, null);
+ }
+
+ private String getConfiguratorId(IMarker marker) {
+ return marker.getAttribute(IMavenConstants.MARKER_ATTR_CONFIGURATOR_ID, null);
+ }
+
@Override
public IMarker[] findOtherMarkers(IMarker[] markers) {
List<IMarker> handled = new ArrayList<IMarker>();
for(IMarker marker : markers) {
- if(MavenDiscoveryMarkerResolutionGenerator.canResolve(marker)) {
+ if(marker != this.marker && MavenDiscoveryMarkerResolutionGenerator.canResolve(marker)) {
handled.add(marker);
}
}

Back to the top