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);
     }
 
     /**

Reply via email to