<<DurationPatch.java>> <<DurationDiff.out>> Issue: The parseDuration(String) method does not respect the decimal place when converting the string representation of milliseconds into an integer/short. In cases where milliseconds are less than 100, the milliseconds are reported wrong.
Eg. "0.001" milliseconds is wrongly reported as 100 milliseconds when getMilli() is called after parseDuration(String) "0.01" milliseconds is wrongly reported as 100 milliseconds when getMilli() is called after parseDuration(String) "1.001" milliseconds is wrongly reported as 1.1 seconds when getMilli() is called after parseDuration(String) "1.01" milliseconds is wrongly reported as 1.1 seconds when getMilli() is called after parseDuration(String) Root Cause: When the milliseconds are converted from a string to integer, the leading zero's after the decimal place are dropped. Solution: Prefix the string representation with a "1" prior to converting to integer and then drop the "1" prior to setting the milliseconds numeric value. Recommendations: This class should be refactored to perhaps use a float value to handle intermediate millisecond logic. Shawn Crook Software Engineer, Enterprise Administration COGNOS INCORPORATED Office: (613) 738-1338 x3833 [EMAIL PROTECTED] www.cognos.com This message may contain privileged and/or confidential information. If you have received this e-mail in error or are not the intended recipient, you may not use, copy, disseminate or distribute it; do not open any attachments, delete it immediately from your system and notify the sender promptly by e-mail that you have done so. Thank you.
DurationPatch.java
Description: DurationPatch.java
DurationDiff.out
Description: DurationDiff.out
--------------------------------------------------------------------- To unsubscribe from this list please visit: http://xircles.codehaus.org/manage_email