Author: akazakov
Date: 2009-08-18 04:39:50 -0400 (Tue, 18 Aug 2009)
New Revision: 17120
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
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/widget/editor/SeamRuntimeListFieldEditor.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-4657 - Fixed
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-08-18
08:26:17 UTC (rev 17119)
+++
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/preferences/SeamPreferencesMessages.java 2009-08-18
08:39:50 UTC (rev 17120)
@@ -44,6 +44,8 @@
public static String SEAM_SETTINGS_PREFERENCE_PAGE_SEAM_RUNTIME_IS_NOT_SELECTED;
public static String SEAM_SETTINGS_PREFERENCE_PAGE_SEAM_RUNTIME_DOES_NOT_EXIST;
+
+ public static String SEAM_SETTINGS_PREFERENCE_PAGE_WRONG_SEAM_VERSION;
public static String SEAM_SETTINGS_PREFERENCE_PAGE_EJB_PROJECT_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-08-18
08:26:17 UTC (rev 17119)
+++
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/preferences/SeamPreferencesMessages.properties 2009-08-18
08:39:50 UTC (rev 17120)
@@ -92,6 +92,7 @@
SEAM_SETTINGS_PREFERENCE_PAGE_SEAM_RUNTIME_IS_NOT_SELECTED=Seam runtime is not selected
SEAM_PREFERENCE_PAGE_SEAM_RUNTIMES=Seam Runtimes
SEAM_SETTINGS_PREFERENCE_PAGE_SEAM_RUNTIME_DOES_NOT_EXIST=Runtime "{0}" does
not exist.
+SEAM_SETTINGS_PREFERENCE_PAGE_WRONG_SEAM_VERSION=Seam runtime version "{0}" is
incompatible with installed Seam Facet ({1}). Please set Seam Facet version to {0}. See
Project->Properties->Project Facets.
SEAM_SETTINGS_PREFERENCE_PAGE_EJB_PROJECT_DOES_NOT_EXIST=Seam EJB project "{0}"
does not exist.
SEAM_SETTINGS_PREFERENCE_PAGE_VIEW_FOLDER_DOES_NOT_EXIST=View Folder "{0}" does
not exist.
SEAM_SETTINGS_PREFERENCE_PAGE_MODEL_SOURCE_FOLDER_DOES_NOT_EXIST=Model source folder
"{0}" does not exist.
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-08-18
08:26:17 UTC (rev 17119)
+++
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/preferences/SeamSettingsPreferencePage.java 2009-08-18
08:39:50 UTC (rev 17120)
@@ -554,7 +554,8 @@
return;
} else {
String value = getValue(ISeamFacetDataModelProperties.SEAM_RUNTIME_NAME);
- if(SeamRuntimeManager.getInstance().findRuntimeByName(value) == null) {
+ SeamRuntime seamRuntime = SeamRuntimeManager.getInstance().findRuntimeByName(value);
+ if(seamRuntime == null) {
setErrorMessage(NLS.bind(SeamPreferencesMessages.SEAM_SETTINGS_PREFERENCE_PAGE_SEAM_RUNTIME_DOES_NOT_EXIST,
new String[]{value}));
setValid(false);
return;
@@ -572,6 +573,12 @@
setValid(true);
}
}
+ SeamVersion installedVersion = getInstalledSeamVersion();
+ if(installedVersion!=null && seamRuntime.getVersion()!=installedVersion) {
+ setMessage(NLS.bind(SeamPreferencesMessages.SEAM_SETTINGS_PREFERENCE_PAGE_WRONG_SEAM_VERSION,
new String[]{seamRuntime.getVersion().toString(), installedVersion.toString()}),
IMessageProvider.WARNING);
+ warning = true;
+ setValid(true);
+ }
}
validateProjectName(SeamPreferencesMessages.SEAM_SETTINGS_PREFERENCE_PAGE_MAIN_SEAM_PROJECT_DOES_NOT_EXIST,
SeamPreferencesMessages.SEAM_SETTINGS_PREFERENCE_PAGE_MAIN_SEAM_PROJECT_IS_EMPTY,
IParameter.SEAM_PROJECT_NAME, false);
@@ -973,6 +980,11 @@
}
private SeamVersion[] getSeamVersions() {
+ // Let's allow user to select any available seam version regardless of installed
seam facet. But we should warn user if he selects different versions of facet and seam
runtime.
+ return SeamVersion.ALL_VERSIONS;
+ }
+
+ private SeamVersion getInstalledSeamVersion() {
if(warSeamProject != null) {
try {
IFacetedProject facetedProject =
ProjectFacetsManager.create(warSeamProject.getProject());
@@ -982,24 +994,24 @@
if(version!=null) {
SeamVersion seamVersion = SeamVersion.findByString(version.getVersionString());
if(seamVersion!=null) {
- return new SeamVersion[]{seamVersion};
+ return seamVersion;
}
}
}
} catch (CoreException e) {
SeamGuiPlugin.getPluginLog().logError(e);
}
- String jarLocation = getJBossSeamJarLocation();
- if(jarLocation != null) {
- String folder = new File(jarLocation).getParent();
- String vs = SeamUtil.getSeamVersionFromManifest(folder);
- SeamVersion v = SeamVersion.findMatchingVersion(vs);
- if(v != null) {
- return new SeamVersion[]{v};
- }
- }
+// String jarLocation = getJBossSeamJarLocation();
+// if(jarLocation != null) {
+// String folder = new File(jarLocation).getParent();
+// String vs = SeamUtil.getSeamVersionFromManifest(folder);
+// SeamVersion v = SeamVersion.findMatchingVersion(vs);
+// if(v != null) {
+// return v;
+// }
+// }
}
- return SeamVersion.ALL_VERSIONS;
+ return null;
}
private String getJBossSeamJarLocation() {
Modified:
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/widget/editor/SeamRuntimeListFieldEditor.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/widget/editor/SeamRuntimeListFieldEditor.java 2009-08-18
08:26:17 UTC (rev 17119)
+++
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/widget/editor/SeamRuntimeListFieldEditor.java 2009-08-18
08:39:50 UTC (rev 17120)
@@ -631,10 +631,17 @@
setPageComplete(true);
return;
} else if(!SeamUtil.areSeamVersionsMatched(version.getValueAsString(), seamVersion))
{
- setErrorMessage(NLS.bind(SeamUIMessages.SEAM_RUNTIME_LIST_FIELD_EDITOR_THE_SELECTED_SEAM_APPEARS_TO_BE_OF_INCOMATIBLE_VERSION,
- seamVersion));
- setPageComplete(false);
- return;
+ String trimmedVersion = SeamUtil.trimSeamVersion(version.getValueAsString(), 1);
+ String trimmedSeamVersion = SeamUtil.trimSeamVersion(seamVersion, 1);
+ if(SeamUtil.areSeamVersionsMatched(trimmedVersion, trimmedSeamVersion)) {
+ setMessage(NLS.bind(SeamUIMessages.SEAM_RUNTIME_LIST_FIELD_EDITOR_THE_SELECTED_SEAM_APPEARS_TO_BE_OF_INCOMATIBLE_VERSION,
+ seamVersion), IMessageProvider.WARNING);
+ } else {
+ setErrorMessage(NLS.bind(SeamUIMessages.SEAM_RUNTIME_LIST_FIELD_EDITOR_THE_SELECTED_SEAM_APPEARS_TO_BE_OF_INCOMATIBLE_VERSION,
+ seamVersion));
+ setPageComplete(false);
+ return;
+ }
} else {
setMessage(null);
}