RFR: 8365086: CookieStore.getURIs() and get(URI) should return an immutable List [v2]

Chen Liang liach at openjdk.org
Fri Aug 8 17:21:20 UTC 2025


On Fri, 8 Aug 2025 14:36:17 GMT, Jaikiran Pai <jpai at openjdk.org> wrote:

>> Can I please get a review of this change which proposes to address the issue noted in https://bugs.openjdk.org/browse/JDK-8365086?
>> 
>> `java.net.CookieStore` has some APIs which return a `java.util.List`. These API are specified to return an immutable `List`. The JDK ships an implementation of the `CookieStore` - the `java.net.InMemoryCookieStore`. The implementations of the `getURIs()` and `get(URI)` methods  in the `InMemoryCookieStore` currently return a `List` which is modifiable.
>> 
>> The changes in this PR fix those two method to return an immutable `List` to match the specification. A new regression test has been introduced to reproduce the issue and verify the fix.
>> 
>> I think this may not require a CSR since this fixes the implementation to match the already existing specification in `CookieStore`. I will create one if anyone suggests we should.
>
> Jaikiran Pai has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Volkan's review - refactor assertions into a method

test/jdk/java/net/CookieStoreTest.java line 107:

> 105:         // an element must fail
> 106:         assertThrows(UnsupportedOperationException.class, () -> list.add(elementToAddOrRemove));
> 107:         assertThrows(UnsupportedOperationException.class, () -> list.remove(elementToAddOrRemove));

I think trying `list.set` would be meaningful too, given `Arrays.asList` would pass these two tests but is actually mutable.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/26698#discussion_r2263622701


More information about the net-dev mailing list