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-vfs.git
The following commit(s) were added to refs/heads/master by this push: new a5d35776 Use Unchecked a5d35776 is described below commit a5d35776d08b83cbb9ff6f64f83bfce55c4db17f Author: Gary Gregory <garydgreg...@gmail.com> AuthorDate: Sat Jun 24 13:39:26 2023 -0400 Use Unchecked --- .../commons/vfs2/provider/DefaultURLStreamHandler.java | 10 +++------- .../apache/commons/vfs2/provider/ftp/FtpFileObject.java | 8 ++------ .../commons/vfs2/provider/hdfs/HdfsFileSystem.java | 10 +++------- .../commons/vfs2/provider/http4/Http4FileSystem.java | 15 ++++++--------- .../commons/vfs2/provider/http5/Http5FileSystem.java | 15 ++++++--------- .../apache/commons/vfs2/provider/tar/TarFileObject.java | 12 +++--------- .../apache/commons/vfs2/provider/zip/ZipFileObject.java | 12 +++--------- .../org/apache/commons/vfs2/filter/BaseFilterTest.java | 17 +++++------------ .../vfs2/provider/hdfs/HdfsFileProviderTestCase.java | 4 ++-- 9 files changed, 33 insertions(+), 70 deletions(-) diff --git a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/DefaultURLStreamHandler.java b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/DefaultURLStreamHandler.java index 41a1b374..c1565c49 100644 --- a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/DefaultURLStreamHandler.java +++ b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/DefaultURLStreamHandler.java @@ -17,13 +17,12 @@ package org.apache.commons.vfs2.provider; import java.io.IOException; -import java.io.UncheckedIOException; import java.net.URL; import java.net.URLConnection; import java.net.URLStreamHandler; +import org.apache.commons.io.function.Uncheck; import org.apache.commons.vfs2.FileObject; -import org.apache.commons.vfs2.FileSystemException; import org.apache.commons.vfs2.FileSystemOptions; /** @@ -62,7 +61,7 @@ public class DefaultURLStreamHandler extends URLStreamHandler { @Override protected void parseURL(final URL u, final String spec, final int start, final int limit) { - try { + Uncheck.run(() -> { final FileObject old = context.resolveFile(u.toExternalForm(), fileSystemOptions); final FileObject newURL; @@ -80,10 +79,7 @@ public class DefaultURLStreamHandler extends URLStreamHandler { final String protocolPart = UriParser.extractScheme(context.getFileSystemManager().getSchemes(), url, filePart); setURL(u, protocolPart, "", -1, null, null, filePart.toString(), null, null); - } catch (final FileSystemException fse) { - // This is rethrown to MalformedURLException in URL anyway - throw new UncheckedIOException(fse); - } + }); } @Override diff --git a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/ftp/FtpFileObject.java b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/ftp/FtpFileObject.java index fa81274f..3d377a2b 100644 --- a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/ftp/FtpFileObject.java +++ b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/ftp/FtpFileObject.java @@ -20,7 +20,6 @@ import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; -import java.io.UncheckedIOException; import java.time.Instant; import java.util.Calendar; import java.util.Collections; @@ -31,6 +30,7 @@ import java.util.TimeZone; import java.util.TreeMap; import java.util.concurrent.atomic.AtomicBoolean; +import org.apache.commons.io.function.Uncheck; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -594,11 +594,7 @@ public class FtpFileObject extends AbstractFileObject<FtpFileSystem> { @Override protected void onChildrenChanged(final FileName child, final FileType newType) { if (childMap != null && newType.equals(FileType.IMAGINARY)) { - try { - childMap.remove(UriParser.decode(child.getBaseName())); - } catch (final FileSystemException e) { - throw new UncheckedIOException(e); - } + Uncheck.run(() -> childMap.remove(UriParser.decode(child.getBaseName()))); } else { // if child was added we have to rescan the children // TODO - get rid of this diff --git a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/hdfs/HdfsFileSystem.java b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/hdfs/HdfsFileSystem.java index c4df7c0b..b416ba8c 100644 --- a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/hdfs/HdfsFileSystem.java +++ b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/hdfs/HdfsFileSystem.java @@ -18,12 +18,12 @@ package org.apache.commons.vfs2.provider.hdfs; import java.io.IOException; import java.io.InputStream; -import java.io.UncheckedIOException; import java.io.UnsupportedEncodingException; import java.net.URL; import java.net.URLDecoder; import java.util.Collection; +import org.apache.commons.io.function.Uncheck; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.commons.vfs2.CacheStrategy; @@ -72,12 +72,8 @@ public class HdfsFileSystem extends AbstractFileSystem { */ @Override public void close() { - try { - if (null != fs) { - fs.close(); - } - } catch (final IOException e) { - throw new UncheckedIOException("Error closing HDFS client", e); + if (null != fs) { + Uncheck.run(fs::close); } super.close(); } diff --git a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http4/Http4FileSystem.java b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http4/Http4FileSystem.java index 188ddb69..684859c4 100644 --- a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http4/Http4FileSystem.java +++ b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http4/Http4FileSystem.java @@ -16,11 +16,11 @@ */ package org.apache.commons.vfs2.provider.http4; -import java.io.IOException; -import java.io.UncheckedIOException; +import java.io.Closeable; import java.net.URI; import java.util.Collection; +import org.apache.commons.io.function.Uncheck; import org.apache.commons.vfs2.Capability; import org.apache.commons.vfs2.FileName; import org.apache.commons.vfs2.FileObject; @@ -29,7 +29,6 @@ import org.apache.commons.vfs2.provider.AbstractFileName; import org.apache.commons.vfs2.provider.AbstractFileSystem; import org.apache.http.client.HttpClient; import org.apache.http.client.protocol.HttpClientContext; -import org.apache.http.impl.client.CloseableHttpClient; /** * http4 file system. @@ -88,12 +87,10 @@ public class Http4FileSystem extends AbstractFileSystem { @Override protected void doCloseCommunicationLink() { - if (httpClient instanceof CloseableHttpClient) { - try { - ((CloseableHttpClient) httpClient).close(); - } catch (final IOException e) { - throw new UncheckedIOException("Error closing HttpClient", e); - } + if (httpClient instanceof Closeable) { + // TODO "Error closing HttpClient" Commons IO + // Uncheck.run(() -> ((Closeable) httpClient).close(), () -> "Error closing HttpClient"); + Uncheck.run(() -> ((Closeable) httpClient).close()); } } diff --git a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http5/Http5FileSystem.java b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http5/Http5FileSystem.java index c1b81f7c..078a8dbe 100644 --- a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http5/Http5FileSystem.java +++ b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http5/Http5FileSystem.java @@ -16,11 +16,11 @@ */ package org.apache.commons.vfs2.provider.http5; -import java.io.IOException; -import java.io.UncheckedIOException; +import java.io.Closeable; import java.net.URI; import java.util.Collection; +import org.apache.commons.io.function.Uncheck; import org.apache.commons.vfs2.Capability; import org.apache.commons.vfs2.FileName; import org.apache.commons.vfs2.FileObject; @@ -28,7 +28,6 @@ import org.apache.commons.vfs2.FileSystemOptions; import org.apache.commons.vfs2.provider.AbstractFileName; import org.apache.commons.vfs2.provider.AbstractFileSystem; import org.apache.hc.client5.http.classic.HttpClient; -import org.apache.hc.client5.http.impl.classic.CloseableHttpClient; import org.apache.hc.client5.http.protocol.HttpClientContext; /** @@ -88,12 +87,10 @@ public class Http5FileSystem extends AbstractFileSystem { @Override protected void doCloseCommunicationLink() { - if (httpClient instanceof CloseableHttpClient) { - try { - ((CloseableHttpClient) httpClient).close(); - } catch (final IOException e) { - throw new UncheckedIOException("Error closing HttpClient", e); - } + if (httpClient instanceof Closeable) { + // TODO "Error closing HttpClient" Commons IO + // Uncheck.run(() -> ((Closeable) httpClient).close(), () -> "Error closing HttpClient"); + Uncheck.run(() -> ((Closeable) httpClient).close()); } } diff --git a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/tar/TarFileObject.java b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/tar/TarFileObject.java index 620ae034..dc6d3226 100644 --- a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/tar/TarFileObject.java +++ b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/tar/TarFileObject.java @@ -17,10 +17,10 @@ package org.apache.commons.vfs2.provider.tar; import java.io.InputStream; -import java.io.UncheckedIOException; import java.util.HashSet; import org.apache.commons.compress.archivers.tar.TarArchiveEntry; +import org.apache.commons.io.function.Uncheck; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.vfs2.FileName; import org.apache.commons.vfs2.FileSystemException; @@ -111,15 +111,9 @@ public class TarFileObject extends AbstractFileObject<TarFileSystem> { */ @Override protected String[] doListChildren() { - try { - if (!getType().hasChildren()) { - return null; - } - } catch (final FileSystemException e) { - // should not happen as the type has already been cached. - throw new UncheckedIOException(e); + if (!Uncheck.get(this::getType).hasChildren()) { + return null; } - return children.toArray(ArrayUtils.EMPTY_STRING_ARRAY); } diff --git a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/zip/ZipFileObject.java b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/zip/ZipFileObject.java index 26b4e920..cebf38b9 100644 --- a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/zip/ZipFileObject.java +++ b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/zip/ZipFileObject.java @@ -17,10 +17,10 @@ package org.apache.commons.vfs2.provider.zip; import java.io.InputStream; -import java.io.UncheckedIOException; import java.util.HashSet; import java.util.zip.ZipEntry; +import org.apache.commons.io.function.Uncheck; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.vfs2.FileName; import org.apache.commons.vfs2.FileSystemException; @@ -120,15 +120,9 @@ public class ZipFileObject extends AbstractFileObject<ZipFileSystem> { */ @Override protected String[] doListChildren() { - try { - if (!getType().hasChildren()) { - return null; - } - } catch (final FileSystemException e) { - // should not happen as the type has already been cached. - throw new UncheckedIOException(e); + if (!Uncheck.get(this::getType).hasChildren()) { + return null; } - return children.toArray(ArrayUtils.EMPTY_STRING_ARRAY); } diff --git a/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/BaseFilterTest.java b/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/BaseFilterTest.java index f38d335e..ac746d50 100644 --- a/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/BaseFilterTest.java +++ b/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/BaseFilterTest.java @@ -24,7 +24,6 @@ import java.io.File; import java.io.FileFilter; import java.io.IOException; import java.io.InputStream; -import java.io.UncheckedIOException; import java.nio.file.Files; import java.util.Arrays; import java.util.List; @@ -32,6 +31,7 @@ import java.util.Objects; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; +import org.apache.commons.io.function.Uncheck; import org.apache.commons.vfs2.FileObject; import org.apache.commons.vfs2.FileSelectInfo; import org.apache.commons.vfs2.FileSystemException; @@ -116,17 +116,12 @@ public abstract class BaseFilterTest { * @return File select info. */ protected static FileSelectInfo createFileSelectInfo(final File file) { - try { - final FileSystemManager fsManager = VFS.getManager(); - final FileObject fileObject = fsManager.toFileObject(file); + return Uncheck.get(() -> { + final FileObject fileObject = VFS.getManager().toFileObject(file); return new FileSelectInfo() { @Override public FileObject getBaseFolder() { - try { - return fileObject.getParent(); - } catch (final FileSystemException ex) { - throw new UncheckedIOException(ex); - } + return Uncheck.get(fileObject::getParent); } @Override @@ -144,9 +139,7 @@ public abstract class BaseFilterTest { return Objects.toString(fileObject); } }; - } catch (final FileSystemException ex) { - throw new UncheckedIOException(ex); - } + }); } protected static void delete(final File file) { diff --git a/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/hdfs/HdfsFileProviderTestCase.java b/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/hdfs/HdfsFileProviderTestCase.java index 7e8b9e4a..d1d9b953 100644 --- a/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/hdfs/HdfsFileProviderTestCase.java +++ b/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/hdfs/HdfsFileProviderTestCase.java @@ -20,7 +20,6 @@ import static org.apache.commons.vfs2.VfsTestUtils.getTestDirectoryFile; import java.io.File; import java.io.IOException; -import java.io.UncheckedIOException; import org.apache.commons.io.FileUtils; import org.apache.commons.vfs2.AbstractProviderTestConfig; @@ -36,6 +35,7 @@ import org.apache.hadoop.hdfs.DFSConfigKeys; import org.apache.hadoop.hdfs.MiniDFSCluster; import org.apache.log4j.Level; import org.apache.log4j.Logger; +import org.junit.jupiter.api.Assertions; import junit.framework.Test; @@ -100,7 +100,7 @@ public class HdfsFileProviderTestCase extends AbstractProviderTestConfig { cluster = new MiniDFSCluster(PORT, conf, 1, true, true, true, null, null, null, null); cluster.waitActive(); } catch (final IOException e) { - throw new UncheckedIOException("Error setting up mini cluster", e); + Assertions.fail("Error setting up mini cluster", e); } hdfs = cluster.getFileSystem();