Hi Paul, With the change for https://bugs.openjdk.java.net/browse/JDK-8165563 that Mandy has sent to review here:
http://mail.openjdk.java.net/pipermail/core-libs-dev/2016-September/043363.html the method getSystemResources where systemResources method relies on, in my understanding should be working. If I'm correct I will make my enhancement dependent on JDK-8165563 -Patrick On 07.09.2016 21:09, Paul Sandoz wrote: > Hi Patrick, > > I will sponsor this. > > Given what Mandy says about the system class loader i think we can drop the > method systemResources. There is some “race memory" not captured in the > specification, which should be updated, as Mandy says. > > Then… > > 1401 public Stream<URL> resources(String name) { > 1402 return streamOf(() -> { > 1403 try { > 1404 return getResources(name).asIterator(); > 1405 } catch (IOException e) { > 1406 throw new UncheckedIOException(e); > 1407 } > 1408 }); > 1409 } > 1410 > 1411 private static final int RESOURCE_CHARACTERISTICS = > Spliterator.NONNULL | Spliterator.IMMUTABLE; > 1412 > 1413 static Stream<URL> streamOf(Supplier<Iterator<URL>> > iteratorSupplier) { > 1414 return StreamSupport.stream( > 1415 () -> > Spliterators.spliteratorUnknownSize(iteratorSupplier.get(), > RESOURCE_CHARACTERISTICS), > 1416 RESOURCE_CHARACTERISTICS, false); > 1417 } > 1418 > > … you can merge the suppliers e.g: > > Supplier<Spliterator<URL>> si = () -> { > try { > return > Spliterators.spliteratorUnknownSize(getResources(name).asIterator(), …); > } catch (IOException e) { > throw new UncheckedIOException(e); > } > }; > return StreamSupport.stream(si, …); > > ? > > Paul. > > >> On 7 Sep 2016, at 11:38, Patrick Reinhart <patr...@reini.net> wrote: >> >> The current changes can be found here: >> >> http://cr.openjdk.java.net/~reinhapa/reviews/8161230/webrev.03 >> > > >