luehe       2004/08/05 18:27:50

  Modified:    catalina/src/share/org/apache/catalina/connector
                        Request.java
  Log:
  Avoid allocating SimpleDateFormat[] for each request. Instead, declare 
SimpleDateFormat[] as static and use static initializer to initialize it.
  
  This is consistent with SimpleDateFormat[] in 
org.apache.tomcat.util.http.FastHttpDateFormat.
  
  Revision  Changes    Path
  1.11      +23 -25    
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/connector/Request.java
  
  Index: Request.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/connector/Request.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- Request.java      3 Aug 2004 19:42:38 -0000       1.10
  +++ Request.java      6 Aug 2004 01:27:50 -0000       1.11
  @@ -82,18 +82,6 @@
       implements HttpServletRequest {
   
   
  -    // ----------------------------------------------------------- Constructors
  -
  -
  -    public Request() {
  -
  -        formats[0].setTimeZone(TimeZone.getTimeZone("GMT"));
  -        formats[1].setTimeZone(TimeZone.getTimeZone("GMT"));
  -        formats[2].setTimeZone(TimeZone.getTimeZone("GMT"));
  -
  -    }
  -
  -
       // ------------------------------------------------------------- Properties
   
   
  @@ -120,7 +108,27 @@
       }
   
   
  -    // ----------------------------------------------------- Instance Variables
  +    // ----------------------------------------------------- Variables
  +
  +
  +    /**
  +     * The set of SimpleDateFormat formats to use in getDateHeader().
  +     */
  +    protected static final SimpleDateFormat FORMATS[] = {
  +        new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz", Locale.US),
  +        new SimpleDateFormat("EEEEEE, dd-MMM-yy HH:mm:ss zzz", Locale.US),
  +        new SimpleDateFormat("EEE MMMM d HH:mm:ss yyyy", Locale.US)
  +    };
  +
  +
  +    protected static final TimeZone GMT_ZONE = TimeZone.getTimeZone("GMT");
  +
  +
  +    static {
  +        FORMATS[0].setTimeZone(GMT_ZONE);
  +        FORMATS[1].setTimeZone(GMT_ZONE);
  +        FORMATS[2].setTimeZone(GMT_ZONE);
  +    }
   
   
       /**
  @@ -137,16 +145,6 @@
   
   
       /**
  -     * The set of SimpleDateFormat formats to use in getDateHeader().
  -     */
  -    protected SimpleDateFormat formats[] = {
  -        new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz", Locale.US),
  -        new SimpleDateFormat("EEEEEE, dd-MMM-yy HH:mm:ss zzz", Locale.US),
  -        new SimpleDateFormat("EEE MMMM d HH:mm:ss yyyy", Locale.US)
  -    };
  -
  -
  -    /**
        * The default Locale if none are specified.
        */
       protected static Locale defaultLocale = Locale.getDefault();
  @@ -1767,7 +1765,7 @@
               return (-1L);
   
           // Attempt to convert the date header in a variety of formats
  -        long result = FastHttpDateFormat.parseDate(value, formats);
  +        long result = FastHttpDateFormat.parseDate(value, FORMATS);
           if (result != (-1L)) {
               return result;
           }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to