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
commit 5ff5ab49fac76ec196449743bead015c32915d36 Author: Gary D. Gregory <garydgreg...@gmail.com> AuthorDate: Mon Apr 14 08:31:40 2025 -0400 Reuse PathUtils#getExtension(Path) Deprecate FileNameUtils#getExtension(Path) --- src/changes/changes.xml | 1 + .../archivers/zip/ZipSplitReadOnlySeekableByteChannel.java | 7 +++---- .../java/org/apache/commons/compress/utils/FileNameUtils.java | 9 +++------ 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/src/changes/changes.xml b/src/changes/changes.xml index 2ffea2eac..0ad2a5b33 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -85,6 +85,7 @@ The <action> type attribute can be add,update,fix,remove. <action type="fix" dev="ggregory" due-to="Gary Gregory">org.apache.commons.compress.harmony.unpack200.bytecode.forms.ReferenceForm.setByteCodeOperands(ByteCode, OperandManager, int) now throws Pack200Exception instead of Error on some bad inputs and states.</action> <action type="fix" dev="ggregory" due-to="Gary Gregory">Deprecate org.apache.commons.compress.harmony.pack200.CanonicalCodecFamilies.CanonicalCodecFamilies().</action> <action type="fix" dev="ggregory" due-to="Gary Gregory">Deprecate FileNameUtils#getBaseName(Path).</action> + <action type="fix" dev="ggregory" due-to="Gary Gregory">Deprecate FileNameUtils#getExtension(Path).</action> <!-- ADD --> <action type="add" dev="ggregory" due-to="Gary Gregory">Add GzipParameters.getModificationInstant().</action> <action type="add" dev="ggregory" due-to="Gary Gregory">Add GzipParameters.setModificationInstant(Instant).</action> diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/ZipSplitReadOnlySeekableByteChannel.java b/src/main/java/org/apache/commons/compress/archivers/zip/ZipSplitReadOnlySeekableByteChannel.java index bf811c3d5..feb8fa6d9 100644 --- a/src/main/java/org/apache/commons/compress/archivers/zip/ZipSplitReadOnlySeekableByteChannel.java +++ b/src/main/java/org/apache/commons/compress/archivers/zip/ZipSplitReadOnlySeekableByteChannel.java @@ -37,7 +37,6 @@ import java.util.stream.Stream; import org.apache.commons.compress.archivers.ArchiveStreamFactory; -import org.apache.commons.compress.utils.FileNameUtils; import org.apache.commons.compress.utils.MultiReadOnlySeekableByteChannel; import org.apache.commons.io.file.PathUtils; @@ -55,8 +54,8 @@ private static final class ZipSplitSegmentComparator implements Comparator<Path> @Override public int compare(final Path file1, final Path file2) { - final String extension1 = FileNameUtils.getExtension(file1); - final String extension2 = FileNameUtils.getExtension(file2); + final String extension1 = PathUtils.getExtension(file1); + final String extension2 = PathUtils.getExtension(file2); if (!extension1.startsWith("z")) { return -1; } @@ -94,7 +93,7 @@ public static SeekableByteChannel buildFromLastSplitSegment(final File lastSegme * @since 1.22 */ public static SeekableByteChannel buildFromLastSplitSegment(final Path lastSegmentPath) throws IOException { - final String extension = FileNameUtils.getExtension(lastSegmentPath); + final String extension = PathUtils.getExtension(lastSegmentPath); if (!extension.equalsIgnoreCase(ArchiveStreamFactory.ZIP)) { throw new IllegalArgumentException("The extension of last ZIP split segment should be .zip"); } diff --git a/src/main/java/org/apache/commons/compress/utils/FileNameUtils.java b/src/main/java/org/apache/commons/compress/utils/FileNameUtils.java index b7240eaa4..26d1cddd2 100644 --- a/src/main/java/org/apache/commons/compress/utils/FileNameUtils.java +++ b/src/main/java/org/apache/commons/compress/utils/FileNameUtils.java @@ -76,14 +76,11 @@ public static String getBaseName(final String fileName) { * @return the extension of file name * @param path the path of the file to obtain the extension of. * @since 1.22 + * @deprecated Use {@link PathUtils#getExtension(Path)}. */ + @Deprecated public static String getExtension(final Path path) { - // TODO Use Commons IO 2.17.0 - if (path == null) { - return null; - } - final Path fileName = path.getFileName(); - return fileName != null ? FilenameUtils.getExtension(fileName.toString()) : null; + return PathUtils.getExtension(path); } /**