Author: markt Date: Tue Nov 8 11:32:28 2005 New Revision: 331870 URL: http://svn.apache.org/viewcvs?rev=331870&view=rev Log: Simple part of fix for bug 37150 based on profiler output. Doesn't fix the major culprit. Needs more work.
Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/servlets/DefaultServlet.java Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/servlets/DefaultServlet.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/servlets/DefaultServlet.java?rev=331870&r1=331869&r2=331870&view=diff ============================================================================== --- tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/servlets/DefaultServlet.java (original) +++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/servlets/DefaultServlet.java Tue Nov 8 11:32:28 2005 @@ -424,9 +424,6 @@ // Temp. content file used to support partial PUT File contentFile = null; - // Input stream for temp. content file used to support partial PUT - FileInputStream contentFileInStream = null; - Range range = parseContentRange(req, resp); InputStream resourceInputStream = null; @@ -1161,8 +1158,11 @@ try { // Render the directory entries within this directory - DirContext directory = cacheEntry.context; NamingEnumeration enumeration = resources.list(cacheEntry.name); + + // rewriteUrl(contextPath) is expensive. cache result for later reuse + String rewrittenContextPath = rewriteUrl(contextPath); + while (enumeration.hasMoreElements()) { NameClassPair ncPair = (NameClassPair) enumeration.nextElement(); @@ -1184,7 +1184,7 @@ .append((childCacheEntry.context != null)?"dir":"file") .append("'"); sb.append(" urlPath='") - .append(rewriteUrl(contextPath)) + .append(rewrittenContextPath) .append(rewriteUrl(cacheEntry.name + resourceName)) .append((childCacheEntry.context != null)?"/":"") .append("'"); @@ -1273,6 +1273,9 @@ PrintWriter writer = new PrintWriter(osWriter); StringBuffer sb = new StringBuffer(); + + // rewriteUrl(contextPath) is expensive. cache result for later reuse + String rewrittenContextPath = rewriteUrl(contextPath); // Render the page header sb.append("<html>\r\n"); @@ -1298,7 +1301,7 @@ if (slash >= 0) { String parent = name.substring(0, slash); sb.append(" - <a href=\""); - sb.append(rewriteUrl(contextPath)); + sb.append(rewrittenContextPath); if (parent.equals("")) parent = "/"; sb.append(rewriteUrl(parent)); @@ -1333,7 +1336,6 @@ try { // Render the directory entries within this directory - DirContext directory = cacheEntry.context; NamingEnumeration enumeration = resources.list(cacheEntry.name); boolean shade = false; while (enumeration.hasMoreElements()) { @@ -1359,7 +1361,7 @@ sb.append("<td align=\"left\"> \r\n"); sb.append("<a href=\""); - sb.append(rewriteUrl(contextPath)); + sb.append(rewrittenContextPath); resourceName = rewriteUrl(name + resourceName); sb.append(resourceName); if (childCacheEntry.context != null) --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]