[jbosstools-commits] JBoss Tools SVN: r6853 - trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/preferences.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Tue Mar 11 12:46:38 EDT 2008


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);




More information about the jbosstools-commits mailing list