This is an automated email from the ASF dual-hosted git repository. ggregory pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-compress.git
The following commit(s) were added to refs/heads/master by this push: new 2e5d3608 Deprecate ServiceLoaderIterator since ServiceLoader is directly iterable 2e5d3608 is described below commit 2e5d36089d8acd722d35a2677ac7f9910fa508d3 Author: Gary Gregory <garydgreg...@gmail.com> AuthorDate: Mon Jun 6 11:14:15 2022 -0400 Deprecate ServiceLoaderIterator since ServiceLoader is directly iterable --- .../compress/archivers/ArchiveStreamFactory.java | 19 ++++++------------- .../compress/compressors/CompressorStreamFactory.java | 16 +++++----------- .../commons/compress/utils/ServiceLoaderIterator.java | 2 ++ 3 files changed, 13 insertions(+), 24 deletions(-) diff --git a/src/main/java/org/apache/commons/compress/archivers/ArchiveStreamFactory.java b/src/main/java/org/apache/commons/compress/archivers/ArchiveStreamFactory.java index 779367c9..feb04bc4 100644 --- a/src/main/java/org/apache/commons/compress/archivers/ArchiveStreamFactory.java +++ b/src/main/java/org/apache/commons/compress/archivers/ArchiveStreamFactory.java @@ -24,10 +24,9 @@ import java.io.InputStream; import java.io.OutputStream; import java.security.AccessController; import java.security.PrivilegedAction; -import java.util.ArrayList; import java.util.Collections; -import java.util.Iterator; import java.util.Locale; +import java.util.ServiceLoader; import java.util.Set; import java.util.SortedMap; import java.util.TreeMap; @@ -46,8 +45,6 @@ import org.apache.commons.compress.archivers.tar.TarArchiveOutputStream; import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream; import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream; import org.apache.commons.compress.utils.IOUtils; -import org.apache.commons.compress.utils.Lists; -import org.apache.commons.compress.utils.ServiceLoaderIterator; import org.apache.commons.compress.utils.Sets; /** @@ -204,10 +201,6 @@ public class ArchiveStreamFactory implements ArchiveStreamProvider { private SortedMap<String, ArchiveStreamProvider> archiveOutputStreamProviders; - private static ArrayList<ArchiveStreamProvider> findArchiveStreamProviders() { - return Lists.newArrayList(serviceLoaderIterator()); - } - static void putAll(final Set<String> names, final ArchiveStreamProvider provider, final TreeMap<String, ArchiveStreamProvider> map) { for (final String name : names) { @@ -215,10 +208,10 @@ public class ArchiveStreamFactory implements ArchiveStreamProvider { } } - private static Iterator<ArchiveStreamProvider> serviceLoaderIterator() { - return new ServiceLoaderIterator<>(ArchiveStreamProvider.class); + private static Iterable<ArchiveStreamProvider> archiveStreamProviderIterable() { + return ServiceLoader.load(ArchiveStreamProvider.class, ClassLoader.getSystemClassLoader()); } - + private static String toKey(final String name) { return name.toUpperCase(Locale.ROOT); } @@ -254,7 +247,7 @@ public class ArchiveStreamFactory implements ArchiveStreamProvider { return AccessController.doPrivileged((PrivilegedAction<SortedMap<String, ArchiveStreamProvider>>) () -> { final TreeMap<String, ArchiveStreamProvider> map = new TreeMap<>(); putAll(DEFAULT.getInputStreamArchiveNames(), DEFAULT, map); - for (final ArchiveStreamProvider provider : findArchiveStreamProviders()) { + for (final ArchiveStreamProvider provider : archiveStreamProviderIterable()) { putAll(provider.getInputStreamArchiveNames(), provider, map); } return map; @@ -292,7 +285,7 @@ public class ArchiveStreamFactory implements ArchiveStreamProvider { return AccessController.doPrivileged((PrivilegedAction<SortedMap<String, ArchiveStreamProvider>>) () -> { final TreeMap<String, ArchiveStreamProvider> map = new TreeMap<>(); putAll(DEFAULT.getOutputStreamArchiveNames(), DEFAULT, map); - for (final ArchiveStreamProvider provider : findArchiveStreamProviders()) { + for (final ArchiveStreamProvider provider : archiveStreamProviderIterable()) { putAll(provider.getOutputStreamArchiveNames(), provider, map); } return map; diff --git a/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java b/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java index db0d3056..25a0ae44 100644 --- a/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java +++ b/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java @@ -23,10 +23,9 @@ import java.io.InputStream; import java.io.OutputStream; import java.security.AccessController; import java.security.PrivilegedAction; -import java.util.ArrayList; import java.util.Collections; -import java.util.Iterator; import java.util.Locale; +import java.util.ServiceLoader; import java.util.Set; import java.util.SortedMap; import java.util.TreeMap; @@ -60,8 +59,6 @@ import org.apache.commons.compress.compressors.zstandard.ZstdCompressorInputStre import org.apache.commons.compress.compressors.zstandard.ZstdCompressorOutputStream; import org.apache.commons.compress.compressors.zstandard.ZstdUtils; import org.apache.commons.compress.utils.IOUtils; -import org.apache.commons.compress.utils.Lists; -import org.apache.commons.compress.utils.ServiceLoaderIterator; import org.apache.commons.compress.utils.Sets; /** @@ -248,7 +245,7 @@ public class CompressorStreamFactory implements CompressorStreamProvider { return AccessController.doPrivileged((PrivilegedAction<SortedMap<String, CompressorStreamProvider>>) () -> { final TreeMap<String, CompressorStreamProvider> map = new TreeMap<>(); putAll(SINGLETON.getInputStreamCompressorNames(), SINGLETON, map); - for (final CompressorStreamProvider provider : findCompressorStreamProviders()) { + for (final CompressorStreamProvider provider : archiveStreamProviderIterable()) { putAll(provider.getInputStreamCompressorNames(), provider, map); } return map; @@ -286,15 +283,12 @@ public class CompressorStreamFactory implements CompressorStreamProvider { return AccessController.doPrivileged((PrivilegedAction<SortedMap<String, CompressorStreamProvider>>) () -> { final TreeMap<String, CompressorStreamProvider> map = new TreeMap<>(); putAll(SINGLETON.getOutputStreamCompressorNames(), SINGLETON, map); - for (final CompressorStreamProvider provider : findCompressorStreamProviders()) { + for (final CompressorStreamProvider provider : archiveStreamProviderIterable()) { putAll(provider.getOutputStreamCompressorNames(), provider, map); } return map; }); } - private static ArrayList<CompressorStreamProvider> findCompressorStreamProviders() { - return Lists.newArrayList(serviceLoaderIterator()); - } public static String getBrotli() { return BROTLI; @@ -367,8 +361,8 @@ public class CompressorStreamFactory implements CompressorStreamProvider { } } - private static Iterator<CompressorStreamProvider> serviceLoaderIterator() { - return new ServiceLoaderIterator<>(CompressorStreamProvider.class); + private static Iterable<CompressorStreamProvider> archiveStreamProviderIterable() { + return ServiceLoader.load(CompressorStreamProvider.class, ClassLoader.getSystemClassLoader()); } private static String toKey(final String name) { diff --git a/src/main/java/org/apache/commons/compress/utils/ServiceLoaderIterator.java b/src/main/java/org/apache/commons/compress/utils/ServiceLoaderIterator.java index 2ad9135a..08856bba 100644 --- a/src/main/java/org/apache/commons/compress/utils/ServiceLoaderIterator.java +++ b/src/main/java/org/apache/commons/compress/utils/ServiceLoaderIterator.java @@ -31,7 +31,9 @@ import java.util.ServiceLoader; * @param <E> * The service to load * @since 1.13 + * @deprecated No longer needed. */ +@Deprecated public class ServiceLoaderIterator<E> implements Iterator<E> { private E nextServiceLoader;