diff options
Diffstat (limited to 'org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/wizards/MavenProjectWizardArchetypeParametersPage.java')
-rw-r--r-- | org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/wizards/MavenProjectWizardArchetypeParametersPage.java | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/wizards/MavenProjectWizardArchetypeParametersPage.java b/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/wizards/MavenProjectWizardArchetypeParametersPage.java index a638a9df..82346395 100644 --- a/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/wizards/MavenProjectWizardArchetypeParametersPage.java +++ b/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/wizards/MavenProjectWizardArchetypeParametersPage.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008-2010 Sonatype, Inc. + * Copyright (c) 2008-2013 Sonatype, Inc. and others * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -70,6 +70,7 @@ import org.eclipse.m2e.core.ui.internal.components.TextComboBoxCellEditor; * a project (thus the class name pun). */ public class MavenProjectWizardArchetypeParametersPage extends AbstractMavenWizardPage { + private static final Logger log = LoggerFactory.getLogger(MavenProjectWizardArchetypeParametersPage.class); public static final String DEFAULT_VERSION = "0.0.1-SNAPSHOT"; //$NON-NLS-1$ @@ -304,9 +305,11 @@ public class MavenProjectWizardArchetypeParametersPage extends AbstractMavenWiza * @see org.eclipse.jface.wizard.WizardPage#setPageComplete(boolean) */ void validate() { - String error = validateInput(); - setErrorMessage(error); - setPageComplete(error == null); + if(isVisible()) { + String error = validateInput(); + setErrorMessage(error); + setPageComplete(error == null); + } } private String validateInput() { @@ -539,16 +542,23 @@ public class MavenProjectWizardArchetypeParametersPage extends AbstractMavenWiza public void setVisible(boolean visible) { super.setVisible(visible); + boolean shouldValidate = false; + if(visible) { + + if(archetypeChanged && archetype != null) { + archetypeChanged = false; + loadArchetypeDescriptor(); + shouldValidate = true; + } + if(groupIdCombo.getText().length() == 0 && groupIdCombo.getItemCount() > 0) { groupIdCombo.setText(groupIdCombo.getItem(0)); packageCombo.setText(getDefaultJavaPackage()); packageCustomized = false; } - if(archetypeChanged && archetype != null) { - archetypeChanged = false; - loadArchetypeDescriptor(); + if(shouldValidate) { validate(); } @@ -642,4 +652,8 @@ public class MavenProjectWizardArchetypeParametersPage extends AbstractMavenWiza return pkg.toString(); } + + private boolean isVisible() { + return getControl() != null && getControl().isVisible(); + } } |