Author: scabanovich
Date: 2012-07-19 19:49:16 -0400 (Thu, 19 Jul 2012)
New Revision: 42661
Modified:
trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/validation/CheckResource.java
trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/validation/WebXMLCoreValidator.java
Log:
JBIDE-11248
https://issues.jboss.org/browse/JBIDE-11248
jsfnature is not necessary.
Modified:
trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/validation/CheckResource.java
===================================================================
---
trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/validation/CheckResource.java 2012-07-19
22:33:45 UTC (rev 42660)
+++
trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/validation/CheckResource.java 2012-07-19
23:49:16 UTC (rev 42661)
@@ -49,6 +49,7 @@
public void check(XModelObject object) {
String value = object.getAttributeValue(attr);
+ String actualValue = value;
XModel model = object.getModel();
XModelObject webRoot = model == null ? null : FileSystemsHelper.getWebRoot(model);
if(webRoot == null) return;
@@ -63,7 +64,7 @@
}
List<Object> list = WebPromptingProvider.getInstance().getList(model,
IWebPromptingProvider.JSF_CONVERT_URL_TO_PATH, value, null);
- if(list != null && list.size() > 0) {
+ if(list != null && !list.isEmpty()) {
value = list.get(0).toString();
}
@@ -79,12 +80,28 @@
String valuei = v.toString();
String value2 = valuei.startsWith("/") ? valuei.substring(1) : valuei;
//$NON-NLS-1$
o = webRoot.getChildByPath(value2);
- if(o != null) break;
+ if(o != null) {
+ value = "/" + value2; //$NON-NLS-1$
+ break;
+ }
}
if(o == null) {
- fireExists(object, preference, attr, value);
- } else if(!checkExtensions(value)) {
- fireExtension(object, preference, attr, value);
+ String v = value;
+ if(list.size() > 1) {
+ v = actualValue;
+ }
+ fireExists(object, preference, attr, v);
+ } else {
+ boolean ok = checkExtensions(value);
+ if(!ok && list != null) {
+ for (Object v: list) {
+ ok = checkExtensions(v.toString());
+ if(ok) break;
+ }
+ }
+ if(!ok) {
+ fireExtension(object, preference, attr, value);
+ }
}
}
Modified:
trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/validation/WebXMLCoreValidator.java
===================================================================
---
trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/validation/WebXMLCoreValidator.java 2012-07-19
22:33:45 UTC (rev 42660)
+++
trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/validation/WebXMLCoreValidator.java 2012-07-19
23:49:16 UTC (rev 42661)
@@ -111,7 +111,7 @@
addCheck(new CheckResource(this, WebXMLPreferences.INVALID_TAGLIB_REF,
"taglib-location", false, ".tld",
WebXMLValidatorMessages.PATH_NOT_TAGLIB),
WebAppHelper.TAGLIB_ENTITY);
- addCheck(new CheckResource(this, WebXMLPreferences.INVALID_WELCOME_FILE_REF, "file
name", false, ".jsp .html .htm .jspx",
WebXMLValidatorMessages.PATH_NOT_PAGE),
+ addCheck(new CheckResource(this, WebXMLPreferences.INVALID_WELCOME_FILE_REF, "file
name", false, ".jsp .html .htm .jspx .xhtml",
WebXMLValidatorMessages.PATH_NOT_PAGE),
"WebAppWelcomFile");
addCheck(new CheckResource(this, WebXMLPreferences.INVALID_ERROR_PAGE_REF,
"location", false, null, null).acceptServlet(),
"WebAppErrorPage");