You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by lu...@apache.org on 2002/10/07 21:36:18 UTC
cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler ParserController.java
luehe 2002/10/07 12:36:18
Modified: jasper2/src/share/org/apache/jasper/compiler
ParserController.java
Log:
Improved error reporting for missing tag file in jar
Revision Changes Path
1.21 +22 -27 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/ParserController.java
Index: ParserController.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/ParserController.java,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- ParserController.java 15 Sep 2002 23:12:30 -0000 1.20
+++ ParserController.java 7 Oct 2002 19:36:18 -0000 1.21
@@ -77,15 +77,10 @@
* @author Pierre Delisle
*/
public class ParserController {
- /*
- * The compilation context
- */
- private JspCompilationContext ctxt;
- /*
- * The Compiler
- */
+ private JspCompilationContext ctxt;
private Compiler compiler;
+ private ErrorDispatcher err;
/*
* A stack to keep track of the 'current base directory'
@@ -124,12 +119,13 @@
private String newEncoding;
- //*********************************************************************
- // Constructor
-
+ /*
+ * Constructor
+ */
public ParserController(JspCompilationContext ctxt, Compiler compiler) {
this.ctxt = ctxt; // @@@ can we assert that ctxt is not null?
this.compiler = compiler;
+ this.err = compiler.getErrorDispatcher();
}
public JspCompilationContext getJspCompilationContext () {
@@ -140,9 +136,6 @@
return compiler;
}
- //*********************************************************************
- // Parse
-
/**
* Parses a jsp file. This is invoked by the compiler.
*
@@ -228,8 +221,7 @@
isTagFile);
} else {
JspReader r = new JspReader(ctxt, absFileName, encoding,
- reader,
- compiler.getErrorDispatcher());
+ reader, err);
parsedPage = Parser.parse(this, r, parent, isTagFile,
directivesOnly);
}
@@ -281,8 +273,7 @@
JspReader jspReader;
try {
- jspReader = new JspReader(ctxt, file, encoding, reader,
- compiler.getErrorDispatcher());
+ jspReader = new JspReader(ctxt, file, encoding, reader, err);
} catch (FileNotFoundException ex) {
throw new JasperException(ex);
}
@@ -362,28 +353,32 @@
private InputStreamReader getReader(String file, String encoding,
JarFile jarFile)
- throws FileNotFoundException, JasperException, IOException {
+ throws JasperException, IOException {
- InputStream in;
- InputStreamReader reader;
+ InputStream in = null;
+ InputStreamReader reader = null;
if (jarFile != null) {
- ZipEntry jarEntry =
- jarFile.getEntry(file.substring(1, file.length()));
+ String jarEntryName = file.substring(1, file.length());
+ ZipEntry jarEntry = jarFile.getEntry(jarEntryName);
+ if (jarEntry == null) {
+ err.jspError("jsp.error.file.not.found", file);
+ }
in = jarFile.getInputStream(jarEntry);
} else {
in = ctxt.getResourceAsStream(file);
}
+
if (in == null) {
- throw new FileNotFoundException(file);
+ err.jspError("jsp.error.file.not.found", file);
}
try {
- return new InputStreamReader(in, encoding);
+ reader = new InputStreamReader(in, encoding);
} catch (UnsupportedEncodingException ex) {
- throw new JasperException(
- Constants.getString("jsp.error.unsupported.encoding",
- new Object[]{encoding}));
+ err.jspError("jsp.error.unsupported.encoding", encoding);
}
+
+ return reader;
}
}
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>