horwat 01/07/10 16:50:30
Modified: jasper/src/share/org/apache/jasper/compiler
TagLibraryInfoImpl.java JspParseEventListener.java
Log:
TagLibraryValidator update. Reflect changes in the JSP 1.2 PFD specification.
Validation now returns an error list.
Submitted by: Eduardo Pelegri-Llopart
Revision Changes Path
1.23 +5 -4
jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/TagLibraryInfoImpl.java
Index: TagLibraryInfoImpl.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/TagLibraryInfoImpl.java,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- TagLibraryInfoImpl.java 2001/03/22 01:26:44 1.22
+++ TagLibraryInfoImpl.java 2001/07/10 23:50:24 1.23
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/TagLibraryInfoImpl.java,v
1.22 2001/03/22 01:26:44 horwat Exp $
- * $Revision: 1.22 $
- * $Date: 2001/03/22 01:26:44 $
+ * $Header:
/home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/TagLibraryInfoImpl.java,v
1.23 2001/07/10 23:50:24 horwat Exp $
+ * $Revision: 1.23 $
+ * $Date: 2001/07/10 23:50:24 $
*
* The Apache Software License, Version 1.1
*
@@ -89,6 +89,7 @@
import javax.servlet.jsp.tagext.PageData;
import javax.servlet.jsp.tagext.VariableInfo;
import javax.servlet.jsp.tagext.TagVariableInfo;
+import javax.servlet.jsp.tagext.ValidationMessage;
import org.apache.jasper.JspCompilationContext;
import org.apache.jasper.JasperException;
@@ -605,7 +606,7 @@
* @param thePage The JSP page object
* @return A string indicating whether the page is valid or not.
*/
- public String validate(PageData thePage) {
+ public ValidationMessage[] validate(PageData thePage) {
TagLibraryValidator tlv = getTagLibraryValidator();
if (tlv == null) return null;
return tlv.validate(getPrefixString(), getURI(), thePage);
1.31 +10 -5
jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/JspParseEventListener.java
Index: JspParseEventListener.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/JspParseEventListener.java,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -r1.30 -r1.31
--- JspParseEventListener.java 2001/05/22 21:43:29 1.30
+++ JspParseEventListener.java 2001/07/10 23:50:26 1.31
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/JspParseEventListener.java,v
1.30 2001/05/22 21:43:29 horwat Exp $
- * $Revision: 1.30 $
- * $Date: 2001/05/22 21:43:29 $
+ * $Header:
/home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/JspParseEventListener.java,v
1.31 2001/07/10 23:50:26 horwat Exp $
+ * $Revision: 1.31 $
+ * $Date: 2001/07/10 23:50:26 $
*
* ====================================================================
*
@@ -76,6 +76,7 @@
import javax.servlet.jsp.tagext.TagInfo;
import javax.servlet.jsp.tagext.TagLibraryInfo;
+import javax.servlet.jsp.tagext.ValidationMessage;
import org.apache.jasper.JasperException;
import org.apache.jasper.Constants;
@@ -1117,8 +1118,12 @@
while (enum.hasMoreElements()) {
TagLibraryInfo tli = (TagLibraryInfo)enum.nextElement();
//@@@ remove cast when TagLibraryInfo is fixed in spec
- String msg = ((TagLibraryInfoImpl)tli).validate(xo.getPageData());
- if (msg != null) {
+
+ ValidationMessage[] errors =
+ ((TagLibraryInfoImpl)tli).validate(xo.getPageData());
+ if ((errors != null) && (errors.length != 0)) {
+ // for now just report the first error!
+ String msg = errors[0].getMessage();
throw new JasperException(
Constants.getString(
"jsp.error.taglibraryvalidator.invalidpage",