Author: vrubezhny
Date: 2010-12-24 11:18:36 -0500 (Fri, 24 Dec 2010)
New Revision: 27719
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSFMessageELCompletionEngine.java
Log:
JBIDE-7975
jsf validation gives property does not exist warning on messagebundle properties
The localization properties in facesConfig.xml are taken into account when searching for
resource bundles
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSFMessageELCompletionEngine.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSFMessageELCompletionEngine.java 2010-12-24
16:17:34 UTC (rev 27718)
+++
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSFMessageELCompletionEngine.java 2010-12-24
16:18:36 UTC (rev 27719)
@@ -52,6 +52,7 @@
import org.jboss.tools.common.text.ext.util.Utils;
import org.jboss.tools.common.util.FileUtil;
import org.jboss.tools.jsf.JSFModelPlugin;
+import org.jboss.tools.jsf.model.helpers.converter.OpenKeyHelper;
import org.jboss.tools.jst.web.kb.IPageContext;
import org.jboss.tools.jst.web.kb.IResourceBundle;
import org.jboss.tools.jst.web.project.list.WebPromptingProvider;
@@ -473,22 +474,28 @@
XModel model = n.getModel();
if(model == null)
return;
- XModelObject properties = model.getByPath("/" +
variable.basename.replace('.', '/') + ".properties");
+
+ OpenKeyHelper keyHelper = new OpenKeyHelper();
+ XModelObject[] properties = keyHelper.findBundles(model, variable.basename, null);
+// XModelObject properties = model.getByPath("/" +
variable.basename.replace('.', '/') + ".properties");
if(properties == null)
return;
- IFile propFile = (IFile)properties.getAdapter(IFile.class);
- if(propFile == null)
- return;
- segment.setMessageBundleResource(propFile);
- XModelObject property = properties.getChildByPath(segment.getToken().getText());
- if(property != null){
- try {
- String content = FileUtil.readStream(propFile);
- if(findPropertyLocation(property, content, segment)){
- segment.setBaseName(variable.basename);
+
+ for (XModelObject p : properties) {
+ IFile propFile = (IFile)p.getAdapter(IFile.class);
+ if(propFile == null)
+ continue;
+ segment.setMessageBundleResource(propFile);
+ XModelObject property = p.getChildByPath(segment.getToken().getText());
+ if(property != null){
+ try {
+ String content = FileUtil.readStream(propFile);
+ if(findPropertyLocation(property, content, segment)){
+ segment.setBaseName(variable.basename);
+ }
+ } catch (CoreException e) {
+ log(e);
}
- } catch (CoreException e) {
- log(e);
}
}
}
Show replies by date