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 b1caa7cef3733b24a4d682b8d8f1d7094200bb30
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Thu Oct 19 12:41:55 2023 -0400

    Add LZMAUtils.getCompressedFileName(String) and deprecate
    getCompressedFilename(String)
    
    - Add LZMAUtils.getUncompressedFileName(String) and deprecate
    getUncompressedFilename(String)
    - Add LZMAUtils.isCompressedFileName(String) and deprecate
    isCompressedFilename(String)
---
 src/changes/changes.xml                            |  3 ++
 .../compress/compressors/lzma/LZMAUtils.java       | 59 +++++++++++++++++++---
 .../commons/compress/compressors/xz/XZUtils.java   | 18 +++++++
 .../compressors/lzma/LZMAUtilsTestCase.java        | 25 +++++++++
 4 files changed, 98 insertions(+), 7 deletions(-)

diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index ff10b3ed..9b362e22 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -54,6 +54,9 @@ The <action> type attribute can be add,update,fix,remove.
       <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
BZip2Utils.getCompressedFileName(String) and deprecate 
getCompressedFilename(String).</action>
       <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
BZip2Utils.getUncompressedFileName(String) and deprecate 
getUncompressedFilename(String).</action>
       <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
BZip2Utils.isCompressedFileName(String) and deprecate 
isCompressedFilename(String).</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
LZMAUtils.getCompressedFileName(String) and deprecate 
getCompressedFilename(String).</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
LZMAUtils.getUncompressedFileName(String) and deprecate 
getUncompressedFilename(String).</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
LZMAUtils.isCompressedFileName(String) and deprecate 
isCompressedFilename(String).</action>
       <!-- FIX -->
       <!-- UPDATE -->
       <action type="update" dev="ggregory" due-to="Dependabot">Bump 
org.slf4j:slf4j-api from 2.0.8 to 2.0.9 #413.</action>
diff --git 
a/src/main/java/org/apache/commons/compress/compressors/lzma/LZMAUtils.java 
b/src/main/java/org/apache/commons/compress/compressors/lzma/LZMAUtils.java
index 7e5ebd41..c10d8a68 100644
--- a/src/main/java/org/apache/commons/compress/compressors/lzma/LZMAUtils.java
+++ b/src/main/java/org/apache/commons/compress/compressors/lzma/LZMAUtils.java
@@ -25,7 +25,8 @@ import org.apache.commons.compress.compressors.FileNameUtil;
 import org.apache.commons.compress.utils.OsgiUtils;
 
 /**
- * Utility code for the lzma compression format.
+ * Utility code for the LZMA compression format.
+ *
  * @ThreadSafe
  * @since 1.10
  */
@@ -62,29 +63,60 @@ public class LZMAUtils {
 
     /**
      * Maps the given file name to the name that the file should have after
-     * compression with lzma.
+     * compression with LZMA.
      *
      * @param fileName name of a file
      * @return name of the corresponding compressed file
+     * @deprecated Use {@link #getCompressedFileName(String)}.
      */
+    @Deprecated
     public static String getCompressedFilename(final String fileName) {
         return fileNameUtil.getCompressedFileName(fileName);
     }
 
     /**
-     * Maps the given name of a lzma-compressed file to the name that
+     * Maps the given file name to the name that the file should have after
+     * compression with LZMA.
+     *
+     * @param fileName name of a file
+     * @return name of the corresponding compressed file
+     * @since 1.25.0
+     */
+    public static String getCompressedFileName(final String fileName) {
+        return fileNameUtil.getCompressedFileName(fileName);
+    }
+
+    /**
+     * Maps the given name of a LZMA-compressed file to the name that
      * the file should have after uncompression.  Any file names with
-     * the generic ".lzma" suffix (or any other generic lzma suffix)
-     * is mapped to a name without that suffix. If no lzma suffix is
+     * the generic ".lzma" suffix (or any other generic LZMA suffix)
+     * is mapped to a name without that suffix. If no LZMA suffix is
      * detected, then the file name is returned unmapped.
      *
      * @param fileName name of a file
      * @return name of the corresponding uncompressed file
+     * @deprecated Use {@link #getUncompressedFileName(String)}.
      */
+    @Deprecated
     public static String getUncompressedFilename(final String fileName) {
         return fileNameUtil.getUncompressedFileName(fileName);
     }
 
+    /**
+     * Maps the given name of a LZMA-compressed file to the name that
+     * the file should have after uncompression.  Any file names with
+     * the generic ".lzma" suffix (or any other generic LZMA suffix)
+     * is mapped to a name without that suffix. If no LZMA suffix is
+     * detected, then the file name is returned unmapped.
+     *
+     * @param fileName name of a file
+     * @return name of the corresponding uncompressed file
+     * @since 1.25.0
+     */
+    public static String getUncompressedFileName(final String fileName) {
+        return fileNameUtil.getUncompressedFileName(fileName);
+    }
+
     private static boolean internalIsLZMACompressionAvailable() {
         try {
             LZMACompressorInputStream.matches(null, 0);
@@ -95,16 +127,29 @@ public class LZMAUtils {
     }
 
     /**
-     * Detects common lzma suffixes in the given file name.
+     * Detects common LZMA suffixes in the given file name.
      *
      * @param fileName name of a file
-     * @return {@code true} if the file name has a common lzma suffix,
+     * @return {@code true} if the file name has a common LZMA suffix,
      *         {@code false} otherwise
+     * @deprecated Use {@link #isCompressedFileName(String)}.
      */
     public static boolean isCompressedFilename(final String fileName) {
         return fileNameUtil.isCompressedFileName(fileName);
     }
 
+    /**
+     * Detects common LZMA suffixes in the given file name.
+     *
+     * @param fileName name of a file
+     * @return {@code true} if the file name has a common LZMA suffix,
+     *         {@code false} otherwise
+     * @since 1.25.0
+     */
+    public static boolean isCompressedFileName(final String fileName) {
+        return fileNameUtil.isCompressedFileName(fileName);
+    }
+
     /**
      * Are the classes required to support LZMA compression available?
      * @return true if the classes required to support LZMA
diff --git 
a/src/main/java/org/apache/commons/compress/compressors/xz/XZUtils.java 
b/src/main/java/org/apache/commons/compress/compressors/xz/XZUtils.java
index 54bf52f9..2dc89c32 100644
--- a/src/main/java/org/apache/commons/compress/compressors/xz/XZUtils.java
+++ b/src/main/java/org/apache/commons/compress/compressors/xz/XZUtils.java
@@ -74,11 +74,29 @@ public class XZUtils {
      *
      * @param fileName name of a file
      * @return name of the corresponding compressed file
+     * @deprecated Use {@link #getCompressedFileName(String)}.
      */
+    @Deprecated
     public static String getCompressedFilename(final String fileName) {
         return fileNameUtil.getCompressedFileName(fileName);
     }
 
+    /**
+     * Maps the given file name to the name that the file should have after
+     * compression with xz. Common file types with custom suffixes for
+     * compressed versions are automatically detected and correctly mapped.
+     * For example the name "package.tar" is mapped to "package.txz". If no
+     * custom mapping is applicable, then the default ".xz" suffix is appended
+     * to the file name.
+     *
+     * @param fileName name of a file
+     * @return name of the corresponding compressed file
+     * @since 1.25.0
+     */
+    public static String getCompressedFileName(final String fileName) {
+        return fileNameUtil.getCompressedFileName(fileName);
+    }
+
     /**
      * Maps the given name of a xz-compressed file to the name that the
      * file should have after uncompression. Commonly used file type specific
diff --git 
a/src/test/java/org/apache/commons/compress/compressors/lzma/LZMAUtilsTestCase.java
 
b/src/test/java/org/apache/commons/compress/compressors/lzma/LZMAUtilsTestCase.java
index 48babdf8..d6b02e20 100644
--- 
a/src/test/java/org/apache/commons/compress/compressors/lzma/LZMAUtilsTestCase.java
+++ 
b/src/test/java/org/apache/commons/compress/compressors/lzma/LZMAUtilsTestCase.java
@@ -43,44 +43,69 @@ public class LZMAUtilsTestCase {
         }
     }
 
+    @SuppressWarnings("deprecation")
     @Test
     public void testGetCompressedFilename() {
         assertEquals(".lzma", LZMAUtils.getCompressedFilename(""));
+        assertEquals(".lzma", LZMAUtils.getCompressedFileName(""));
         assertEquals("x.lzma", LZMAUtils.getCompressedFilename("x"));
+        assertEquals("x.lzma", LZMAUtils.getCompressedFileName("x"));
 
         assertEquals("x.wmf .lzma", LZMAUtils.getCompressedFilename("x.wmf "));
+        assertEquals("x.wmf .lzma", LZMAUtils.getCompressedFileName("x.wmf "));
         assertEquals("x.wmf\n.lzma", 
LZMAUtils.getCompressedFilename("x.wmf\n"));
+        assertEquals("x.wmf\n.lzma", 
LZMAUtils.getCompressedFileName("x.wmf\n"));
         assertEquals("x.wmf.y.lzma", 
LZMAUtils.getCompressedFilename("x.wmf.y"));
+        assertEquals("x.wmf.y.lzma", 
LZMAUtils.getCompressedFileName("x.wmf.y"));
     }
 
+    @SuppressWarnings("deprecation")
     @Test
     public void testGetUncompressedFilename() {
         assertEquals("", LZMAUtils.getUncompressedFilename(""));
+        assertEquals("", LZMAUtils.getUncompressedFileName(""));
         assertEquals(".lzma", LZMAUtils.getUncompressedFilename(".lzma"));
+        assertEquals(".lzma", LZMAUtils.getUncompressedFileName(".lzma"));
 
         assertEquals("x", LZMAUtils.getUncompressedFilename("x.lzma"));
+        assertEquals("x", LZMAUtils.getUncompressedFileName("x.lzma"));
         assertEquals("x", LZMAUtils.getUncompressedFilename("x-lzma"));
+        assertEquals("x", LZMAUtils.getUncompressedFileName("x-lzma"));
 
         assertEquals("x.lzma ", LZMAUtils.getUncompressedFilename("x.lzma "));
+        assertEquals("x.lzma ", LZMAUtils.getUncompressedFileName("x.lzma "));
         assertEquals("x.lzma\n", 
LZMAUtils.getUncompressedFilename("x.lzma\n"));
+        assertEquals("x.lzma\n", 
LZMAUtils.getUncompressedFileName("x.lzma\n"));
         assertEquals("x.lzma.y", 
LZMAUtils.getUncompressedFilename("x.lzma.y"));
+        assertEquals("x.lzma.y", 
LZMAUtils.getUncompressedFileName("x.lzma.y"));
     }
 
+    @SuppressWarnings("deprecation")
     @Test
     public void testIsCompressedFilename() {
         assertFalse(LZMAUtils.isCompressedFilename(""));
+        assertFalse(LZMAUtils.isCompressedFileName(""));
         assertFalse(LZMAUtils.isCompressedFilename(".lzma"));
+        assertFalse(LZMAUtils.isCompressedFileName(".lzma"));
 
         assertTrue(LZMAUtils.isCompressedFilename("x.lzma"));
+        assertTrue(LZMAUtils.isCompressedFileName("x.lzma"));
         assertTrue(LZMAUtils.isCompressedFilename("x-lzma"));
+        assertTrue(LZMAUtils.isCompressedFileName("x-lzma"));
 
         assertFalse(LZMAUtils.isCompressedFilename("xxgz"));
+        assertFalse(LZMAUtils.isCompressedFileName("xxgz"));
         assertFalse(LZMAUtils.isCompressedFilename("lzmaz"));
+        assertFalse(LZMAUtils.isCompressedFileName("lzmaz"));
         assertFalse(LZMAUtils.isCompressedFilename("xaz"));
+        assertFalse(LZMAUtils.isCompressedFileName("xaz"));
 
         assertFalse(LZMAUtils.isCompressedFilename("x.lzma "));
+        assertFalse(LZMAUtils.isCompressedFileName("x.lzma "));
         assertFalse(LZMAUtils.isCompressedFilename("x.lzma\n"));
+        assertFalse(LZMAUtils.isCompressedFileName("x.lzma\n"));
         assertFalse(LZMAUtils.isCompressedFilename("x.lzma.y"));
+        assertFalse(LZMAUtils.isCompressedFileName("x.lzma.y"));
     }
 
     @Test

Reply via email to