Replacing custom loop by ServiceLoader.findFirst()
diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/client/FactoryFinder.java b/jaxrs-api/src/main/java/jakarta/ws/rs/client/FactoryFinder.java index 74deb05..237e3f7 100644 --- a/jaxrs-api/src/main/java/jakarta/ws/rs/client/FactoryFinder.java +++ b/jaxrs-api/src/main/java/jakarta/ws/rs/client/FactoryFinder.java
@@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -174,10 +174,7 @@ private static <T> T findFirstService(final String factoryId, final ClassLoader cl, final Class<T> service) { final PrivilegedAction<T> action = () -> { try { - final ServiceLoader<T> loader = ServiceLoader.load(service, cl); - if (loader.iterator().hasNext()) { - return loader.iterator().next(); - } + return ServiceLoader.load(service, cl).findFirst().orElse(null); } catch (Exception e) { LOGGER.log(Level.FINER, "Failed to load service " + factoryId + ".", e); }
diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/ext/FactoryFinder.java b/jaxrs-api/src/main/java/jakarta/ws/rs/ext/FactoryFinder.java index bbd5afd..bd46f79 100644 --- a/jaxrs-api/src/main/java/jakarta/ws/rs/ext/FactoryFinder.java +++ b/jaxrs-api/src/main/java/jakarta/ws/rs/ext/FactoryFinder.java
@@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -174,10 +174,7 @@ private static <T> T findFirstService(final String factoryId, final ClassLoader cl, final Class<T> service) { final PrivilegedAction<T> action = () -> { try { - final ServiceLoader<T> loader = ServiceLoader.load(service, cl); - if (loader.iterator().hasNext()) { - return loader.iterator().next(); - } + return ServiceLoader.load(service, cl).findFirst().orElse(null); } catch (Exception e) { LOGGER.log(Level.FINER, "Failed to load service " + factoryId + ".", e); }
diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/sse/FactoryFinder.java b/jaxrs-api/src/main/java/jakarta/ws/rs/sse/FactoryFinder.java index 40440ae..a9d2415 100644 --- a/jaxrs-api/src/main/java/jakarta/ws/rs/sse/FactoryFinder.java +++ b/jaxrs-api/src/main/java/jakarta/ws/rs/sse/FactoryFinder.java
@@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -174,10 +174,7 @@ private static <T> T findFirstService(final String factoryId, final ClassLoader cl, final Class<T> service) { final PrivilegedAction<T> action = () -> { try { - final ServiceLoader<T> loader = ServiceLoader.load(service, cl); - if (loader.iterator().hasNext()) { - return loader.iterator().next(); - } + return ServiceLoader.load(service, cl).findFirst().orElse(null); } catch (Exception e) { LOGGER.log(Level.FINER, "Failed to load service " + factoryId + ".", e); }