RFR: JDK-8166138 - DateTimeFormatter.ISO_INSTANT should handle offsets

Pallavi Sonal pallavi.sonal at oracle.com
Mon Oct 1 16:38:34 UTC 2018


Thanks Roger, made the suggested changes.

 

Thanks,

Pallavi Sonal

 

From: Roger Riggs 
Sent: Monday, October 01, 2018 9:29 PM
To: Pallavi Sonal <pallavi.sonal at oracle.com>; Naoto Sato <naoto.sato at oracle.com>; core-libs-dev <core-libs-dev at openjdk.java.net>
Subject: Re: RFR: JDK-8166138 - DateTimeFormatter.ISO_INSTANT should handle offsets

 

Hi,

The checkbox for compatibility Kind Behavioral should be checked. (You may need to hit Edit to see it).
A simple description of the compatibility risk may help clarify minimal.
Something to the effect, that there is no change in formatting behavior
and that parsing will now accept a numeric offset.

Otherwise, looks fine.

Thanks, Roger

On 10/01/2018 09:24 AM, Pallavi Sonal wrote:

Hi Naoto,
Here is the CSR for review :
https://bugs.openjdk.java.net/browse/JDK-8211316 
 
Thanks,
Pallavi Sonal
 
-----Original Message-----
From: Naoto Sato 
Sent: Friday, September 28, 2018 9:38 PM
To: Pallavi Sonal HYPERLINK "mailto:pallavi.sonal at oracle.com"<pallavi.sonal at oracle.com>; Roger Riggs HYPERLINK "mailto:roger.riggs at oracle.com"<roger.riggs at oracle.com>; core-libs-dev HYPERLINK "mailto:core-libs-dev at openjdk.java.net"<core-libs-dev at openjdk.java.net>
Subject: Re: RFR: JDK-8166138 - DateTimeFormatter.ISO_INSTANT should handle offsets
 
Hi Pallavi,
 
Please file a CSR for this, as this will change the behavior.
 
Naoto
 
On 9/28/18 8:53 AM, Pallavi Sonal wrote:

Thanks Roger. I will update it before the commit.
 
-----Original Message-----
From: Roger Riggs
Sent: Friday, September 28, 2018 6:15 PM
To: Pallavi Sonal HYPERLINK "mailto:pallavi.sonal at oracle.com"<pallavi.sonal at oracle.com>; core-libs-dev 
HYPERLINK "mailto:core-libs-dev at openjdk.java.net"<core-libs-dev at openjdk.java.net>
Subject: Re: RFR: JDK-8166138 - DateTimeFormatter.ISO_INSTANT should 
handle offsets
 
Hi Pallavi,
 
Looks fine,
 
But can you re-wrap the lines with the new links, they got longer than
100 chars with the link.
 
No new webrev is needed.
 
Thanks, Roger
 
 
On 9/28/18 8:35 AM, Pallavi Sonal wrote:

Thanks Roger and Stephen. Here is the updated webrev with the suggested changes:
http://cr.openjdk.java.net/~rpatil/8166138/webrev.04/
 
Thanks,
Pallavi Sonal
 
-----Original Message-----
From: Roger Riggs
Sent: Friday, September 28, 2018 12:51 AM
To: core-libs-dev HYPERLINK "mailto:core-libs-dev at openjdk.java.net"<core-libs-dev at openjdk.java.net>
Subject: Re: RFR: JDK-8166138 - DateTimeFormatter.ISO_INSTANT should 
handle offsets
 
Hi Pallavi,
 
I'd suggest using @link for the reference (in both files).
It will be easier for the reader to traverse and understand the pattern.
 
DateTimeFormatterBuilder.java: line 836.
The trailing "</p>" should be omitted so the readability of the source is maintained.
 
Otherwise, looks good,
 
Thanks, Roger
 
 
 
On 09/27/2018 03:39 AM, Stephen Colebourne wrote:

In DateTimeFormatter you need to qualify the @code part to refer to 
DateTimeFormatterBuilder.
Otherwise good.
thanks
Stephen
 
 
On Thu, 27 Sep 2018 at 05:35, Pallavi Sonal HYPERLINK "mailto:pallavi.sonal at oracle.com"<pallavi.sonal at oracle.com> wrote:

Thanks for the clarification. Here is the updated webrev for review :
http://cr.openjdk.java.net/~rpatil/8166138/webrev.03/
 
Thanks,
Pallavi Sonal
 
-----Original Message-----
From: Stephen Colebourne HYPERLINK "mailto:scolebourne at joda.org"<scolebourne at joda.org>
Sent: Tuesday, September 25, 2018 4:39 PM
To: core-libs-dev HYPERLINK "mailto:core-libs-dev at openjdk.java.net"<core-libs-dev at openjdk.java.net>
Subject: Re: RFR: JDK-8166138 - DateTimeFormatter.ISO_INSTANT 
should handle offsets
 
I think it makes sense for both, although I was only considering
appendInstant() when I wrote it.
Stephen
 
 
On Tue, 25 Sep 2018 at 09:27, Pallavi Sonal HYPERLINK "mailto:pallavi.sonal at oracle.com"<pallavi.sonal at oracle.com> wrote:

Hi Stephen,
Is the addition to the documentation in your mail below meant for only appendInstant() method or for DateTimeFormatter.ISO_INSTANT  as well ?
 
-----Original Message-----
From: Stephen Colebourne HYPERLINK "mailto:scolebourne at joda.org"<scolebourne at joda.org>
Sent: Sunday, September 23, 2018 12:36 PM
To: core-libs-dev HYPERLINK "mailto:core-libs-dev at openjdk.java.net"<core-libs-dev at openjdk.java.net>
Subject: Re: RFR: JDK-8166138 - DateTimeFormatter.ISO_INSTANT 
should handle offsets
 
Thanks
 
Can we change the docs to:
 
<p>
When formatting, the instant will always be suffixed by 'Z' to indicate UTC.
When parsing, the behaviour of {@code appendOffsetId()} will be used to parse the offset, converting the instant to UTC as necessary.
 
thanks
Stephen
 
 
On Fri, 21 Sep 2018 at 13:26, Pallavi Sonal HYPERLINK "mailto:pallavi.sonal at oracle.com"<pallavi.sonal at oracle.com> wrote:

Thank you Stephen for your inputs. Based on that, here is the updated webrev for review :
     http://cr.openjdk.java.net/~rpatil/8166138/webrev.02/
 
Thanks,
Pallavi Sonal.
 
-----Original Message-----
From: Stephen Colebourne HYPERLINK "mailto:scolebourne at joda.org"<scolebourne at joda.org>
Sent: Thursday, September 20, 2018 6:38 PM
To: core-libs-dev HYPERLINK "mailto:core-libs-dev at openjdk.java.net"<core-libs-dev at openjdk.java.net>
Subject: Re: RFR: JDK-8166138 - DateTimeFormatter.ISO_INSTANT 
should handle offsets
 
Thanks for the update.
 
The test case does not cover the situation of MAX/MIN instant and an offset other than zero, where the offset makes the instant invalid.
eg. a negative offset at MAX or a positive offset at MIN.
 
The doc of appendInstant() in DateTimeFormatterBuilder should be clarified to cover the fact that any OffsetId is parsed.
 
thanks
Stephen
 
 
On Thu, 20 Sep 2018 at 13:54, Pallavi Sonal HYPERLINK "mailto:pallavi.sonal at oracle.com"<pallavi.sonal at oracle.com> wrote:

Thanks Roger , Naoto and Stephen for the review and valuable inputs.
Here is the updated webrev for review :
http://cr.openjdk.java.net/~rpatil/8166138/webrev.01/
 
Thanks,
Pallavi Sonal
 
-----Original Message-----
From: Stephen Colebourne HYPERLINK "mailto:scolebourne at joda.org"<scolebourne at joda.org>
Sent: Thursday, September 20, 2018 2:50 AM
To: core-libs-dev HYPERLINK "mailto:core-libs-dev at openjdk.java.net"<core-libs-dev at openjdk.java.net>
Subject: Re: RFR: JDK-8166138 - DateTimeFormatter.ISO_INSTANT 
should handle offsets
 
Thanks for looking at this.
 
The proposed fix does not tackle the bug fully. The bug is that 
the spec says
 
"The format consists of: The ISO_OFFSET_DATE_TIME where ..."
 
As such, the format must parse *any* offset, not just "Z" / "+00:00" etc.
 
In addition, the fix doesn't work properly. Parsers work off a CharSequence which may be much longer than the instant. For example, the instant might be followed by a literal space and then a ZoneId.
Using (length - 3) is simply not a valid approach - the parsing code cannot use the length like that.
 
Furthermore, although there are numerous valid ISO-8601 ways of 
saying zero, this format uses dashes and colons in the date/time 
part, so
ISO-8601 restricts the offset to only those formats that include colons.
 
I think it simply needs the appendLiteral(Z) changing to appendOffsetId() And line 3495 changes to use the offset from the newContext.
 
thanks
Stephen
 
 
On Wed, 19 Sep 2018 at 18:16, Pallavi Sonal HYPERLINK "mailto:pallavi.sonal at oracle.com"<pallavi.sonal at oracle.com> wrote:

Hi,
 
Please review the changes to the following issue:
 
Bug : https://bugs.openjdk.java.net/browse/JDK-8166138
 
 
 
The proposed fix is located at:
 
Webrev : http://cr.openjdk.java.net/~rpatil/8166138/webrev.00/
 
 
 
As per ISO 8601 standards, an offset of zero, in addition to having the special representation "Z", can also be stated numerically as "+00:00", "+0000", or "+00" [1].  With this fix, Instant.parse() can parse a String containing the zero offsets in any of these three forms. Any other offset apart from "Z", "+00:00", "+0000", or "+00" will not be accepted in the input string to be parsed.
 
 
 
[1] https://en.wikipedia.org/wiki/ISO_8601
 
 
 
Thanks,
 
Pallavi Sonal
 
 
 
 

--
Thanks, Roger
 

 





-- 
Thanks, Roger


More information about the core-libs-dev mailing list