Author: fbricon
Date: 2012-02-17 11:24:30 -0500 (Fri, 17 Feb 2012)
New Revision: 38885
Added:
trunk/central/plugins/org.jboss.tools.central/src/org/jboss/tools/central/wizards/ErrorPage.java
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/wizard/IWizardContextChangeListener.java
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/wizard/WizardContext.java
trunk/maven/plugins/org.jboss.tools.maven.project.examples/src/org/jboss/tools/maven/project/examples/wizard/MavenProjectConstants.java
Modified:
trunk/central/plugins/org.jboss.tools.central/src/org/jboss/tools/central/editors/GettingStartedPage.java
trunk/central/plugins/org.jboss.tools.central/src/org/jboss/tools/central/jobs/RefreshTutorialsJob.java
trunk/central/plugins/org.jboss.tools.central/src/org/jboss/tools/central/wizards/AbstractJBossCentralProjectWizard.java
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/configurators/DefaultJBossCentralConfigurator.java
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/wizard/IProjectExamplesWizardPage.java
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/wizard/NewProjectExamplesWizard2.java
trunk/maven/plugins/org.jboss.tools.maven.project.examples/src/org/jboss/tools/maven/project/examples/wizard/ArchetypeExamplesWizardFirstPage.java
trunk/maven/plugins/org.jboss.tools.maven.project.examples/src/org/jboss/tools/maven/project/examples/wizard/ArchetypeExamplesWizardPage.java
Log:
JBIDE-10212 : complete "File > New" project wizards
Modified:
trunk/central/plugins/org.jboss.tools.central/src/org/jboss/tools/central/editors/GettingStartedPage.java
===================================================================
---
trunk/central/plugins/org.jboss.tools.central/src/org/jboss/tools/central/editors/GettingStartedPage.java 2012-02-17
16:15:18 UTC (rev 38884)
+++
trunk/central/plugins/org.jboss.tools.central/src/org/jboss/tools/central/editors/GettingStartedPage.java 2012-02-17
16:24:30 UTC (rev 38885)
@@ -876,18 +876,6 @@
showTutorials(categories);
}
- @Deprecated
- //This method should be removed once the EE6 archetypes are wizardified
- private void updateNewProjects(List<ProjectExample> wizardProjects) {
- if (!newProjectsInitialized) {
- if (wizardProjects != null) {
- newProjectsInitialized = true;
- displayTutorialLinks(wizardProjects, projectsComposite, false);
- resize(true);
- }
- }
- }
-
private void showTutorials(Map<ProjectExampleCategory, List<ProjectExample>>
categories) {
disposeChildren(tutorialsComposite);
List<ProjectExampleCategory> sortedCategories = new
ArrayList<ProjectExampleCategory>(categories.keySet());
@@ -1250,11 +1238,11 @@
//TEMPORARY HACK FOR JBIDE-10053 (Java EE6 archetypes in the project section)
//Should be removed once these archetype tutorials are changed to use wizards as per
JBIDE-10264
- RefreshTutorialsJob job = RefreshTutorialsJob.INSTANCE;
- List<ProjectExample> wizardProjects = job.getWizardProjects();
- if (wizardProjects != null){
- updateNewProjects(wizardProjects);
- }
+// RefreshTutorialsJob job = RefreshTutorialsJob.INSTANCE;
+// List<ProjectExample> wizardProjects = job.getWizardProjects();
+// if (wizardProjects != null){
+// updateNewProjects(wizardProjects);
+// }
}
});
Modified:
trunk/central/plugins/org.jboss.tools.central/src/org/jboss/tools/central/jobs/RefreshTutorialsJob.java
===================================================================
---
trunk/central/plugins/org.jboss.tools.central/src/org/jboss/tools/central/jobs/RefreshTutorialsJob.java 2012-02-17
16:15:18 UTC (rev 38884)
+++
trunk/central/plugins/org.jboss.tools.central/src/org/jboss/tools/central/jobs/RefreshTutorialsJob.java 2012-02-17
16:24:30 UTC (rev 38885)
@@ -21,10 +21,10 @@
import org.eclipse.core.runtime.jobs.Job;
import org.jboss.tools.central.JBossCentralActivator;
import org.jboss.tools.project.examples.ProjectExamplesActivator;
+import org.jboss.tools.project.examples.model.ProjectExample;
import org.jboss.tools.project.examples.model.ProjectExampleCategory;
-import org.jboss.tools.project.examples.model.ProjectExample;
+import org.jboss.tools.project.examples.model.ProjectExampleUtil;
import org.jboss.tools.project.examples.model.ProjectFix;
-import org.jboss.tools.project.examples.model.ProjectExampleUtil;
/**
*
Modified:
trunk/central/plugins/org.jboss.tools.central/src/org/jboss/tools/central/wizards/AbstractJBossCentralProjectWizard.java
===================================================================
---
trunk/central/plugins/org.jboss.tools.central/src/org/jboss/tools/central/wizards/AbstractJBossCentralProjectWizard.java 2012-02-17
16:15:18 UTC (rev 38884)
+++
trunk/central/plugins/org.jboss.tools.central/src/org/jboss/tools/central/wizards/AbstractJBossCentralProjectWizard.java 2012-02-17
16:24:30 UTC (rev 38885)
@@ -13,6 +13,11 @@
import java.util.List;
import org.eclipse.core.runtime.Assert;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+import org.eclipse.jface.operation.IRunnableWithProgress;
+import org.jboss.tools.central.JBossCentralActivator;
import org.jboss.tools.central.jobs.RefreshTutorialsJob;
import org.jboss.tools.project.examples.model.ProjectExample;
import org.jboss.tools.project.examples.wizard.NewProjectExamplesWizard2;
@@ -34,10 +39,18 @@
ProjectExample example = null;
RefreshTutorialsJob refreshTutorialsJob = RefreshTutorialsJob.INSTANCE;
List<ProjectExample> wizardProjects = refreshTutorialsJob.getWizardProjects();
+
if (wizardProjects == null || wizardProjects.isEmpty()) {
- //FIXME needs to execute refreshTutorialsJob and wait, gracefully
- //wizardProjects = refreshTutorialsJob.getWizardProjects();
- }
+ RunnableLookup lookup = new RunnableLookup();
+ try {
+ new ProgressMonitorDialog(getShell()).run(true, true, lookup);
+ } catch (Exception e) {
+ JBossCentralActivator.log(e);
+ }
+ wizardProjects = refreshTutorialsJob.getWizardProjects();
+ }
+
+
if (wizardProjects != null) {
for (ProjectExample expl : wizardProjects) {
if (matches(expl)) {
@@ -61,33 +74,29 @@
@Override
public void addPages() {
if (getProjectExample() == null) {
- //TODO add error page
+ //MessageDialog.openError(getShell(), "Wizard Error", "Wizard metadata
could not be loaded");
+ addPage(new ErrorPage("Failed to load Wizard", "Wizard metadata could
not be loaded"));
} else {
super.addPages();
}
}
- /*
- RunnableLookup lookup = new RunnableLookup(exampleName);
- try {
- new ProgressMonitorDialog(getShell()).run(true, true, lookup);
- } catch (Exception e) {
- JBossCentralActivator.log(e);
- }
-
class RunnableLookup implements IRunnableWithProgress {
- ProjectExample example;
-
public void run(IProgressMonitor monitor) {
- List<ProjectExampleCategory> categories =
ProjectExampleUtil.getProjects(monitor);
- for (ProjectExample expl : ProjectExampleUtil.getProjectsByTags(categories,
"wizard")) {
- if (matches(expl)) {
- example = expl;
- break;
+ monitor.setTaskName("Refreshing project examples");
+ RefreshTutorialsJob refreshTutorialsJob = RefreshTutorialsJob.INSTANCE;
+ int jobState = refreshTutorialsJob.getState();
+ try {
+ if (jobState == Job.NONE) {
+ refreshTutorialsJob.schedule();
}
+ refreshTutorialsJob.join();
+ } catch (Exception e) {
+ e.printStackTrace();
}
}
}
- */
+
+
}
Added:
trunk/central/plugins/org.jboss.tools.central/src/org/jboss/tools/central/wizards/ErrorPage.java
===================================================================
---
trunk/central/plugins/org.jboss.tools.central/src/org/jboss/tools/central/wizards/ErrorPage.java
(rev 0)
+++
trunk/central/plugins/org.jboss.tools.central/src/org/jboss/tools/central/wizards/ErrorPage.java 2012-02-17
16:24:30 UTC (rev 38885)
@@ -0,0 +1,33 @@
+/*************************************************************************************
+ * Copyright (c) 2012 Red Hat, 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
+ *
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * JBoss by Red Hat - Initial implementation.
+ ************************************************************************************/
+package org.jboss.tools.central.wizards;
+
+import org.eclipse.jface.wizard.WizardPage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+
+public class ErrorPage extends WizardPage {
+
+ public ErrorPage(String title, String errorMessage) {
+ super("Error");
+ setTitle(title);
+ setErrorMessage(errorMessage);
+ }
+
+ @Override
+ public void createControl(Composite parent) {
+ Composite composite = new Composite(parent, SWT.NULL);
+ composite.setLayout(new GridLayout(3, false));
+ setControl(composite);
+ }
+
+}
Modified:
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/configurators/DefaultJBossCentralConfigurator.java
===================================================================
---
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/configurators/DefaultJBossCentralConfigurator.java 2012-02-17
16:15:18 UTC (rev 38884)
+++
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/configurators/DefaultJBossCentralConfigurator.java 2012-02-17
16:24:30 UTC (rev 38885)
@@ -76,7 +76,13 @@
List<String> wizardIds = new ArrayList<String>();
wizardIds.add("org.eclipse.jst.servlet.ui.project.facet.WebProjectWizard");
//$NON-NLS-1$
wizardIds.add("org.jboss.ide.eclipse.as.openshift.express.ui.wizard.createNewApplicationWizard");
//$NON-NLS-1$
- return wizardIds;
+
wizardIds.add("org.jboss.tools.central.wizards.NewJavaeeWarProjectWizard");
//$NON-NLS-1$
+
wizardIds.add("org.jboss.tools.central.wizards.NewJavaeeEarProjectWizard");
//$NON-NLS-1$
+ wizardIds.add("org.jboss.tools.central.wizards.NewHtml5ProjectWizard");
//$NON-NLS-1$
+
wizardIds.add("org.jboss.tools.central.wizards.NewRichfacesProjectWizard");
//$NON-NLS-1$
+
wizardIds.add("org.jboss.tools.central.wizards.NewSpringMvcProjectWizard");
//$NON-NLS-1$
+ wizardIds.add("org.jboss.tools.central.wizards.NewGwtProjectWizard");
//$NON-NLS-1$
+ return wizardIds;
}
@Override
Modified:
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/wizard/IProjectExamplesWizardPage.java
===================================================================
---
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/wizard/IProjectExamplesWizardPage.java 2012-02-17
16:15:18 UTC (rev 38884)
+++
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/wizard/IProjectExamplesWizardPage.java 2012-02-17
16:24:30 UTC (rev 38885)
@@ -5,7 +5,7 @@
import org.eclipse.jface.wizard.IWizardPage;
import org.jboss.tools.project.examples.model.ProjectExample;
-public interface IProjectExamplesWizardPage extends IWizardPage {
+public interface IProjectExamplesWizardPage extends IWizardPage,
IWizardContextChangeListener {
boolean finishPage();
@@ -14,4 +14,6 @@
void setProjectExample(ProjectExample projectExample);
Map<String, Object> getPropertiesMap();
+
+ void setWizardContext(WizardContext context);
}
Added:
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/wizard/IWizardContextChangeListener.java
===================================================================
---
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/wizard/IWizardContextChangeListener.java
(rev 0)
+++
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/wizard/IWizardContextChangeListener.java 2012-02-17
16:24:30 UTC (rev 38885)
@@ -0,0 +1,16 @@
+/*************************************************************************************
+ * Copyright (c) 2012 Red Hat, 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
+ *
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * JBoss by Red Hat - Initial implementation.
+ ************************************************************************************/
+package org.jboss.tools.project.examples.wizard;
+
+public interface IWizardContextChangeListener {
+
+ void onWizardContextChange(String key, Object value);
+}
Modified:
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/wizard/NewProjectExamplesWizard2.java
===================================================================
---
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/wizard/NewProjectExamplesWizard2.java 2012-02-17
16:15:18 UTC (rev 38884)
+++
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/wizard/NewProjectExamplesWizard2.java 2012-02-17
16:24:30 UTC (rev 38885)
@@ -49,6 +49,8 @@
List<IProjectExamplesWizardPage> contributedPages = new
LinkedList<IProjectExamplesWizardPage>();
private ProjectExample projectExample;
+ private WizardContext wizardContext = new WizardContext();
+
private boolean isCentral = false;
//private QuickFixPage quickFixPage;
@@ -214,7 +216,7 @@
if (projectExample != null) {
return projectExample;
}
- return mainPage.getSelectedProject();
+ return (mainPage == null)?null:mainPage.getSelectedProject();
}
// public IWizardPage getReadyPage() {
@@ -259,5 +261,14 @@
public ProjectExample getProjectExample() {
return projectExample;
}
-
+
+ @Override
+ public void addPage(IWizardPage page) {
+ if (page instanceof IProjectExamplesWizardPage) {
+ IProjectExamplesWizardPage ewp = (IProjectExamplesWizardPage)page;
+ ewp.setWizardContext(wizardContext);
+ wizardContext.addListener(ewp);
+ }
+ super.addPage(page);
+ }
}
Added:
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/wizard/WizardContext.java
===================================================================
---
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/wizard/WizardContext.java
(rev 0)
+++
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/wizard/WizardContext.java 2012-02-17
16:24:30 UTC (rev 38885)
@@ -0,0 +1,55 @@
+/*************************************************************************************
+ * Copyright (c) 2012 Red Hat, 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
+ *
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * JBoss by Red Hat - Initial implementation.
+ ************************************************************************************/
+package org.jboss.tools.project.examples.wizard;
+
+import java.util.HashMap;
+import java.util.LinkedHashSet;
+import java.util.Map;
+import java.util.Set;
+
+public class WizardContext {
+
+ private Map<String, Object> context;
+
+ private Set<IWizardContextChangeListener> listeners;
+
+ public WizardContext() {
+ context = new HashMap<String, Object>();
+ listeners = new LinkedHashSet<IWizardContextChangeListener>();
+ }
+
+ public void addListener(IWizardContextChangeListener newListener) {
+ listeners.add(newListener);
+ }
+
+ public void removeListener(IWizardContextChangeListener listener) {
+ listeners.remove(listener);
+ }
+
+ public void setProperty(String key, Object value) {
+ Object previousValue = context.get(key);
+ if ((previousValue != null && !previousValue.equals(value))
+ || (previousValue == null && value != null)) {
+ context.put(key, value);
+ fireChangeEvent(key, value);
+ }
+ }
+
+ public void getProperty(String key) {
+ context.get(key);
+ }
+
+ private void fireChangeEvent(String key, Object value) {
+ for (IWizardContextChangeListener listener : listeners) {
+ listener.onWizardContextChange(key, value);
+ }
+ }
+}
Modified:
trunk/maven/plugins/org.jboss.tools.maven.project.examples/src/org/jboss/tools/maven/project/examples/wizard/ArchetypeExamplesWizardFirstPage.java
===================================================================
---
trunk/maven/plugins/org.jboss.tools.maven.project.examples/src/org/jboss/tools/maven/project/examples/wizard/ArchetypeExamplesWizardFirstPage.java 2012-02-17
16:15:18 UTC (rev 38884)
+++
trunk/maven/plugins/org.jboss.tools.maven.project.examples/src/org/jboss/tools/maven/project/examples/wizard/ArchetypeExamplesWizardFirstPage.java 2012-02-17
16:24:30 UTC (rev 38885)
@@ -63,6 +63,7 @@
import org.jboss.tools.project.examples.model.ProjectExample;
import org.jboss.tools.project.examples.wizard.IProjectExamplesWizardPage;
import org.jboss.tools.project.examples.wizard.NewProjectExamplesWizard2;
+import org.jboss.tools.project.examples.wizard.WizardContext;
/**
* Simplified UI for the Maven Archetype Wizard, based off the original m2e
MavenProjectWizardLocationPage.
@@ -82,11 +83,9 @@
private Composite warningLink;
private boolean initialized;
private Boolean isEnterpriseRepoAvailable;
- private ModifyListener projectNameModifyListener;
- private ModifyListener packageNameModifyListener;
- private ModifyListener propertyModifyListener;
private ProjectExample projectDescription;
private ProjectExample projectExample;
+ private WizardContext context;
public ArchetypeExamplesWizardFirstPage() {
super(new ProjectImportConfiguration(), "", "",new
ArrayList<IWorkingSet>());
@@ -98,7 +97,6 @@
super(configuration,
projectDescription.getShortDescription(),Messages.ArchetypeExamplesWizardFirstPage_Title,
workingSet);
this.projectDescription = projectDescription;
setPageComplete(false);
-
}
@Override
@@ -113,12 +111,12 @@
projectNameCombo.addModifyListener(new ModifyListener() {
@Override
public void modifyText(ModifyEvent e) {
+ if (isCurrentPage()) {
+ context.setProperty(MavenProjectConstants.PROJECT_NAME, getProjectName());
+ }
validate();
}
});
- if (projectNameModifyListener != null) {
- projectNameCombo.addModifyListener(projectNameModifyListener);
- }
packageLabel = new Label(container, SWT.NONE);
packageLabel.setText(Messages.ArchetypeExamplesWizardFirstPage_Package_Label);
@@ -129,12 +127,12 @@
packageCombo.addModifyListener(new ModifyListener() {
@Override
public void modifyText(ModifyEvent e) {
+ if (isCurrentPage()) {
+ context.setProperty(MavenProjectConstants.PACKAGE, packageCombo.getText());
+ }
validate();
}
});
- if (packageNameModifyListener != null) {
- packageCombo.addModifyListener(packageNameModifyListener);
- }
//TODO read facet version from project example metadata
IProjectFacetVersion facetVersion;
@@ -145,10 +143,6 @@
} catch (CoreException e) {
e.printStackTrace();
}
- if (propertyModifyListener != null) {
- serverTargetCombo.addModifyListener(propertyModifyListener);
- }
-
Label emptyLabel = new Label(container, SWT.NONE);
emptyLabel.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false,
@@ -188,15 +182,19 @@
}
}
- serverTargetCombo.select(selectedRuntimeIdx);
-
serverTargetCombo.addModifyListener(new ModifyListener() {
@Override
public void modifyText(ModifyEvent e) {
+ if (isCurrentPage()) {
+ context.setProperty(MavenProjectConstants.ENTERPRISE_TARGET,
isEnterpriseTargetRuntime());
+ }
validateEnterpriseRepo();
}
});
+ if (selectedRuntimeIdx > 0) {
+ serverTargetCombo.select(selectedRuntimeIdx);
+ }
}
@@ -254,8 +252,11 @@
}
protected void validateEnterpriseRepo() {
+
boolean isWarningLinkVisible = (isEnterpriseTargetRuntime() &&
!assertEnterpriseRepoAccessible());
- warningLink.setVisible(isWarningLinkVisible);
+ if (warningLink != null) {
+ warningLink.setVisible(isWarningLinkVisible);
+ }
}
@@ -301,6 +302,10 @@
if (packageName != null) {
packageCombo.setText(packageName);
}
+
+ //Force setting of enterprise value
+ context.setProperty(MavenProjectConstants.ENTERPRISE_TARGET,
isEnterpriseTargetRuntime());
+
initialized = true;
validate();
}
@@ -341,11 +346,9 @@
private boolean assertEnterpriseRepoAccessible() {
- if (isEnterpriseRepoAvailable != null) {
- return isEnterpriseRepoAvailable.booleanValue();
+ if (isEnterpriseRepoAvailable == null) {
+ isEnterpriseRepoAvailable = MavenArtifactHelper.isEnterpriseRepositoryAvailable();
}
-
- isEnterpriseRepoAvailable = MavenArtifactHelper.isEnterpriseRepositoryAvailable();
return isEnterpriseRepoAvailable.booleanValue();
}
@@ -368,30 +371,7 @@
return runtimesMap;
}
- public ModifyListener getProjectNameModifyListener() {
- return projectNameModifyListener;
- }
- public void setProjectNameModifyListener(ModifyListener projectNameModifyListener) {
- this.projectNameModifyListener = projectNameModifyListener;
- }
-
- public ModifyListener getPackageNameModifyListener() {
- return packageNameModifyListener;
- }
-
- public void setPackageNameModifyListener(ModifyListener packageNameModifyListener) {
- this.packageNameModifyListener = packageNameModifyListener;
- }
-
- public ModifyListener getPropertyModifyListener() {
- return propertyModifyListener;
- }
-
- public void setPropertyModifyListener(ModifyListener propertyModifyListener) {
- this.propertyModifyListener = propertyModifyListener;
- }
-
public void setUseDefaultWorkspaceLocation(boolean value) {
Class clazz = MavenProjectWizardLocationPage.class;
try {
@@ -486,5 +466,37 @@
return null;
}
+ @Override
+ public void onWizardContextChange(String key, Object value) {
+ if (MavenProjectConstants.PROJECT_NAME.equals(key)) {
+ String artifactId = value == null?"":value.toString();
+ setProjectName(artifactId);
+ } else if (MavenProjectConstants.PACKAGE.equals(key)){
+ String packageName = value == null?"":value.toString();
+ setPackageName(packageName);
+ }
+ }
+
+ public void setProjectName(String projectName) {
+ if (projectNameCombo != null &&
!projectNameCombo.getText().equals(projectName)) {
+ projectNameCombo.setText(projectName);
+ }
+ }
+
+ public void setPackageName(String packageName) {
+ if (packageCombo != null) {
+ if (!packageCombo.getText().equals(packageName)){
+ packageCombo.setText(packageName);
+ }
+ }
+ }
+
+
+ @Override
+ public void setWizardContext(WizardContext context) {
+ this.context = context;
+ }
+
+
}
Modified:
trunk/maven/plugins/org.jboss.tools.maven.project.examples/src/org/jboss/tools/maven/project/examples/wizard/ArchetypeExamplesWizardPage.java
===================================================================
---
trunk/maven/plugins/org.jboss.tools.maven.project.examples/src/org/jboss/tools/maven/project/examples/wizard/ArchetypeExamplesWizardPage.java 2012-02-17
16:15:18 UTC (rev 38884)
+++
trunk/maven/plugins/org.jboss.tools.maven.project.examples/src/org/jboss/tools/maven/project/examples/wizard/ArchetypeExamplesWizardPage.java 2012-02-17
16:24:30 UTC (rev 38885)
@@ -51,6 +51,8 @@
import org.eclipse.m2e.core.ui.internal.Messages;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.GridData;
@@ -66,6 +68,7 @@
import org.jboss.tools.project.examples.model.ArchetypeModel;
import org.jboss.tools.project.examples.model.ProjectExample;
import org.jboss.tools.project.examples.wizard.IProjectExamplesWizardPage;
+import org.jboss.tools.project.examples.wizard.WizardContext;
/**
*
@@ -81,6 +84,7 @@
private ProjectExample projectExample;
private boolean initialized = false;
private Map<String, Object> propertiesMap = new HashMap<String, Object>();
+ private WizardContext context;
public ArchetypeExamplesWizardPage() {
super(new ProjectImportConfiguration());
@@ -96,6 +100,24 @@
@Override
public void createControl(Composite parent) {
super.createControl(parent);
+ packageCombo.addModifyListener(new ModifyListener() {
+ @Override
+ public void modifyText(ModifyEvent e) {
+ if (isCurrentPage()) {
+ context.setProperty(MavenProjectConstants.PACKAGE, packageCombo.getText());
+ }
+ }
+ });
+ artifactIdCombo.addModifyListener(new ModifyListener() {
+ @Override
+ public void modifyText(ModifyEvent e) {
+ if (isCurrentPage()) {
+ context.setProperty(MavenProjectConstants.PROJECT_NAME, artifactIdCombo.getText());
+ }
+ validate();
+ }
+ });
+
if (projectExample != null && !initialized) {
initialize();
}
@@ -106,8 +128,6 @@
Archetype archetype = new Archetype();
ArchetypeModel archetypeModel = projectDescription.getArchetypeModel();
- final String version = archetypeModel.getVersion();
-
archetype.setGroupId(archetypeModel.getArchetypeGroupId());
archetype.setArtifactId(archetypeModel.getArchetypeArtifactId());
archetype.setVersion(archetypeModel.getArchetypeVersion());
@@ -284,9 +304,10 @@
}
}
}
-
+
+
public void setArtifactId(String projectName) {
- if (artifactIdCombo != null) {
+ if (artifactIdCombo != null && !artifactIdCombo.getText().equals(projectName))
{
artifactIdCombo.setText(projectName);
}
}
@@ -296,8 +317,10 @@
if (!packageCombo.getText().equals(packageName)){
packageCombo.setText(packageName);
}
- if (!groupIdCombo.getText().equals(packageName)){
- groupIdCombo.setText(packageName);
+ if (!isCurrentPage()) {
+ if (!groupIdCombo.getText().equals(packageName)){
+ groupIdCombo.setText(packageName);
+ }
}
}
}
@@ -486,4 +509,24 @@
return propertiesMap ;
}
+ @Override
+ public void onWizardContextChange(String key, Object value) {
+ if (MavenProjectConstants.PROJECT_NAME.equals(key)) {
+ String artifactId = value == null?"":value.toString();
+ setArtifactId(artifactId);
+ } else if (MavenProjectConstants.PACKAGE.equals(key)){
+ String packageName = value == null?"":value.toString();
+ setPackageName(packageName);
+ } else if (MavenProjectConstants.ENTERPRISE_TARGET.equals(key)) {
+ //Make sure it's a boolean :
+ Boolean enterprise = Boolean.parseBoolean(value.toString());
+ updateArchetypeProperty("enterprise", enterprise.toString());
+ }
+ }
+
+ @Override
+ public void setWizardContext(WizardContext context) {
+ this.context = context;
+ }
+
}
Added:
trunk/maven/plugins/org.jboss.tools.maven.project.examples/src/org/jboss/tools/maven/project/examples/wizard/MavenProjectConstants.java
===================================================================
---
trunk/maven/plugins/org.jboss.tools.maven.project.examples/src/org/jboss/tools/maven/project/examples/wizard/MavenProjectConstants.java
(rev 0)
+++
trunk/maven/plugins/org.jboss.tools.maven.project.examples/src/org/jboss/tools/maven/project/examples/wizard/MavenProjectConstants.java 2012-02-17
16:24:30 UTC (rev 38885)
@@ -0,0 +1,13 @@
+package org.jboss.tools.maven.project.examples.wizard;
+
+public final class MavenProjectConstants {
+
+ public final static String PROJECT_NAME = "projectName";
+
+ public final static String PACKAGE = "package";
+
+ public final static String ENTERPRISE_TARGET = "enterprise";
+
+ private MavenProjectConstants(){
+ }
+}