Author: akazakov
Date: 2008-03-11 12:46:38 -0400 (Tue, 11 Mar 2008)
New Revision: 6853
Modified:
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/preferences/SeamSettingsPreferencePage.java
Log:
http://jira.jboss.com/jira/browse/JBIDE-1322
Modified:
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/preferences/SeamSettingsPreferencePage.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/preferences/SeamSettingsPreferencePage.java 2008-03-11
16:18:22 UTC (rev 6852)
+++
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/preferences/SeamSettingsPreferencePage.java 2008-03-11
16:46:38 UTC (rev 6853)
@@ -436,15 +436,10 @@
}
boolean deployAsEar =
ISeamFacetDataModelProperties.DEPLOY_AS_EAR.equals(getValue(ISeamFacetDataModelProperties.JBOSS_AS_DEPLOY_AS));
- if(deployAsEar) {
+ if(deployAsEar &&
!validateProjectName(ISeamFacetDataModelProperties.SEAM_EJB_PROJECT)) {
String ejbProjectName =
getValue(ISeamFacetDataModelProperties.SEAM_EJB_PROJECT).trim();
- if(ejbProjectName.length()>0) {
- if(!ResourcesPlugin.getWorkspace().getRoot().getProject(ejbProjectName).exists()) {
- setErrorMessage("Seam EJB project " + ejbProjectName + " does not
exist.");
- setValid(false);
- return;
- }
- }
+ setErrorMessage("Seam EJB project " + ejbProjectName + " does not
exist.");
+ return;
}
String viewFolder =
getValue(ISeamFacetDataModelProperties.WEB_CONTENTS_FOLDER).trim();
@@ -457,6 +452,31 @@
}
}
+ if(!validateSourceFolder(ISeamFacetDataModelProperties.ENTITY_BEAN_SOURCE_FOLDER,
ISeamFacetDataModelProperties.ENTITY_BEAN_PACKAGE_NAME)) {
+ String modelSourceFolder =
getValue(ISeamFacetDataModelProperties.ENTITY_BEAN_SOURCE_FOLDER).trim();
+ setErrorMessage("Model source folder " + modelSourceFolder + " does not
exist.");
+ return;
+ }
+
+ if(!validateSourceFolder(ISeamFacetDataModelProperties.SESSION_BEAN_SOURCE_FOLDER,
ISeamFacetDataModelProperties.SESSION_BEAN_PACKAGE_NAME)) {
+ String sourceFolder =
getValue(ISeamFacetDataModelProperties.SESSION_BEAN_SOURCE_FOLDER).trim();
+ setErrorMessage("Action/Form/Conversation source folder " + sourceFolder +
" does not exist.");
+ return;
+ }
+
+ if(isTestEnabled()) {
+ if(!validateSourceFolder(ISeamFacetDataModelProperties.TEST_SOURCE_FOLDER,
ISeamFacetDataModelProperties.TEST_CASES_PACKAGE_NAME)){
+ String sourceFolder =
getValue(ISeamFacetDataModelProperties.TEST_SOURCE_FOLDER).trim();
+ setErrorMessage("Test source folder " + sourceFolder + " does not
exist.");
+ return;
+ }
+ if(!validateProjectName(ISeamFacetDataModelProperties.SEAM_TEST_PROJECT)) {
+ String testProjectName =
getValue(ISeamFacetDataModelProperties.SEAM_TEST_PROJECT).trim();
+ setErrorMessage("Test project " + testProjectName + " does not
exist.");
+ return;
+ }
+ }
+
setValid(true);
setErrorMessage(null);
if(!warning) {
@@ -464,6 +484,34 @@
}
}
+ private boolean validateProjectName(String editorName) {
+ String projectName = getValue(editorName).trim();
+ if(projectName.length()>0) {
+ if(!ResourcesPlugin.getWorkspace().getRoot().getProject(projectName).exists()) {
+ setValid(false);
+ return false;
+ }
+ }
+ return true;
+ }
+
+ private boolean validateSourceFolder(String sourceFolderEditorName, String
packageEditorName) {
+ String sourceFolder = getValue(sourceFolderEditorName).trim();
+ if(sourceFolder.length()>0) {
+ IResource folder = ResourcesPlugin.getWorkspace().getRoot().findMember(sourceFolder);
+ if(folder==null || !(folder instanceof IFolder) || !folder.exists()) {
+ editorRegistry.get(packageEditorName).setEnabled(false);
+ setValid(false);
+ return false;
+ } else {
+ editorRegistry.get(packageEditorName).setEnabled(true);
+ }
+ } else {
+ editorRegistry.get(packageEditorName).setEnabled(false);
+ }
+ return true;
+ }
+
private String getSeamRuntimeName() {
if(preferences!=null) {
return preferences.get(ISeamFacetDataModelProperties.SEAM_RUNTIME_NAME,
"");
@@ -599,13 +647,17 @@
}
private void setEnabledTestGroup() {
- IFieldEditor createTestCheckBox =
editorRegistry.get(ISeamFacetDataModelProperties.TEST_CREATING);
- boolean enabled = ((Boolean)createTestCheckBox.getValue()).booleanValue();
+ boolean enabled = isTestEnabled();
editorRegistry.get(ISeamFacetDataModelProperties.SEAM_TEST_PROJECT).setEnabled(enabled);
editorRegistry.get(ISeamFacetDataModelProperties.TEST_SOURCE_FOLDER).setEnabled(enabled);
editorRegistry.get(ISeamFacetDataModelProperties.TEST_CASES_PACKAGE_NAME).setEnabled(enabled);
}
+ private boolean isTestEnabled() {
+ IFieldEditor createTestCheckBox =
editorRegistry.get(ISeamFacetDataModelProperties.TEST_CREATING);
+ return ((Boolean)createTestCheckBox.getValue()).booleanValue();
+ }
+
private void setEnabledGroups(boolean enabled) {
for (Group group : groups) {
group.setEnabled(enabled);