You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by pi...@locus.apache.org on 2000/09/19 21:21:16 UTC

cvs commit: jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler Compiler.java

pierred     00/09/19 12:21:15

  Modified:    jasper/src/share/org/apache/jasper/compiler Compiler.java
  Log:
  Support for XML syntax:
  now uses ParserController which abstracts the selection of the
  proper parser.
  
  Revision  Changes    Path
  1.2       +34 -16    jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/Compiler.java
  
  Index: Compiler.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/Compiler.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Compiler.java	2000/08/12 00:52:07	1.1
  +++ Compiler.java	2000/09/19 19:21:12	1.2
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/Compiler.java,v 1.1 2000/08/12 00:52:07 pierred Exp $
  - * $Revision: 1.1 $
  - * $Date: 2000/08/12 00:52:07 $
  + * $Header: /home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/Compiler.java,v 1.2 2000/09/19 19:21:12 pierred Exp $
  + * $Revision: 1.2 $
  + * $Date: 2000/09/19 19:21:12 $
    *
    * ====================================================================
    * 
  @@ -84,6 +84,7 @@
    *
    * @author Anil K. Vijendran
    * @author Mandar Raje
  + * @author Pierre Delisle
    */
   public class Compiler {
       protected JavaCompiler javac;
  @@ -134,8 +135,18 @@
                             new Object[] { className },
                             Logger.DEBUG);
   
  -        
  -        
  +        // Setup the ServletWriter
  +        String javaEncoding = "UTF8";           // perhaps debatable?
  +        ServletWriter writer = 
  +            (new ServletWriter
  +                (new PrintWriter
  +                    (new java.io.OutputStreamWriter(
  +                        new FileOutputStream(javaFileName),javaEncoding))));
  +        ctxt.setWriter(writer);
  +
  +	/* NOT COMPILED -- remove eventually -- kept for temp reference
  +	   @@@ ParserController still needs to handle jspEncoding
  +	       for JSP syntax files
           // Need the encoding specified in the JSP 'page' directive for
           //  - reading the JSP page
           //  - writing the JSP servlet source
  @@ -143,7 +154,6 @@
           // XXX - There are really three encodings of interest.
   
           String jspEncoding = "8859_1";          // default per JSP spec
  -        String javaEncoding = "UTF8";           // perhaps debatable?
   
   	// This seems to be a reasonable point to scan the JSP file
   	// for a 'contentType' directive. If it found then the set
  @@ -165,23 +175,31 @@
               ctxt,
               jspEncoding
           );
  -
  -        ServletWriter writer = 
  -            (new ServletWriter
  -                (new PrintWriter
  -                    (new java.io.OutputStreamWriter(
  -                        new FileOutputStream(javaFileName),javaEncoding))));
  -
           ctxt.setReader(reader);
  -        ctxt.setWriter(writer);
  -
           ParseEventListener listener = new JspParseEventListener(ctxt);
  -        
  +	*/
  +
  +	/* NOT COMPILED
           Parser p = new Parser(reader, listener);
           listener.beginPageProcessing();
           p.parse();
           listener.endPageProcessing();
  +	*/
  +
  +	// Parse the file
  +	ParserController parserCtl = new ParserController(ctxt);
  +	parserCtl.parse(ctxt.getJspFile());
  +
  +        // Generate the servlet
  +	ParseEventListener listener = parserCtl.getParseEventListener();
  +        listener.beginPageProcessing();
  +        listener.endPageProcessing();
           writer.close();
  +
  +	// An XML input stream has been produced and can be validated
  +	// by TagLibraryValidator classes 
  +	((JspParseEventListener)listener).validate();
  +
   
           String classpath = ctxt.getClassPath();