Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMilos Kleint2011-03-03 09:40:55 +0000
committerMilos Kleint2011-03-03 09:40:55 +0000
commitb06367d7b09d7ff293044da4c000fa192fb014f5 (patch)
tree33ebf57d43b743997a7e527440b546360edb64d7 /org.eclipse.m2e.core.ui
parentbcfefbd521969b366054d85f3b8d7f796997a7ea (diff)
downloadm2e-core-b06367d7b09d7ff293044da4c000fa192fb014f5.tar.gz
m2e-core-b06367d7b09d7ff293044da4c000fa192fb014f5.tar.xz
m2e-core-b06367d7b09d7ff293044da4c000fa192fb014f5.zip
335701 correct next/finish button enablement logic based of the mapping anylysis result. when there are problems with mapping, disable finish on first page and enable next, and vice versa
Diffstat (limited to 'org.eclipse.m2e.core.ui')
-rw-r--r--org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/wizards/MavenImportWizard.java19
-rw-r--r--org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/wizards/MavenImportWizardPage.java22
2 files changed, 37 insertions, 4 deletions
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 dec3b77a..1b44f509 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
@@ -21,7 +21,6 @@ import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.operation.IRunnableWithProgress;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.m2e.core.MavenPlugin;
import org.eclipse.m2e.core.internal.lifecyclemapping.discovery.IMavenDiscoveryProposal;
@@ -87,6 +86,7 @@ public class MavenImportWizard extends AbstractMavenProjectWizard implements IIm
}
public boolean performFinish() {
+ //mkleint: this sounds wrong.
if(!page.isPageComplete()) {
return false;
}
@@ -124,6 +124,23 @@ public class MavenImportWizard extends AbstractMavenProjectWizard implements IIm
return true;
}
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.wizard.Wizard#canFinish()
+ */
+ @Override
+ public boolean canFinish() {
+ //in here make sure that the lifecycle page is hidden from view when the mappings are fine
+ //but disable finish when there are some problems (thus force people to at least look at the other page)
+ boolean complete = page.isPageComplete();
+ if (complete) {
+ LifecycleMappingConfiguration mapping = getMappingConfiguration();
+ if (mapping == null || !mapping.isMappingComplete()) {
+ return false;
+ }
+ }
+ return super.canFinish();
+ }
+
/**
* @return
*/
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 e6dfc5b2..6a1cdfa8 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
@@ -37,6 +37,7 @@ import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.jface.wizard.IWizardPage;
import org.eclipse.m2e.core.MavenPlugin;
import org.eclipse.m2e.core.embedder.MavenModelManager;
import org.eclipse.m2e.core.project.AbstractProjectScanner;
@@ -44,6 +45,7 @@ import org.eclipse.m2e.core.project.LocalProjectScanner;
import org.eclipse.m2e.core.project.MavenProjectInfo;
import org.eclipse.m2e.core.project.ProjectImportConfiguration;
import org.eclipse.m2e.core.ui.internal.Messages;
+import org.eclipse.m2e.core.ui.internal.lifecyclemapping.LifecycleMappingConfiguration;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.FocusAdapter;
@@ -322,7 +324,7 @@ public class MavenImportWizardPage extends AbstractMavenWizardPage {
projectScanner.run(monitor);
((MavenImportWizard) getWizard()).scanProjects(getProjects(projectScanner.getProjects()), monitor);
}
-
+ //this collects all projects for analyzing..
List<MavenProjectInfo> getProjects(Collection<MavenProjectInfo> input) {
List<MavenProjectInfo> toRet = new ArrayList<MavenProjectInfo>();
for (MavenProjectInfo info : input) {
@@ -475,12 +477,26 @@ public class MavenImportWizardPage extends AbstractMavenWizardPage {
}
}
}
-
+
setMessage(null);
setPageComplete(projectTreeViewer.getCheckedElements().length > 0);
projectTreeViewer.refresh();
}
-
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.wizard.WizardPage#getNextPage()
+ */
+ @Override
+ public IWizardPage getNextPage() {
+ IWizardPage next = super.getNextPage();
+ MavenImportWizard wizard = (MavenImportWizard)getWizard();
+ LifecycleMappingConfiguration config = wizard.getMappingConfiguration();
+ if (config != null && config.isMappingComplete()) {
+ next = null;
+ }
+ return next;
+ }
+
/**
* ProjectLabelProvider
*/

Back to the top