-
Bug
-
Resolution: Fixed
-
P3
-
5.0
-
1.3
-
generic
-
generic
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2116330 | 5.0 | Jeff Suttor | P3 | Resolved | Fixed | b55 |
Name: erR10175 Date: 05/18/2004
The following method of the class javax.xml.datatype.XMLGregorianCalendar
public abstract GregorianCalendar toGregorianCalendar(TimeZone timezone,
Locale aLocale, XMLGregorianCalendar defaults)
throws NullPointerException if the 'defaults' parameter is null.
The javadoc of the method specifies no exception to be thrown and the 'defaults'
parameter usage is specified as follows:
"
Parameters:
...
defaults - provide default field values to use when corresponding field for this
instance is FIELD_UNDEFINED or null. If defaultsis null or a field within
the specified defaults is undefined, just use java.util.GregorianCalendar
defaults.
"
So the 'defaults' parameter's value null is legal and should not cause any exception.
This bug affects new tests in JCK 1.5
api/javax_xml/datatype/XMLGregorianCalendar/index.html#ConvertTo[ToGregorianCalendar008]
api/javax_xml/datatype/XMLGregorianCalendar/index.html#ConvertTo[ToGregorianCalendar009]
api/javax_xml/datatype/XMLGregorianCalendar/index.html#ConvertTo[ToGregorianCalendar010]
The bug is found in jdk1.5.0/beta/b51.
To reproduce the bug compile and run test.java as shown in the log below:
------------------------------------------ test.java
import javax.xml.datatype.XMLGregorianCalendar;
import javax.xml.datatype.DatatypeFactory;
import java.util.TimeZone;
import java.util.Locale;
class test {
public static void main(String [] args) throws Exception {
DatatypeFactory df = DatatypeFactory.newInstance();
XMLGregorianCalendar calendar
= df.newXMLGregorianCalendar("2004-05-19T12:00:00+06:00");
calendar.toGregorianCalendar(TimeZone.getDefault()
, Locale.getDefault(), calendar);
System.out.println("Passed. 1");
calendar.toGregorianCalendar(TimeZone.getDefault()
, Locale.getDefault(), null);
System.out.println("Passed. 2");
}
}
----------------------------------------------------
------------------------------------------------ log
$javac test.java && java -cp . -showversion test
java version "1.5.0-beta2"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-beta2-b51)
Java HotSpot(TM) Client VM (build 1.5.0-beta2-b51, mixed mode)
Passed. 1
Exception in thread "main" java.lang.NullPointerException
at com.sun.org.apache.xerces.internal.jaxp.datatype.XMLGregorianCalendarImpl.toGregorianCalendar(XMLGregorianCalendarImpl.java:2566)
at test.main(test.java:15)
----------------------------------------------------
======================================================================
The following method of the class javax.xml.datatype.XMLGregorianCalendar
public abstract GregorianCalendar toGregorianCalendar(TimeZone timezone,
Locale aLocale, XMLGregorianCalendar defaults)
throws NullPointerException if the 'defaults' parameter is null.
The javadoc of the method specifies no exception to be thrown and the 'defaults'
parameter usage is specified as follows:
"
Parameters:
...
defaults - provide default field values to use when corresponding field for this
instance is FIELD_UNDEFINED or null. If defaultsis null or a field within
the specified defaults is undefined, just use java.util.GregorianCalendar
defaults.
"
So the 'defaults' parameter's value null is legal and should not cause any exception.
This bug affects new tests in JCK 1.5
api/javax_xml/datatype/XMLGregorianCalendar/index.html#ConvertTo[ToGregorianCalendar008]
api/javax_xml/datatype/XMLGregorianCalendar/index.html#ConvertTo[ToGregorianCalendar009]
api/javax_xml/datatype/XMLGregorianCalendar/index.html#ConvertTo[ToGregorianCalendar010]
The bug is found in jdk1.5.0/beta/b51.
To reproduce the bug compile and run test.java as shown in the log below:
------------------------------------------ test.java
import javax.xml.datatype.XMLGregorianCalendar;
import javax.xml.datatype.DatatypeFactory;
import java.util.TimeZone;
import java.util.Locale;
class test {
public static void main(String [] args) throws Exception {
DatatypeFactory df = DatatypeFactory.newInstance();
XMLGregorianCalendar calendar
= df.newXMLGregorianCalendar("2004-05-19T12:00:00+06:00");
calendar.toGregorianCalendar(TimeZone.getDefault()
, Locale.getDefault(), calendar);
System.out.println("Passed. 1");
calendar.toGregorianCalendar(TimeZone.getDefault()
, Locale.getDefault(), null);
System.out.println("Passed. 2");
}
}
----------------------------------------------------
------------------------------------------------ log
$javac test.java && java -cp . -showversion test
java version "1.5.0-beta2"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-beta2-b51)
Java HotSpot(TM) Client VM (build 1.5.0-beta2-b51, mixed mode)
Passed. 1
Exception in thread "main" java.lang.NullPointerException
at com.sun.org.apache.xerces.internal.jaxp.datatype.XMLGregorianCalendarImpl.toGregorianCalendar(XMLGregorianCalendarImpl.java:2566)
at test.main(test.java:15)
----------------------------------------------------
======================================================================
- backported by
-
JDK-2116330 XMLGregorianCalendar.toGregorianCalendar(..) throws NPE if 'defaults' is null
-
- Resolved
-
-
JDK-2116331 XMLGregorianCalendar.toGregorianCalendar(..) throws NPE if 'defaults' is null
-
- Closed
-