harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paulex Yang <paulex.y...@gmail.com>
Subject [classlib][compatiblity](Re: [jira] Created: (HARMONY-1241) [classlib][util] unexpected IllegalArgumentException for java.util.SimpleTimeZone(13 params))
Date Tue, 22 Aug 2006 05:27:22 GMT
Seems both Harmony and RI's behavior violates spec, which says:

"The mode specifies either wall_time or standard_time or UTC_time." and 
|"IAE <cid:part1.04040504.00010409@gmail.com>| - if the month, day, 
dayOfWeek, time more, or time parameters are out of range for the start 
or end rule, or if a time mode value is invalid."

IIUC, it means only the three constants wall_time(0), standard_time(1) 
and UTC_time(2) are valid values for startTimeMode/endTimeMode, but 
interesting facts are: RI accepts any values from Integer.MIN_VALUE to 
MAX_VALUE, while Harmony accepts 1-4 and throws exception for others. 
Further, seems RI doesn't validate some other parameters as spec,too 
(startDayOfWeek or so).

I suggest to follow RI in this case, but like to listen to others.



Vladimir Ivanov (JIRA) wrote:
> [classlib][util] unexpected IllegalArgumentException for java.util.SimpleTimeZone(13
params)
> --------------------------------------------------------------------------------------------
>
>                  Key: HARMONY-1241
>                  URL: http://issues.apache.org/jira/browse/HARMONY-1241
>              Project: Harmony
>           Issue Type: Bug
>           Components: Classlib
>             Reporter: Vladimir Ivanov
>
>
> The method java.util.SimpleTimeZone.SimpleTimeZone(int rawOffset, String ID, int startMonth,
int startDay, int startDayOfWeek, int startTime, int startTimeMode, int endMonth, int endDay,
int endDayOfWeek, int endTime, int endTimeMode, int dstSavings) for correct parameters throws
IllegalArgumentException on Harmony.
>
> ======================= test.java =========================
> import java.util.SimpleTimeZone;
> import java.util.TimeZone;
> import java.util.Calendar;
>
> public class test {
>     public static void main(String args[]) {
>         System.out.println("DST_OFFSET = " + Calendar.DST_OFFSET);
>         System.out.println("res = " +  new SimpleTimeZone(
>                   TimeZone.LONG,
>                   "Europe/Paris",
>                   SimpleTimeZone.STANDARD_TIME,
>                   SimpleTimeZone.STANDARD_TIME,
>                   SimpleTimeZone.UTC_TIME,
>                   SimpleTimeZone.WALL_TIME,
>                   SimpleTimeZone.WALL_TIME,
>                   TimeZone.SHORT,
>                   SimpleTimeZone.STANDARD_TIME,
>                   TimeZone.LONG,
>                   SimpleTimeZone.UTC_TIME,
>                   SimpleTimeZone.STANDARD_TIME,
>                   TimeZone.LONG));
>     }
> }
> =======================================================
>
> Output:
> C:\tmp\tmp17>C:\jrockit-jdk1.5.0-windows-ia32\bin\java.exe -cp . -showversion test
> java version "1.5.0"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
> BEA WebLogic JRockit(R) (build dra-38972-20041208-2001-win-ia32, R25.0.0-75, GC: System
optimized over throughput (initial strategy singleparpar))
>
> DST_OFFSET = 16
> res = java.util.SimpleTimeZone[id=Europe/Paris,offset=1,dstSavings=1,useDaylight=true,startYear=0,startMode=2,startMonth=1,startDay=1,startDayOfWeek=2
> ,startTime=0,startTimeMode=0,endMode=2,endMonth=0,endDay=1,endDayOfWeek=1,endTime=2,endTimeMode=1]
>
> C:\tmp\tmp17>C:\harmony\classlib1.5\deploy\jdk\jre\bin\java.exe -cp . -showversion
test
> java version 1.5 (subset)
>
> (c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable.
> DST_OFFSET = 16
> Exception in thread "main" java.lang.IllegalArgumentException: DST offset: 0
>         at java.util.SimpleTimeZone.<init>(SimpleTimeZone.java:216)
>         at test.main(test.java:8)
>
>
>
>   


-- 
Paulex Yang
China Software Development Lab
IBM



---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Mime
View raw message