Author: scabanovich
Date: 2012-02-10 18:08:50 -0500 (Fri, 10 Feb 2012)
New Revision: 38630
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/FacesConfigValidator.java
Log:
JBIDE-10830
https://issues.jboss.org/browse/JBIDE-10830
Faces Config validator is fixed.
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/FacesConfigValidator.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/FacesConfigValidator.java 2012-02-10
23:08:43 UTC (rev 38629)
+++
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/FacesConfigValidator.java 2012-02-10
23:08:50 UTC (rev 38630)
@@ -11,8 +11,10 @@
package org.jboss.tools.jsf.web.validation;
import java.text.MessageFormat;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
+import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.StringTokenizer;
@@ -36,6 +38,8 @@
import org.jboss.tools.common.EclipseUtil;
import org.jboss.tools.common.model.XModel;
import org.jboss.tools.common.model.XModelObject;
+import org.jboss.tools.common.model.XModelObjectConstants;
+import org.jboss.tools.common.model.filesystems.FileSystemsHelper;
import org.jboss.tools.common.model.impl.XModelImpl;
import org.jboss.tools.common.model.util.EclipseResourceUtil;
import org.jboss.tools.common.validation.ContextValidationHelper;
@@ -539,8 +543,15 @@
String value = object.getAttributeValue("param-value"); //$NON-NLS-1$
if(value == null || value.length() == 0) return;
XModel model = object.getModel();
- XModelObject webRoot = model == null ? null :
model.getByPath("FileSystems/WEB-ROOT"); //$NON-NLS-1$
- if(webRoot == null) return;
+ List<XModelObject> webRoots = new ArrayList<XModelObject>();
+ XModelObject[] fss = FileSystemsHelper.getFileSystems(model).getChildren();
+ for (XModelObject s: fss) {
+ String n = s.getAttributeValue(XModelObjectConstants.ATTR_NAME);
+ if("WEB-ROOT".equals(n) || n.startsWith("WEB-ROOT-")) {
+ webRoots.add(s);
+ }
+ }
+ if(webRoots.isEmpty()) return;
StringTokenizer st = new StringTokenizer(value, ","); //$NON-NLS-1$
while(st.hasMoreTokens()) {
String path = st.nextToken().trim();
@@ -551,7 +562,11 @@
return;
}
String path2 = path.startsWith("/") ? path.substring(1) : path;
//$NON-NLS-1$
- XModelObject fc2 = webRoot.getChildByPath(path2);
+ XModelObject fc2 = null;
+ for (XModelObject s: webRoots) {
+ fc2 = s.getChildByPath(path2);
+ if(fc2 != null) break;
+ }
if(fc2 == null) {
fireMessage(object, NLS.bind(JSFValidationMessage.INVALID_FACES_CONFIG_REFERENCE,
"param-value", path));
return;