Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6238849

Incorrect behavior in XMLGregorianCalendar.setTime(24, 0, 0) method

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3 P3
    • 1.4.0
    • 5.0
    • xml
    • 6.0
    • generic, x86
    • generic, windows_xp

      According to date/time field mapping table the 24 hours is valid: for a value of 24, the minute and second field must be zero per XML Schema Errata.

      Therefore following test should print OK:

      import javax.xml.datatype.DatatypeConfigurationException;
      import javax.xml.datatype.DatatypeFactory;
      import javax.xml.datatype.XMLGregorianCalendar;


      class test {

          public static void main(String [] args) throws Exception {
              DatatypeFactory factory = null;
              try {
                  factory = DatatypeFactory.newInstance();
              } catch (DatatypeConfigurationException dce) {
                  dce.printStackTrace();
              }

              XMLGregorianCalendar calendar =
                      factory.newXMLGregorianCalendar();
              calendar.setTime(24, 0, 0);
              System.out.println("OK");
          }
      }

      But it throws
      Exception in thread "main" java.lang.IllegalArgumentException: Invalid value 24 for Hour field.
          at com.sun.org.apache.xerces.internal.jaxp.datatype.XMLGregorianCalendarImpl.checkFieldValueConstraint(XMLGregorianCalendarImpl.java:1303)
          at com.sun.org.apache.xerces.internal.jaxp.datatype.XMLGregorianCalendarImpl.setHour(XMLGregorianCalendarImpl.java:1310)
          at com.sun.org.apache.xerces.internal.jaxp.datatype.XMLGregorianCalendarImpl.setTime(XMLGregorianCalendarImpl.java:1346)
          at com.sun.org.apache.xerces.internal.jaxp.datatype.XMLGregorianCalendarImpl.setTime(XMLGregorianCalendarImpl.java:1290)
          at pack.test.main(test.java:26)

      ###@###.### 2005-03-10 15:42:48 GMT

            jsuttorsunw Jeff Suttor (Inactive)
            ydanilev Yury Danilevich (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: