Author: jfrederic.clere(a)jboss.com
Date: 2008-04-01 11:37:54 -0400 (Tue, 01 Apr 2008)
New Revision: 577
Modified:
trunk/java/org/apache/jasper/compiler/Compiler.java
trunk/webapps/docs/changelog.xml
Log:
Fix bugzilla 42693 for case 171944.
Modified: trunk/java/org/apache/jasper/compiler/Compiler.java
===================================================================
--- trunk/java/org/apache/jasper/compiler/Compiler.java 2008-04-01 13:08:39 UTC (rev 576)
+++ trunk/java/org/apache/jasper/compiler/Compiler.java 2008-04-01 15:37:54 UTC (rev 577)
@@ -142,24 +142,10 @@
ctxt.checkOutputDir();
String javaFileName = ctxt.getServletJavaFileName();
+
ServletWriter writer = null;
-
try {
- // Setup the ServletWriter
- String javaEncoding = ctxt.getOptions().getJavaEncoding();
- OutputStreamWriter osw = null;
- try {
- osw = new OutputStreamWriter(
- new FileOutputStream(javaFileName), javaEncoding);
- } catch (UnsupportedEncodingException ex) {
- errDispatcher.jspError("jsp.error.needAlternateJavaEncoding",
- javaEncoding);
- }
-
- writer = new ServletWriter(new PrintWriter(osw));
- ctxt.setWriter(writer);
-
// Reset the temporary variable counter for the generator.
JspUtil.resetTemporaryVariableName();
@@ -169,6 +155,7 @@
if (ctxt.isPrototypeMode()) {
// generate prototype .java file for the tag file
+ writer = setupContextWriter(javaFileName);
Generator.generate(writer, this, pageNodes);
writer.close();
writer = null;
@@ -208,6 +195,7 @@
ELFunctionMapper.map(this, pageNodes);
// generate servlet .java file
+ writer = setupContextWriter(javaFileName);
Generator.generate(writer, this, pageNodes);
writer.close();
writer = null;
@@ -260,6 +248,26 @@
return smapStr;
}
+ private ServletWriter setupContextWriter(String javaFileName)
+ throws FileNotFoundException, JasperException {
+ ServletWriter writer;
+ // Setup the ServletWriter
+ String javaEncoding = ctxt.getOptions().getJavaEncoding();
+ OutputStreamWriter osw = null;
+
+ try {
+ osw = new OutputStreamWriter(
+ new FileOutputStream(javaFileName), javaEncoding);
+ } catch (UnsupportedEncodingException ex) {
+ errDispatcher.jspError("jsp.error.needAlternateJavaEncoding",
+ javaEncoding);
+ }
+
+ writer = new ServletWriter(new PrintWriter(osw));
+ ctxt.setWriter(writer);
+ return writer;
+ }
+
/**
* Compile the servlet from .java file to .class file
*/
Modified: trunk/webapps/docs/changelog.xml
===================================================================
--- trunk/webapps/docs/changelog.xml 2008-04-01 13:08:39 UTC (rev 576)
+++ trunk/webapps/docs/changelog.xml 2008-04-01 15:37:54 UTC (rev 577)
@@ -8,6 +8,7 @@
<properties>
<author email="remm(a)apache.org">Remy Maucherat</author>
+ <author email="jfclere(a)apache.org">Jean-Frederic
Clere</author>
<author email="yoavs(a)apache.org">Yoav Shapira</author>
<author email="fhanik(a)apache.org">Filip Hanik</author>
<title>Changelog</title>
@@ -99,6 +100,13 @@
</fix>
</changelog>
</subsection>
+ <subsection name="Jasper">
+ <changelog>
+ <fix>
+ Port Tomcat fix for bugzilla 42693. (jfclere).
+ </fix>
+ </changelog>
+ </subsection>
</section>
<section name="JBoss Web 2.1.0 (remm)">