Author: akazakov
Date: 2008-11-11 15:30:42 -0500 (Tue, 11 Nov 2008)
New Revision: 11686
Modified:
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/core/SeamCoreMessages.java
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/core/messages.properties
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/SeamFacetInstallDataModelProvider.java
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/SeamFacetProjectCreationDataModelProvider.java
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/SeamUIMessages.java
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/internal/project/facet/SeamInstallWizardPage.java
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/messages.properties
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/wizard/SeamProjectWizard.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-3025 Fixed
Modified:
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/core/SeamCoreMessages.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/core/SeamCoreMessages.java 2008-11-11
19:36:41 UTC (rev 11685)
+++
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/core/SeamCoreMessages.java 2008-11-11
20:30:42 UTC (rev 11686)
@@ -35,7 +35,8 @@
public static String ERROR_JBOSS_AS_TARGET_SERVER_INCOMPATIBLE;
public static String ERROR_JBOSS_AS_TARGET_RUNTIME_IS_EMPTY;
public static String ERROR_JBOSS_AS_TARGET_RUNTIME_UNKNOWN;
- public static String SEAM_FACET_INSTALL_ABSTRACT_DELEGATE_ERRORS_OCCURED = null;
+ public static String SEAM_FACET_INSTALL_ABSTRACT_DELEGATE_ERRORS_OCCURED;
public static String SEAM_FACET_INSTALL_ABSTRACT_DELEGATE_CHECK_ERROR_LOG_VIEW;
public static String SEAM_FACET_INSTALL_ABSTRACT_DELEGATE_ERROR;
+ public static String SEAM_INSTALL_WIZARD_PROJECT_NAME_WITH_UPPERCASE;
}
\ No newline at end of file
Modified:
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/core/messages.properties
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/core/messages.properties 2008-11-11
19:36:41 UTC (rev 11685)
+++
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/core/messages.properties 2008-11-11
20:30:42 UTC (rev 11686)
@@ -26,4 +26,5 @@
ERROR_JBOSS_AS_TARGET_SERVER_NO_SERVERS_DEFINED=There are no available Target Service for
selected Target Runtime
ERROR_JBOSS_AS_TARGET_SERVER_INCOMPATIBLE=Target Server is incompatible with Target
Runtime selected
ERROR_JBOSS_AS_TARGET_RUNTIME_IS_EMPTY=Target Runtime cannot be empty
-ERROR_JBOSS_AS_TARGET_RUNTIME_UNKNOWN=Unknown Target Runtime
\ No newline at end of file
+ERROR_JBOSS_AS_TARGET_RUNTIME_UNKNOWN=Unknown Target Runtime
+SEAM_INSTALL_WIZARD_PROJECT_NAME_WITH_UPPERCASE=Project names which start with a capital
letter may break Seam/JSF applications; use lower case.
\ No newline at end of file
Modified:
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/SeamFacetInstallDataModelProvider.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/SeamFacetInstallDataModelProvider.java 2008-11-11
19:36:41 UTC (rev 11685)
+++
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/SeamFacetInstallDataModelProvider.java 2008-11-11
20:30:42 UTC (rev 11686)
@@ -162,6 +162,14 @@
return defaultRuntime.getName();
}
+ public boolean propertySet(String propertyName, Object propertyValue) {
+ if (IFacetDataModelProperties.FACET_PROJECT_NAME.equals(propertyName)) {
+ setProperty(ISeamFacetDataModelProperties.SEAM_PROJECT_NAME, propertyValue);
+ setProperty(IFacetDataModelProperties.FACET_PROJECT_NAME, propertyValue);
+ }
+ return super.propertySet(propertyName, propertyValue);
+ }
+
/*
* (non-Javadoc)
* @see org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelProvider#init()
@@ -169,6 +177,7 @@
@Override
public void init() {
super.init();
+
model.setProperty(ISeamFacetDataModelProperties.DB_TYPE,
SeamProjectPreferences.getStringPreference(SeamProjectPreferences.HIBERNATE_DEFAULT_DB_TYPE));
model.setProperty(ISeamFacetDataModelProperties.SEAM_CONNECTION_PROFILE,
SeamProjectPreferences.getStringPreference(SeamProjectPreferences.SEAM_DEFAULT_CONNECTION_PROFILE));
model.setProperty(ISeamFacetDataModelProperties.DB_DEFAULT_SCHEMA_NAME, "");
Modified:
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/SeamFacetProjectCreationDataModelProvider.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/SeamFacetProjectCreationDataModelProvider.java 2008-11-11
19:36:41 UTC (rev 11685)
+++
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/SeamFacetProjectCreationDataModelProvider.java 2008-11-11
20:30:42 UTC (rev 11686)
@@ -68,6 +68,8 @@
setProperty(ISeamFacetDataModelProperties.JBOSS_AS_TARGET_RUNTIME,
event.getProperty());
model.notifyPropertyChange(ISeamFacetDataModelProperties.JBOSS_AS_TARGET_RUNTIME,
IDataModel.DEFAULT_CHG);
model.notifyPropertyChange(ISeamFacetDataModelProperties.JBOSS_AS_TARGET_SERVER,
IDataModel.VALID_VALUES_CHG);
+ } else if
(IFacetDataModelProperties.FACET_PROJECT_NAME.equals(event.getPropertyName())) {
+ setProperty(ISeamFacetDataModelProperties.SEAM_PROJECT_NAME, event.getProperty());
}
}
});
@@ -112,6 +114,8 @@
FacetDataModelMap map = (FacetDataModelMap) getProperty(FACET_DM_MAP);
IDataModel seamFacet =
map.getFacetDataModel(ISeamFacetDataModelProperties.SEAM_FACET_ID);
seamFacet.setProperty(ISeamFacetDataModelProperties.JBOSS_AS_TARGET_SERVER,
propertyValue);
+ } else if (propertyName.equals(IFacetDataModelProperties.FACET_PROJECT_NAME)) {
+ model.setProperty(ISeamFacetDataModelProperties.SEAM_PROJECT_NAME, propertyValue);
}
return super.propertySet(propertyName, propertyValue);
@@ -121,6 +125,7 @@
Set names = super.getPropertyNames();
names.add(ISeamFacetDataModelProperties.JBOSS_AS_TARGET_SERVER);
names.add(ISeamFacetDataModelProperties.JBOSS_AS_TARGET_RUNTIME);
+ names.add(ISeamFacetDataModelProperties.SEAM_PROJECT_NAME);
return names;
}
@@ -200,9 +205,26 @@
if (!status.isOK())
return status;
}
+ if(ISeamFacetDataModelProperties.SEAM_PROJECT_NAME.equals(propertyName)) {
+ String projectName = (String)model.getProperty(propertyName);
+ status = validateUpperCaseInProjectName(projectName);
+ if(!status.isOK()) {
+ return status;
+ }
+ }
return OK_STATUS;
}
+ public static IStatus validateUpperCaseInProjectName(String projectName) {
+ if(projectName!=null && projectName.length()>0) {
+ char firstLetter = projectName.charAt(0);
+ if(Character.isUpperCase(firstLetter)) {
+ return new Status(IStatus.WARNING, SeamCorePlugin.PLUGIN_ID,
SeamCoreMessages.SEAM_INSTALL_WIZARD_PROJECT_NAME_WITH_UPPERCASE);
+ }
+ }
+ return OK_STATUS;
+ }
+
private IStatus validateServer(Object serverObject) {
if (serverObject == null) {
return
SeamCorePlugin.createErrorStatus(SeamCoreMessages.ERROR_JBOSS_AS_TARGET_SERVER_IS_EMPTY,
null);
Modified:
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/SeamUIMessages.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/SeamUIMessages.java 2008-11-11
19:36:41 UTC (rev 11685)
+++
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/SeamUIMessages.java 2008-11-11
20:30:42 UTC (rev 11686)
@@ -113,8 +113,6 @@
public static String
SEAM_FORM_WIZARD_PAGE1_JAVA_INTERFACE_SLSB_AND_KEY_SEAMEJB3_ANNOTATIONS_WILL_BE_CREATED;
- public static String SEAM_INSTALL_WIZARD_PROJECT_NAME_WITH_UPPERCASE;
-
public static String SEAM_FORM_WIZARD_PAGE1_SEAM_FORM;
public static String SEAM_FORM_WIZARD_PAGE1_SELECT_THE_NAME_OF_THE_NEW_SEAM_FORM;
Modified:
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/internal/project/facet/SeamInstallWizardPage.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/internal/project/facet/SeamInstallWizardPage.java 2008-11-11
19:36:41 UTC (rev 11685)
+++
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/internal/project/facet/SeamInstallWizardPage.java 2008-11-11
20:30:42 UTC (rev 11686)
@@ -64,12 +64,14 @@
import org.jboss.tools.seam.core.project.facet.SeamVersion;
import org.jboss.tools.seam.internal.core.project.facet.ISeamFacetDataModelProperties;
import
org.jboss.tools.seam.internal.core.project.facet.SeamFacetInstallDataModelProvider;
+import
org.jboss.tools.seam.internal.core.project.facet.SeamFacetProjectCreationDataModelProvider;
import org.jboss.tools.seam.ui.SeamUIMessages;
import org.jboss.tools.seam.ui.widget.editor.CompositeEditor;
import org.jboss.tools.seam.ui.widget.editor.IFieldEditor;
import org.jboss.tools.seam.ui.widget.editor.IFieldEditorFactory;
import org.jboss.tools.seam.ui.widget.editor.ITaggedFieldEditor;
import org.jboss.tools.seam.ui.wizard.SeamFormWizard;
+import org.jboss.tools.seam.ui.wizard.SeamProjectWizard;
import org.jboss.tools.seam.ui.wizard.SeamWizardFactory;
import org.jboss.tools.seam.ui.wizard.SeamWizardUtils;
@@ -381,12 +383,10 @@
validatorDelegate.addValidatorForProperty(
ISeamFacetDataModelProperties.JBOSS_AS_DEPLOY_AS,
getDeploymentTypeValidator(getWizard()));
- validatorDelegate.addValidatorForProperty(
- IFacetDataModelProperties.FACET_PROJECT_NAME,
- new ProjectNamesDuplicationValidator(
- IFacetDataModelProperties.FACET_PROJECT_NAME));
- validatorDelegate.addValidatorForProperty(IFacetDataModelProperties.FACET_PROJECT_NAME,
+ if(!isNewSeamProjectWizard()) {
+ validatorDelegate.addValidatorForProperty(IFacetDataModelProperties.FACET_PROJECT_NAME,
new ProjectNameValidator(IFacetDataModelProperties.FACET_PROJECT_NAME));
+ }
}
jBossHibernateDbTypeEditor
@@ -402,6 +402,10 @@
initDefaultWizardProperties();
}
+ private boolean isNewSeamProjectWizard() {
+ return getWizard()==null || getWizard() instanceof SeamProjectWizard;
+ }
+
private boolean isNewProjectWizard() {
// ModifyFacetedProjectWizard or NewProjectDataModelFacetWizard
return getWizard()==null || getWizard() instanceof NewProjectDataModelFacetWizard;
@@ -445,6 +449,7 @@
* Fills Code Generation group with the default package names.
*/
private void setCodeGenerationProperties() {
+ String p = (String)model.getProperty(ISeamFacetDataModelProperties.SEAM_PROJECT_NAME);
sessionBeanPkgNameditor
.setValue("org.domain." //$NON-NLS-1$
+ model
@@ -553,14 +558,10 @@
return ValidatorFactory.NO_ERRORS;
}
final String projectName = (String)value;
- if(projectName.length()==0) {
- return ValidatorFactory.NO_ERRORS;
+ IStatus status =
SeamFacetProjectCreationDataModelProvider.validateUpperCaseInProjectName(projectName);
+ if(!status.isOK()) {
+ return ValidatorFactory.createErrormessage(propertyName, status);
}
- char firstLetter = projectName.charAt(0);
- if(Character.isUpperCase(firstLetter)) {
- return ValidatorFactory.createErrormessage(propertyName,
- new Status(IStatus.WARNING, SeamCorePlugin.PLUGIN_ID,
SeamUIMessages.SEAM_INSTALL_WIZARD_PROJECT_NAME_WITH_UPPERCASE));
- }
return ValidatorFactory.NO_ERRORS;
}
}
Modified:
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/messages.properties
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/messages.properties 2008-11-11
19:36:41 UTC (rev 11685)
+++
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/messages.properties 2008-11-11
20:30:42 UTC (rev 11686)
@@ -107,7 +107,6 @@
SEAM_WIZARD_FACTORY_METHOD_NAME=Method name:
SEAM_INSTALL_WIZARD_PAGE_NEW=New...
SEAM_INSTALL_WIZARD_PAGE_PACKAGE_NAME_FOR=Package name for
-SEAM_INSTALL_WIZARD_PROJECT_NAME_WITH_UPPERCASE=Project names which start with a capital
letter may break Seam/JSF applications; use lower case.
SEAM_INSTALL_WIZARD_PAGE_IS_NOT_VALID=\ is not valid
SEAM_BASE_WIZARD_PAGE_POJO_CLASS_NAME=POJO class name:
SEAM_BASE_WIZARD_PAGE_SEAM_COMPONENTS=Seam component
Modified:
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/wizard/SeamProjectWizard.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/wizard/SeamProjectWizard.java 2008-11-11
19:36:41 UTC (rev 11685)
+++
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/wizard/SeamProjectWizard.java 2008-11-11
20:30:42 UTC (rev 11686)
@@ -274,6 +274,7 @@
arrayList.addAll( list );
arrayList.add( ISeamFacetDataModelProperties.JBOSS_AS_TARGET_RUNTIME);
arrayList.add( ISeamFacetDataModelProperties.JBOSS_AS_TARGET_SERVER);
+ arrayList.add( ISeamFacetDataModelProperties.SEAM_PROJECT_NAME);
return (String[])arrayList.toArray( new String[0] );
}