Mike, I meant to send a reply earlier today.  I will review your changes
later tonight and let you know what I think.  Brad and Ceki should review
the changes too (right guys?) since it touches LF5 and other code areas.

I have to say that you appear to have a very complete set of changes, just
based on this email.  And you did go all out on the test cases.  I know the
test cases were probably a learning experience and a chore.  But with good
test cases, it makes it that much easier to accept changes/submissions of
this magnitude.  We can test the changes, look at the test cases, and probe
any possible problems.  It is much appreciated!  I wish more changes had
test cases submitted with them.

I am assuming these changes will be going into 1.3?  Or are we looking to
include them in a version of 1.2?  Has there been any discussion of this?

-Mark

> -----Original Message-----
> From: Michael A. McAngus [mailto:[EMAIL PROTECTED]]
> Sent: Saturday, July 13, 2002 10:57 PM
> To: Log4J Developers List
> Subject: Re: [SUBMIT] Timezone support for date elements of pattern
> layout
> 
> 
> [EMAIL PROTECTED]  wrote:
> 
> [snip]
> 
> >If you have the time and gumption, test cases to test the 
> changes would be
> >useful as well.  I can help you get started on that if you need it.
> >
> 
> Such a simple request; yet, because of it, I've spent much of 
> my recent 
> free time learning about Ant and JUnit, and writing test cases.
> I hope my current submission meets with either acceptance or 
> rejection 
> (I don't know how much longer I can keep looking at these classes).
> 
> I've attached a Zip file which should stop my brain-dead 
> email program 
> from adding the source files in line.
> 
> The zip contains the following modified source files:
> o.a.l.helpers.AbsoluteTimeDateFormat
>   -  Modified to use Locale-specific decimal separator 
> between seconds 
> and milliseconds.  This was my original intent back in late 
> May/early June.
>   -  Added protected method getFormatString() which returns either 
> "HH:mm:ss,SSS" or "HH:mm:ss.SSS" depending on the Locale-specific 
> decimal separator.
>   -  Added setLocale(Locale) method.
>   -  Added setDecimalSeparator(String) to allow the user to 
> specify the 
> decimal separator.
>   -  Added unsetDecimalSeparator() to revert decimal 
> separator back to 
> Locale-specific character.
>   -  Deprecated AbsoluteTimeDateFormat(TimeZone)
> 
> o.a.l.helpers.DateTimeDateFormat
>   -  Modified format to match changes made in 
> ISO8601DateFormat.  Now, 
> these subclasses of AbsoluteTimeDateFormat create their date/time 
> strings in a very similar manner.
>   -  Implemented the parse(String, ParsePosition) method to 
> facilitate 
> changes required by LogFactor5 (LF5).
>   -  Deprecated DateTimeDateFormat(TimeZone)
> 
> o.a.l.helpers.ISO8601DateFormat
>   -  Calls the super class to get the time portion of the date/time 
> format that is logged, rather than copying the code from 
> AbsoluteTimeDateFormat.format().
>   -  Builds the date portion of the date/time string at most 
> output once 
> per day rather than at most once per second.  This is not an 
> optimization, since the new code is slower than the old code, 
> but it was 
> done to try to reduce the negative effects of the changes.
>   -  Implemented the parse(String, ParsePosition) method to 
> continue the 
> attempt to make this class as similar to DateTimeDateFormat 
> as possible 
> (and because it was rather simple).
>   -  Deprecated ISO8601DateFormat(TimeZone)
> 
> o.a.l.helpers.DateLayout
>   -  Modified to not use the deprecated constructors in 
> AbsoluteTimeDateFormat and its subclasses.
>   -  Added setDateFormat(String, String) method to round out the 
> collection of these methods, and rationalized how these methods deal 
> with null TimeZones and/or format Strings.
> 
> o.a.l.TTCCLayout
>   -  Modified setDateFormat call in the default constructor.
> 
> o.a.l.helpers.RelativeTimeDateFormat
>   -  Added do-nothing setTimeZone method so that the creation of all 
> DateFormat subclasses could follow a set sequence of method calls.
> 
> o.a.l.lf5.util.LogFileParser
>   -  Modified to call DateTimeDateFormat.parse(String) rather than 
> assume that the format of the DateTimeDateFormat date is "dd MMM yyyy 
> HH:mm:ss,SSS".  It was this code that made me realize that Pattern 
> Layout should have a %R option, especially since the DATE 
> layout cannot 
> be relied upon to parse back into a Date object.  However, I 
> wonder if 
> LF5 shouldn't simply be modified to parse the XMLLayout 
> rather than the 
> PatternLayout.
> 
> o.a.l.lf5.FilteredLogTableModel
>   -  Modified getColumn(int, LogRecord) to display the date and time 
> String using DateTimeDateFormat.format rather than 
> Date.toString() + the 
> long timestamp.
> 
> o.a.l.lf5.viewer.FilteredLogTableModel
>   -  Modified getColumn(int, LogRecord) to display the date and time 
> String using DateTimeDateFormat.format rather than 
> Date.toString() + the 
> long timestamp.
> 
> o.a.l.helpers.PatternParser
>   -  Added parsing of date/time (%d) suboptions @t, @c, @l and @d. 
>  These are the new suboptions that were prompted by Marks 
> original post 
> to this thread.
>   -  Added parsing of new PatternLayout option %R. This option simply 
> causes the 1-1-1970-00:00:00.000 relative timestamp to be 
> output to the Log.
> 
> o.a.l.PatternLayout
>   -  Modified the class JavaDocs to explain the new date/time 
> suboptions.
> 
> The zip also contains the following new/modified Test Cases and 
> supporting files:
> o.a.l.helpers.AbsoluteTimeDateFormatTestCase
>   -  New JUnit TestCase for AbsoluteTimeDateFormat.
> 
> o.a.l.helpers.DateTimeDateFormatTestCase
>   -  New JUnit TestCase for DateTimeDateFormat.
> 
> o.a.l.helpers.ISO8601DateFormatTestCase
>   -  New JUnit TestCase for ISO8601DateFormat.
> 
> o.a.l.PatternLayoutTestCase
>   -  Added test cases for the PatternLayout and DateFormat changes.
>   -  Added  new properties and witness files to support the 
> new test cases.
> 
> o.a.l.util.Filter
>   -  Modified so Time Patterns can have both types of decimal 
> separators.
> 
> o.a.l.varia.ErrorHandlerTestCase
>   -  Modified to use the patterns defined in Filter.
> 
> o.a.l.util.xml.DOMTestCase
>   -  Modified to use the patterns defined in Filter.
> 
> Finally, the zip contains:
> -  A modified test/build.xml to run the new and modified tests.
> -  Unified diffs for all the modified java source.
> 
> 
> Please let me know if there are any more modifications that 
> need to be 
> made before these changes can be accepted.
> 
> -- 
> Cheers,
> Mike McAngus
> [EMAIL PROTECTED]
> 
> 

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

Reply via email to