Optimized JDBCAccessLogValve combined pattern request attribute access.
authorpero <pero@13f79535-47bb-0310-9956-ffa450edef68>
Thu, 13 Sep 2007 21:52:31 +0000 (21:52 +0000)
committerpero <pero@13f79535-47bb-0310-9956-ffa450edef68>
Thu, 13 Sep 2007 21:52:31 +0000 (21:52 +0000)
git-svn-id: https://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk@575477 13f79535-47bb-0310-9956-ffa450edef68

java/org/apache/catalina/valves/JDBCAccessLogValve.java
webapps/docs/changelog.xml

index df01b4c..d69bf16 100644 (file)
@@ -458,15 +458,16 @@ public final class JDBCAccessLogValve
      */    
     public void invoke(Request request, Response response) 
         throws IOException, ServletException {
-
+        final String EMPTY = "" ;
+        
         getNext().invoke(request, response);
 
-        String remoteHost = "";
+        String remoteHost = EMPTY;
         if(resolveHosts)
             remoteHost = request.getRemoteHost();
         else
             remoteHost = request.getRemoteAddr();
-        String user = "";
+        String user = EMPTY;
         if(request != null)
             user = request.getRemoteUser();
         String query="";
@@ -477,19 +478,15 @@ public final class JDBCAccessLogValve
         if(bytes < 0)
             bytes = 0;
         int status = response.getStatus();
-        if (pattern.equals("combined")) {
-                String virtualHost = "";
-                if(request != null)
-                    virtualHost = request.getServerName();
-                String method = "";
-                if(request != null)
-                    method = request.getMethod();
-                String referer = "";
-                if(request != null)
-                    referer = request.getHeader("referer");
-                String userAgent = "";
-                if(request != null)
-                    userAgent = request.getHeader("user-agent");
+        String virtualHost = EMPTY;
+        String method = EMPTY;
+        String referer = EMPTY;
+        String userAgent = EMPTY;
+        if (pattern.equals("combined") && request != null) {
+            virtualHost = request.getServerName();
+            method = request.getMethod();
+            referer = request.getHeader("referer");
+            userAgent = request.getHeader("user-agent");
         }
         synchronized (this) {
           int numberOfTries = 2;
@@ -511,19 +508,6 @@ public final class JDBCAccessLogValve
                     ps.setInt(6, (int) bytes);
                 }               
                 if (pattern.equals("combined")) {
-     
-                      String virtualHost = "";
-                      if(request != null)
-                         virtualHost = request.getServerName();
-                      String method = "";
-                      if(request != null)
-                         method = request.getMethod();
-                      String referer = "";
-                      if(request != null)
-                         referer = request.getHeader("referer");
-                      String userAgent = "";
-                      if(request != null)
-                         userAgent = request.getHeader("user-agent");
                       ps.setString(7, virtualHost);
                       ps.setString(8, method);
                       ps.setString(9, referer);
index 31f2217..5925d90 100644 (file)
@@ -79,6 +79,9 @@
       <fix>
         Improve large-file support (more then 4 Gb) at all AccessLogValves, backport from 5.5.25. (pero)
       </fix>     
+      <update>
+        Optimized JDBCAccessLogValve combined pattern request attribute access. (pero)
+      </update>
     </changelog>
   </subsection>
   <subsection name="Coyote">