Author: akazakov
Date: 2009-05-20 15:17:15 -0400 (Wed, 20 May 2009)
New Revision: 15377
Modified:
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/preferences/SeamPreferencesMessages.java
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/preferences/SeamPreferencesMessages.properties
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/preferences/SeamSettingsPreferencePage.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-4344
Modified:
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/preferences/SeamPreferencesMessages.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/preferences/SeamPreferencesMessages.java 2009-05-20
19:14:13 UTC (rev 15376)
+++
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/preferences/SeamPreferencesMessages.java 2009-05-20
19:17:15 UTC (rev 15377)
@@ -51,6 +51,14 @@
public static String SEAM_SETTINGS_PREFERENCE_PAGE_MAIN_SEAM_PROJECT_IS_EMPTY;
+ public static String SEAM_SETTINGS_PREFERENCE_PAGE_MODEL_SOURCE_FOLDER_IS_EMPTY;
+
+ public static String SEAM_SETTINGS_PREFERENCE_PAGE_ACTION_SOURCE_FOLDER_IS_EMPTY;
+
+ public static String SEAM_SETTINGS_PREFERENCE_PAGE_TEST_SOURCE_FOLDER_IS_EMPTY;
+
+ public static String SEAM_SETTINGS_PREFERENCE_PAGE_VIEW_FOLDER_IS_EMPTY;
+
public static String SEAM_SETTINGS_PREFERENCE_PAGE_VIEW_FOLDER_DOES_NOT_EXIST;
public static String SEAM_SETTINGS_PREFERENCE_PAGE_MODEL_SOURCE_FOLDER_DOES_NOT_EXIST;
Modified:
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/preferences/SeamPreferencesMessages.properties
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/preferences/SeamPreferencesMessages.properties 2009-05-20
19:14:13 UTC (rev 15376)
+++
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/preferences/SeamPreferencesMessages.properties 2009-05-20
19:17:15 UTC (rev 15377)
@@ -98,6 +98,10 @@
SEAM_SETTINGS_PREFERENCE_PAGE_TEST_PROJECT_DOES_NOT_EXIST=Seam test project
"{0}" does not exist.
SEAM_SETTINGS_PREFERENCE_PAGE_MAIN_SEAM_PROJECT_DOES_NOT_EXIST=Main Seam project
"{0}" does not exist.
SEAM_SETTINGS_PREFERENCE_PAGE_MAIN_SEAM_PROJECT_IS_EMPTY=Main Seam project name is
empty.
+SEAM_SETTINGS_PREFERENCE_PAGE_MODEL_SOURCE_FOLDER_IS_EMPTY=Model source folder path is
empty.
+SEAM_SETTINGS_PREFERENCE_PAGE_ACTION_SOURCE_FOLDER_IS_EMPTY=Action/Form/Conversation
source folder path is empty.
+SEAM_SETTINGS_PREFERENCE_PAGE_TEST_SOURCE_FOLDER_IS_EMPTY=Test source folder path is
empty.
+SEAM_SETTINGS_PREFERENCE_PAGE_VIEW_FOLDER_IS_EMPTY=View folder path is empty.
SEAM_SETTINGS_PREFERENCE_PAGE_TEST_SOURCE_FOLDER_DOES_NOT_EXIST=Test source folder
"{0}" does not exist.
SEAM_SETTINGS_PREFERENCE_PAGE_PACKAGE_IS_BLANK=the use of the default package is
discouraged.
SEAM_SETTINGS_PREFERENCE_PAGE_MODEL_PACKAGE_IS_NOT_VALID=Model package name: {0}
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 2009-05-20
19:14:13 UTC (rev 15376)
+++
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/preferences/SeamSettingsPreferencePage.java 2009-05-20
19:17:15 UTC (rev 15377)
@@ -30,6 +30,7 @@
import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
import org.eclipse.core.runtime.preferences.IScopeContext;
import org.eclipse.datatools.connectivity.IConnectionProfile;
@@ -48,6 +49,9 @@
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Group;
import org.eclipse.ui.dialogs.PropertyPage;
+import org.eclipse.wst.common.componentcore.ComponentCore;
+import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
+import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
import org.eclipse.wst.common.project.facet.core.IFacetedProject;
import org.eclipse.wst.common.project.facet.core.IProjectFacet;
import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
@@ -377,7 +381,7 @@
private String getDefaultModelSourceFolder() {
IContainer f = seamProjectSet.getDefaultModelFolder();
- return f!=null?f.getFullPath().toString():"";
+ return f!=null?f.getFullPath().toString():getDefaultSrcFolder();
}
private String getModelPackageName() {
@@ -438,9 +442,17 @@
private String getDefaultActionSourceFolder() {
IContainer f = seamProjectSet.getDefaultActionFolder();
- return f!=null?f.getFullPath().toString():"";
+ return f!=null?f.getFullPath().toString():getDefaultSrcFolder();
}
+ private String getDefaultSrcFolder() {
+ IResource resource = EclipseResourceUtil.getJavaSourceRoot(project);
+ if(resource!=null) {
+ return ((IContainer) resource).getFullPath().toString();
+ }
+ return project.getFullPath().toString();
+ }
+
private String getTestSourceFolder() {
String folder = null;
if(preferences!=null) {
@@ -454,7 +466,7 @@
private String getDefaultTestSourceFolder() {
IContainer f = seamProjectSet.getDefaultTestSourceFolder();
- return f!=null?f.getFullPath().toString():"";
+ return f!=null?f.getFullPath().toString():getDefaultSrcFolder();
}
private String getViewFolder() {
@@ -470,7 +482,17 @@
private String getDefaultViewFolder() {
IContainer f = seamProjectSet.getDefaultViewsFolder();
- return f!=null?f.getFullPath().toString():"";
+ if(f!=null) {
+ return f.getFullPath().toString();
+ }
+ IVirtualComponent com = ComponentCore.createComponent(project);
+ if(com!=null) {
+ IVirtualFolder webRootFolder = com.getRootFolder().getFolder(new Path("/"));
//$NON-NLS-1$
+ if(webRootFolder!=null) {
+ return webRootFolder.getUnderlyingFolder().getFullPath().toString();
+ }
+ }
+ return project.getFullPath().toString();
}
private List<String> getProfileNameList() {
@@ -543,7 +565,7 @@
setValid(false);
return;
} else {
- setMessage(errors.get(IValidator.DEFAULT_ERROR).getMessage());
+ setMessage(errors.get(IValidator.DEFAULT_ERROR).getMessage(),
IMessageProvider.WARNING);
warning = true;
setValid(true);
}
@@ -567,16 +589,19 @@
error = true;
setValid(false);
}
+ } else {
+ setMessage(SeamPreferencesMessages.SEAM_SETTINGS_PREFERENCE_PAGE_VIEW_FOLDER_IS_EMPTY,
IMessageProvider.WARNING);
+ warning = true;
}
- validateSourceFolder(SeamPreferencesMessages.SEAM_SETTINGS_PREFERENCE_PAGE_MODEL_SOURCE_FOLDER_DOES_NOT_EXIST,
+ validateSourceFolder(SeamPreferencesMessages.SEAM_SETTINGS_PREFERENCE_PAGE_MODEL_SOURCE_FOLDER_DOES_NOT_EXIST,
SeamPreferencesMessages.SEAM_SETTINGS_PREFERENCE_PAGE_MODEL_SOURCE_FOLDER_IS_EMPTY,
ISeamFacetDataModelProperties.ENTITY_BEAN_SOURCE_FOLDER,
ISeamFacetDataModelProperties.ENTITY_BEAN_PACKAGE_NAME);
validateJavaPackageName(SeamPreferencesMessages.SEAM_SETTINGS_PREFERENCE_PAGE_MODEL_PACKAGE_IS_NOT_VALID,
SeamPreferencesMessages.SEAM_SETTINGS_PREFERENCE_PAGE_MODEL_PACKAGE_HAS_WARNING,
ISeamFacetDataModelProperties.ENTITY_BEAN_PACKAGE_NAME);
- validateSourceFolder(SeamPreferencesMessages.SEAM_SETTINGS_PREFERENCE_PAGE_ACTION_SOURCE_FOLDER_DOES_NOT_EXIST,
+ validateSourceFolder(SeamPreferencesMessages.SEAM_SETTINGS_PREFERENCE_PAGE_ACTION_SOURCE_FOLDER_DOES_NOT_EXIST,
SeamPreferencesMessages.SEAM_SETTINGS_PREFERENCE_PAGE_ACTION_SOURCE_FOLDER_IS_EMPTY,
ISeamFacetDataModelProperties.SESSION_BEAN_SOURCE_FOLDER,
ISeamFacetDataModelProperties.SESSION_BEAN_PACKAGE_NAME);
validateJavaPackageName(SeamPreferencesMessages.SEAM_SETTINGS_PREFERENCE_PAGE_ACTION_PACKAGE_IS_NOT_VALID,
@@ -584,7 +609,7 @@
ISeamFacetDataModelProperties.SESSION_BEAN_PACKAGE_NAME);
if(isTestEnabled()) {
- validateSourceFolder(SeamPreferencesMessages.SEAM_SETTINGS_PREFERENCE_PAGE_TEST_SOURCE_FOLDER_DOES_NOT_EXIST,
+ validateSourceFolder(SeamPreferencesMessages.SEAM_SETTINGS_PREFERENCE_PAGE_TEST_SOURCE_FOLDER_DOES_NOT_EXIST,
SeamPreferencesMessages.SEAM_SETTINGS_PREFERENCE_PAGE_TEST_SOURCE_FOLDER_IS_EMPTY,
ISeamFacetDataModelProperties.TEST_SOURCE_FOLDER,
ISeamFacetDataModelProperties.TEST_CASES_PACKAGE_NAME);
validateProjectName(SeamPreferencesMessages.SEAM_SETTINGS_PREFERENCE_PAGE_TEST_PROJECT_DOES_NOT_EXIST,
null, ISeamFacetDataModelProperties.SEAM_TEST_PROJECT, true);
@@ -655,7 +680,7 @@
return true;
}
- private boolean validateSourceFolder(String errorMessageKey, String
sourceFolderEditorName, String packageEditorName) {
+ private boolean validateSourceFolder(String errorMessageKey, String warningMessage,
String sourceFolderEditorName, String packageEditorName) {
String sourceFolder = getValue(sourceFolderEditorName).trim();
if(sourceFolder.length()>0) {
IResource folder = ResourcesPlugin.getWorkspace().getRoot().findMember(sourceFolder);
@@ -671,6 +696,8 @@
editorRegistry.get(packageEditorName).setEnabled(true);
}
} else {
+ setMessage(warningMessage, IMessageProvider.WARNING);
+ warning = true;
editorRegistry.get(packageEditorName).setEnabled(false);
}
return true;