You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by yo...@apache.org on 2006/12/26 16:02:52 UTC

svn commit: r490307 - in /tomcat: container/tc5.5.x/webapps/docs/changelog.xml jasper/tc5.5.x/src/share/org/apache/jasper/JspC.java jasper/tc5.5.x/src/share/org/apache/jasper/runtime/PageContextImpl.java

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: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org