Author: yoavs Date: Tue Dec 26 07:02:51 2006 New Revision: 490307 URL: http://svn.apache.org/viewvc?view=rev&rev=490307 Log: Bugzilla 39775: don't have static Log references in Jasper.
Modified: tomcat/container/tc5.5.x/webapps/docs/changelog.xml tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/JspC.java tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/runtime/PageContextImpl.java Modified: tomcat/container/tc5.5.x/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/webapps/docs/changelog.xml?view=diff&rev=490307&r1=490306&r2=490307 ============================================================================== --- tomcat/container/tc5.5.x/webapps/docs/changelog.xml (original) +++ tomcat/container/tc5.5.x/webapps/docs/changelog.xml Tue Dec 26 07:02:51 2006 @@ -237,6 +237,9 @@ Display the JSP source when a compilation error occurs and display the correct line number rather than start of a scriptlet block. (markt) </fix> + <fix> + <bug>39975</bug>: don't have static Log references to prevent classloader leaks. (yoavs) + </fix> </changelog> </subsection> <subsection name="Webapps"> Modified: tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/JspC.java URL: http://svn.apache.org/viewvc/tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/JspC.java?view=diff&rev=490307&r1=490306&r2=490307 ============================================================================== --- tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/JspC.java (original) +++ tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/JspC.java Tue Dec 26 07:02:51 2006 @@ -90,12 +90,12 @@ * @author Yoav Shapira */ public class JspC implements Options { - + /** The default Microsoft Internet Explorer class ID. */ public static final String DEFAULT_IE_CLASS_ID = "clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"; - // Logger - private static Log log = LogFactory.getLog(JspC.class); + /** Logger (set by constructor.) */ + private Log log; private static final String SWITCH_VERBOSE = "-v"; private static final String SWITCH_HELP = "-help"; @@ -253,6 +253,11 @@ } } } + } + + /** Constructor. */ + public JspC() { + log = LogFactory.getLog(getClass()); } public void setArgs(String[] arg) throws JasperException { Modified: tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/runtime/PageContextImpl.java URL: http://svn.apache.org/viewvc/tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/runtime/PageContextImpl.java?view=diff&rev=490307&r1=490306&r2=490307 ============================================================================== --- tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/runtime/PageContextImpl.java (original) +++ tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/runtime/PageContextImpl.java Tue Dec 26 07:02:51 2006 @@ -66,7 +66,7 @@ public class PageContextImpl extends PageContext implements VariableResolver { // Logger - private static Log log = LogFactory.getLog(PageContextImpl.class); + private Log log; // The expression evaluator, for evaluating EL expressions. private static ExpressionEvaluatorImpl elExprEval @@ -101,6 +101,8 @@ * Constructor. */ PageContextImpl(JspFactory factory) { + log = LogFactory.getLog(getClass()); + this.variableResolver = new VariableResolverImpl(this); this.outs = new BodyContentImpl[0]; this.attributes = new Hashtable(16); @@ -852,8 +854,17 @@ return variableResolver.resolveVariable(pName); } + /** + * XML-escape the given string. + * + * @param s The string to escape + * @return The escape string + */ private static String XmlEscape(String s) { - if (s == null) return null; + if (s == null) { + return null; + } + StringBuffer sb = new StringBuffer(); for(int i = 0; i < s.length(); i++) { char c = s.charAt(i); --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]