RFR [15] 5064980: URI compareTo inconsistent with equals for mixed-case escape sequences
Kiran Ravikumar
kiran.sidhartha.ravikumar at oracle.com
Mon Dec 16 15:54:56 UTC 2019
Thanks Daniel and Chris,
Here is my updated webrev with the mentioned corrections.
http://cr.openjdk.java.net/~kravikumar/5064980/webrev.01/
Please review at your convenience.
Thanks,
Kiran
On 16/12/2019 14:04, Chris Hegarty wrote:
> Kiran,
>
>> On 13 Dec 2019, at 18:28, Kiran Ravikumar
>> <kiran.sidhartha.ravikumar at oracle.com
>> <mailto:kiran.sidhartha.ravikumar at oracle.com>> wrote:
>>
>> Hi Guys,
>>
>>
>> Could someone please review my fix to URI.java class were
>> URI.compareTo(URI) behavior was different to URI.equals(URI).
>> |URI.compareTo|(URI) does not consider two URI's to be equal when
>> they differ only in the case of hexadecimal digits of escaped octets,
>> while |URI.equals(URI)|does consider such URIs to be equal.
>>
>> The fix involves spec and code change. A CSR was filed and approved.
>>
>> Please find the webrev at -
>>
>>
>> http://cr.openjdk.java.net/~kravikumar/5064980/webrev.0/
>>
>
> This looks very good. Just a few minor comments:
>
> 1) In the comment: "... method is not called for 'decoded' strings",
> should read "... method is not called WITH 'decoded' strings", right?
>
> 2) In comment: "The only place were a percent can be followed by
> anything OTHER than hexadecimal digits is ..." - OTHER
> 3) While here I noticed an incorrect link in the compareTo javadoc.
> Maybe this could be fixed at the same time:
> +++ b/src/java.base/share/classes/java/net/URI.java
> @@ -1572,7 +1572,7 @@
> * component is undefined but the other is defined then the
> first is
> * considered to be less than the second. Unless otherwise
> noted, string
> * components are ordered according to their natural,
> case-sensitive
> - * ordering as defined by the {@link
> java.lang.String#compareTo(Object)
> + * ordering as defined by the {@link
> java.lang.String#compareTo(String)
> * String.compareTo} method. String components that are
> subject to
> * encoding are compared by comparing their raw forms rather
> than their
> * encoded forms.
> -Chris.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/net-dev/attachments/20191216/6039b911/attachment-0001.htm>
More information about the net-dev
mailing list