Skip to content

Importing a ZIP file with PPMd compression fails to show warning box in importer UI #4112

@thadguidry

Description

@thadguidry

ZIP files that were compressed with PPMd are not able to be imported into OpenRefine and fail to show any friendly warning in the UI during import that the compression format is unknown

To Reproduce

Steps to reproduce the behavior:

  1. Compress a ZIP file with PPMd compression
  2. Try to import into OpenRefine
  3. Notice blank Preview page in UI without any warning but shows Java exception in console.

Current Results

06:56:14.430 [                   refine] GET /command/core/get-languages (32ms)
06:56:14.805 [                   refine] GET /command/core/get-version (375ms)
06:56:28.177 [                   refine] GET /command/core/get-csrf-token (13372ms)
06:56:28.180 [                   refine] POST /command/core/create-importing-job (3ms)
06:56:28.205 [                   refine] POST /command/core/importing-controller (25ms)
java.util.zip.ZipException: invalid compression method
        at java.util.zip.ZipInputStream.read(ZipInputStream.java:225)
        at java.io.FilterInputStream.read(FilterInputStream.java:107)
        at com.google.refine.importing.ImportingUtilities.saveStreamToFile(ImportingUtilities.java:532)
        at com.google.refine.importing.ImportingUtilities.explodeArchive(ImportingUtilities.java:687)
        at com.google.refine.importing.ImportingUtilities.postProcessRetrievedFile(ImportingUtilities.java:556)
        at com.google.refine.importing.ImportingUtilities.retrieveContentFromPostRequest(ImportingUtilities.java:382)
        at com.google.refine.importing.ImportingUtilities.loadDataAndPrepareJob(ImportingUtilities.java:116)
        at com.google.refine.importing.DefaultImportingController.doLoadRawData(DefaultImportingController.java:118)
        at com.google.refine.importing.DefaultImportingController.doPost(DefaultImportingController.java:87)
        at com.google.refine.commands.importing.ImportingControllerCommand.doPost(ImportingControllerCommand.java:68)
        at com.google.refine.RefineServlet.service(RefineServlet.java:187)

Expected Behavior

Display a Warning dialog in UI whenever ImportingUtilities.explodeArchive fails for any reason, I think.

Screenshots

Compressed using 7zip and selecting PPMd compression method for large file support
image

Versions

  • Operating System: Windows 10
  • Browser Version: Firefox
  • JRE or JDK Version: JDK 15
  • OpenRefine: 3.5.1 beta1

Datasets

Small test ZIP file compressed with PPMd - chicago_tribute-covid.zip

Additional context

Metadata

Metadata

Assignees

No one assigned

    Labels

    Good First IssueIndicates issues suitable for newcomers to design or coding, providing a gentle introduction.Type: BugIssues related to software defects or unexpected behavior, which require resolution.importAbout importers in general - add a label for the data format if available

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions