Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMilos Kleint2011-03-07 13:35:56 +0000
committerMilos Kleint2011-03-07 13:36:33 +0000
commitba4071b2ae824fd5a5e6f901784c1c49c19f50a2 (patch)
tree1a1751e863643d39b2e517fe94d63c8c76a57209 /org.eclipse.m2e.core.ui
parent04acf36286b61be597a15fc97e2ef269ae6eb47c (diff)
downloadm2e-core-ba4071b2ae824fd5a5e6f901784c1c49c19f50a2.tar.gz
m2e-core-ba4071b2ae824fd5a5e6f901784c1c49c19f50a2.tar.xz
m2e-core-ba4071b2ae824fd5a5e6f901784c1c49c19f50a2.zip
338944 fix the canFinish() and getNextPage() in case there is no mapping data due to error in gathering the data.
Diffstat (limited to 'org.eclipse.m2e.core.ui')
-rw-r--r--org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/lifecyclemapping/LifecycleMappingConfiguration.java3
-rw-r--r--org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/wizards/MavenImportWizard.java14
-rw-r--r--org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/wizards/MavenImportWizardPage.java17
3 files changed, 26 insertions, 8 deletions
diff --git a/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/lifecyclemapping/LifecycleMappingConfiguration.java b/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/lifecyclemapping/LifecycleMappingConfiguration.java
index 43cd028b..933d08b4 100644
--- a/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/lifecyclemapping/LifecycleMappingConfiguration.java
+++ b/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/lifecyclemapping/LifecycleMappingConfiguration.java
@@ -179,6 +179,9 @@ public class LifecycleMappingConfiguration {
}
public static LifecycleMappingConfiguration clone(LifecycleMappingConfiguration original, Collection<MavenProjectInfo> filter) {
+ if (original == null) {
+ throw new IllegalArgumentException("The original LifecycleMappingConfiguration shall not be null.");
+ }
LifecycleMappingConfiguration result = new LifecycleMappingConfiguration();
for (MavenProjectInfo info : filter) {
ProjectLifecycleMappingConfiguration res = original.projects.get(info);
diff --git a/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/wizards/MavenImportWizard.java b/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/wizards/MavenImportWizard.java
index d871adde..989a6ef3 100644
--- a/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/wizards/MavenImportWizard.java
+++ b/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/wizards/MavenImportWizard.java
@@ -36,6 +36,8 @@ import org.eclipse.m2e.core.ui.internal.actions.SelectionUtil;
import org.eclipse.m2e.core.ui.internal.lifecyclemapping.LifecycleMappingConfiguration;
import org.eclipse.ui.IImportWizard;
import org.eclipse.ui.IWorkbench;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
@@ -46,6 +48,7 @@ import org.eclipse.ui.IWorkbench;
@SuppressWarnings("restriction")
public class MavenImportWizard extends AbstractMavenProjectWizard implements IImportWizard {
+ private static final Logger LOG = LoggerFactory.getLogger(MavenImportWizard.class);
private MavenImportWizardPage page;
private LifecycleMappingPage lifecycleMappingPage;
@@ -166,7 +169,8 @@ public class MavenImportWizard extends AbstractMavenProjectWizard implements IIm
boolean complete = page.isPageComplete();
if (complete && getContainer().getCurrentPage() == page) { //only apply this logic on the first page
LifecycleMappingConfiguration mapping = getMappingConfiguration();
- if (mapping == null || !mapping.isMappingComplete()) {
+ //mapping is null when the scanning failed to finish. in that case we want to wizard to end on the first page.
+ if (mapping != null && !mapping.isMappingComplete()) {
return false;
}
}
@@ -197,10 +201,13 @@ public class MavenImportWizard extends AbstractMavenProjectWizard implements IIm
}
/**
- * @return
+ * @return null or a clone
*/
public LifecycleMappingConfiguration getMappingConfiguration() {
- return LifecycleMappingConfiguration.clone(mappingConfiguration, getProjects());
+ if (mappingConfiguration != null) {
+ return LifecycleMappingConfiguration.clone(mappingConfiguration, getProjects());
+ }
+ return null;
}
/**
@@ -210,6 +217,7 @@ public class MavenImportWizard extends AbstractMavenProjectWizard implements IIm
*
*/
void scanProjects(final List<MavenProjectInfo> list, IProgressMonitor monitor) throws CoreException {
+ LOG.debug("About to calculate lifecycle mapping configuration");
ProjectImportConfiguration importConfiguration = getProjectImportConfiguration();
mappingConfiguration = LifecycleMappingConfiguration.calculate(list, importConfiguration, monitor);
}
diff --git a/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/wizards/MavenImportWizardPage.java b/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/wizards/MavenImportWizardPage.java
index cdef4484..b8a05d52 100644
--- a/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/wizards/MavenImportWizardPage.java
+++ b/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/wizards/MavenImportWizardPage.java
@@ -25,6 +25,7 @@ import org.eclipse.core.resources.IWorkspaceRoot;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.Path;
import org.eclipse.jface.dialogs.IMessageProvider;
import org.eclipse.jface.operation.IRunnableWithProgress;
import org.eclipse.jface.viewers.CheckStateChangedEvent;
@@ -322,7 +323,11 @@ public class MavenImportWizardPage extends AbstractMavenWizardPage {
createAdvancedSettings(composite, new GridData(SWT.FILL, SWT.TOP, false, false, 3, 1));
resolverConfigurationComponent.template.addModifyListener(new ModifyListener(){
public void modifyText(ModifyEvent arg0) {
- validate();
+ Display.getDefault().asyncExec(new Runnable() {
+ public void run() {
+ validate();
+ }
+ });
}
});
@@ -453,8 +458,11 @@ public class MavenImportWizardPage extends AbstractMavenWizardPage {
boolean isAlreadyExists(MavenProjectInfo info) {
if(info!=null) {
IWorkspace workspace = ResourcesPlugin.getWorkspace();
- IProject project = getImportConfiguration().getProject(workspace.getRoot(), info.getModel());
- return project.exists();
+ String name = getImportConfiguration().getProjectName(info.getModel());
+ if (name != null && name.length() > 0) {
+ IProject project = workspace.getRoot().getProject(name);
+ return project.exists();
+ }
}
return false;
}
@@ -511,7 +519,6 @@ public class MavenImportWizardPage extends AbstractMavenWizardPage {
}
}
}
-
setMessage(null);
setPageComplete(projectTreeViewer.getCheckedElements().length > 0);
projectTreeViewer.refresh();
@@ -525,7 +532,7 @@ public class MavenImportWizardPage extends AbstractMavenWizardPage {
IWizardPage next = super.getNextPage();
MavenImportWizard wizard = (MavenImportWizard)getWizard();
LifecycleMappingConfiguration config = wizard.getMappingConfiguration();
- if (config != null && config.isMappingComplete()) {
+ if (config == null || config.isMappingComplete()) {
next = null;
}
return next;

Back to the top