Author: akazakov
Date: 2008-04-10 10:11:27 -0400 (Thu, 10 Apr 2008)
New Revision: 7489
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-1992 Fixed
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-04-10
14:07:06 UTC (rev 7488)
+++
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/preferences/SeamSettingsPreferencePage.java 2008-04-10
14:11:27 UTC (rev 7489)
@@ -57,6 +57,7 @@
import org.jboss.tools.seam.core.SeamCorePlugin;
import org.jboss.tools.seam.core.SeamProjectsSet;
import org.jboss.tools.seam.core.project.facet.SeamProjectPreferences;
+import org.jboss.tools.seam.core.project.facet.SeamRuntime;
import org.jboss.tools.seam.core.project.facet.SeamRuntimeManager;
import org.jboss.tools.seam.core.project.facet.SeamVersion;
import org.jboss.tools.seam.internal.core.project.facet.ISeamFacetDataModelProperties;
@@ -146,11 +147,7 @@
seamRuntimeEditor.addPropertyChangeListener(new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent evt) {
Object value = evt.getNewValue();
- if(value.toString().length()>0) {
- setRuntimeIsSelected(true);
- } else {
- setRuntimeIsSelected(false);
- }
+ setRuntimeIsSelected(value.toString().length()>0);
}
});
registerEditor(seamRuntimeEditor, generalGroup);
@@ -346,85 +343,113 @@
folder = preferences.get(ISeamFacetDataModelProperties.ENTITY_BEAN_SOURCE_FOLDER,
null);
}
if(folder==null) {
- SeamProjectsSet set = new SeamProjectsSet(project);
- IContainer f = set.getModelFolder();
- folder = f!=null?f.getFullPath().toString():"";
+ folder = getDefaultModelSourceFolder();
}
return folder;
}
+ private String getDefaultModelSourceFolder() {
+ SeamProjectsSet set = new SeamProjectsSet(project);
+ IContainer f = set.getModelFolder();
+ return f!=null?f.getFullPath().toString():"";
+ }
+
private String getModelPackageName() {
String name = null;
if(preferences!=null) {
name = preferences.get(ISeamFacetDataModelProperties.ENTITY_BEAN_PACKAGE_NAME, null);
}
if(name==null) {
- name = "org.domain." + getSeamProjectName() + ".entity";
+ name = getDefaultModelPackageName();
}
return name;
}
+ private String getDefaultModelPackageName() {
+ return "org.domain." + getSeamProjectName() + ".entity";
+ }
+
private String getActionPackageName() {
String name = null;
if(preferences!=null) {
name = preferences.get(ISeamFacetDataModelProperties.SESSION_BEAN_PACKAGE_NAME,
null);
}
if(name==null) {
- name = "org.domain." + getSeamProjectName() + ".session";
+ name = getDefaultActionPackageName();
}
return name;
}
+ private String getDefaultActionPackageName() {
+ return "org.domain." + getSeamProjectName() + ".session";
+ }
+
private String getTestPackageName() {
String name = null;
if(preferences!=null) {
name = preferences.get(ISeamFacetDataModelProperties.TEST_CASES_PACKAGE_NAME, null);
}
if(name==null) {
- name = "org.domain." + getSeamProjectName() + ".test";
+ name = getDefaultTestPackageName();
}
return name;
}
+ private String getDefaultTestPackageName() {
+ return "org.domain." + getSeamProjectName() + ".test";
+ }
+
private String getActionSourceFolder() {
String folder = null;
if(preferences!=null) {
folder = preferences.get(ISeamFacetDataModelProperties.SESSION_BEAN_SOURCE_FOLDER,
null);
}
if(folder==null) {
- SeamProjectsSet set = new SeamProjectsSet(project);
- IContainer f = set.getActionFolder();
- folder = f!=null?f.getFullPath().toString():"";
+ folder = getDefaultActionSourceFolder();
}
return folder;
}
+ private String getDefaultActionSourceFolder() {
+ SeamProjectsSet set = new SeamProjectsSet(project);
+ IContainer f = set.getActionFolder();
+ return f!=null?f.getFullPath().toString():"";
+ }
+
private String getTestSourceFolder() {
String folder = null;
if(preferences!=null) {
folder = preferences.get(ISeamFacetDataModelProperties.TEST_SOURCE_FOLDER, null);
}
if(folder==null) {
- SeamProjectsSet set = new SeamProjectsSet(project);
- IContainer f = set.getTestsFolder();
- folder = f!=null?f.getFullPath().toString():"";
+ folder = getDefaultTestSourceFolder();
}
return folder;
}
+ private String getDefaultTestSourceFolder() {
+ SeamProjectsSet set = new SeamProjectsSet(project);
+ IContainer f = set.getTestsFolder();
+ return f!=null?f.getFullPath().toString():"";
+ }
+
private String getViewFolder() {
String folder = null;
if(preferences!=null) {
folder = preferences.get(ISeamFacetDataModelProperties.WEB_CONTENTS_FOLDER, null);
}
if(folder==null) {
- SeamProjectsSet set = new SeamProjectsSet(project);
- IContainer f = set.getViewsFolder();
- folder = f!=null?f.getFullPath().toString():"";
+ folder = getDefaultViewFolder();
}
return folder;
}
+ private String getDefaultViewFolder() {
+ SeamProjectsSet set = new SeamProjectsSet(project);
+ IContainer f = set.getViewsFolder();
+ return f!=null?f.getFullPath().toString():"";
+ }
+
private List<String> getProfileNameList() {
IConnectionProfile[] profiles = ProfileManager.getInstance()
.getProfilesByCategory("org.eclipse.datatools.connectivity.db.category");
//$NON-NLS-1$
@@ -443,6 +468,11 @@
return (ds!=null && getProfileNameList().contains(ds))?ds:"";
//$NON-NLS-1$
}
+ private String getDefaultConnectionProfile() {
+ List<String> names = getProfileNameList();
+ return names.size()>0?names.get(0):"";
+ }
+
private String getEjbProjectName() {
if(preferences!=null) {
return preferences.get(ISeamFacetDataModelProperties.SEAM_EJB_PROJECT,
project.getName());
@@ -743,7 +773,7 @@
}
private void setEnabledTestGroup() {
- boolean enabled = isTestEnabled();
+ boolean enabled = isTestEnabled() && isSeamSupported() &&
runtimeIsSelected;
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);
@@ -760,6 +790,53 @@
}
}
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
+ */
+ @Override
+ protected void performDefaults() {
+ getEditor(SeamPreferencesMessages.SEAM_SETTINGS_PREFERENCE_PAGE_SEAM_SUPPORT).setValue(Boolean.TRUE);
+ getEditor(ISeamFacetDataModelProperties.SEAM_RUNTIME_NAME).setValue(getDefaultRuntimeName());
+ getEditor(ISeamFacetDataModelProperties.JBOSS_AS_DEPLOY_AS).setValue(ISeamFacetDataModelProperties.DEPLOY_AS_WAR);
+ getEditor(ISeamFacetDataModelProperties.WEB_CONTENTS_FOLDER).setValue(getDefaultViewFolder());
+ getEditor(ISeamFacetDataModelProperties.SEAM_CONNECTION_PROFILE).setValue(getDefaultConnectionProfile());
+ getEditor(ISeamFacetDataModelProperties.ENTITY_BEAN_SOURCE_FOLDER).setValue(getDefaultModelSourceFolder());
+ getEditor(ISeamFacetDataModelProperties.ENTITY_BEAN_PACKAGE_NAME).setValue(getDefaultModelPackageName());
+ getEditor(ISeamFacetDataModelProperties.SESSION_BEAN_SOURCE_FOLDER).setValue(getDefaultActionSourceFolder());
+ getEditor(ISeamFacetDataModelProperties.SESSION_BEAN_PACKAGE_NAME).setValue(getDefaultActionPackageName());
+ getEditor(ISeamFacetDataModelProperties.TEST_CREATING).setValue(Boolean.TRUE);
+ getEditor(ISeamFacetDataModelProperties.SEAM_TEST_PROJECT).setValue(project.getName());
+ getEditor(ISeamFacetDataModelProperties.TEST_SOURCE_FOLDER).setValue(getDefaultTestSourceFolder());
+ getEditor(ISeamFacetDataModelProperties.TEST_CASES_PACKAGE_NAME).setValue(getDefaultTestPackageName());
+ setEnabledSeamSuport(true);
+ validate();
+ }
+
+ private String getDefaultRuntimeName() {
+ SeamRuntime runtime =
SeamRuntimeManager.getDefaultRuntimeForProject(warProject!=null?warProject:project);
+ if(runtime==null) {
+ List<String> names = getRuntimeNames();
+ if(names.size()>0) {
+ return names.get(0);
+ }
+ return "";
+ }
+ return runtime.getName();
+ }
+
+ private List<String> getRuntimeNames() {
+ SeamVersion[] seamVersions = getSeamVersions();
+ List<String> rtStrings = new ArrayList<String>();
+ for (int i = 0; i < seamVersions.length; i++) {
+ SeamRuntime[] rts = SeamRuntimeManager.getInstance().getRuntimes(seamVersions[i]);
+ for(SeamRuntime seamRuntime : rts) {
+ rtStrings.add(seamRuntime.getName());
+ }
+ }
+ return rtStrings;
+ }
+
private void setRuntimeIsSelected(boolean selected) {
runtimeIsSelected = selected;
for (String key : editorRegistry.keySet()) {