Class ArchiveExtractor


  • public class ArchiveExtractor
    extends java.lang.Object
    Author:
    anna.rozin
    • Field Detail

      • ZIP_EXTENSIONS

        public static final java.util.List<java.lang.String> ZIP_EXTENSIONS
      • GEM_EXTENSIONS

        public static final java.util.List<java.lang.String> GEM_EXTENSIONS
      • TAR_EXTENSIONS

        public static final java.util.List<java.lang.String> TAR_EXTENSIONS
      • RPM_EXTENSIONS

        public static final java.util.List<java.lang.String> RPM_EXTENSIONS
      • RAR_EXTENSIONS

        public static final java.util.List<java.lang.String> RAR_EXTENSIONS
      • ZIP_EXTENSION_PATTERN

        public static final java.lang.String ZIP_EXTENSION_PATTERN
      • GEM_EXTENSION_PATTERN

        public static final java.lang.String GEM_EXTENSION_PATTERN
      • TAR_EXTENSION_PATTERN

        public static final java.lang.String TAR_EXTENSION_PATTERN
      • RPM_EXTENSION_PATTERN

        public static final java.lang.String RPM_EXTENSION_PATTERN
      • RAR_EXTENSION_PATTERN

        public static final java.lang.String RAR_EXTENSION_PATTERN
      • UN_ARCHIVER_LOGGER

        public static final java.lang.String UN_ARCHIVER_LOGGER
        See Also:
        Constant Field Values
      • GLOB_PATTERN_PREFIX

        public static final java.lang.String GLOB_PATTERN_PREFIX
        See Also:
        Constant Field Values
      • XZ_UN_ARCHIVER_FILE_NAME

        public static final java.lang.String XZ_UN_ARCHIVER_FILE_NAME
        See Also:
        Constant Field Values
    • Constructor Detail

      • ArchiveExtractor

        public ArchiveExtractor​(java.lang.String[] archiveIncludes,
                                java.lang.String[] archiveExcludes,
                                java.lang.String[] filesExcludes,
                                boolean fastUnpack)
      • ArchiveExtractor

        public ArchiveExtractor​(java.lang.String[] archiveIncludes,
                                java.lang.String[] archiveExcludes,
                                java.lang.String[] filesExcludes)
    • Method Detail

      • extractArchives

        public java.lang.String extractArchives​(java.lang.String scannerBaseDir,
                                                int archiveExtractionDepth,
                                                java.util.List<java.lang.String> archiveDirectories)
        The Method extracts all the Archive files according to the archiveExtractionDepth. archiveExtractionDepth defined by the user in the configuration file.

        The archiveExtractionDepth default value is 0 - no archive scanning, the max value is 3. By default the method scans jar/war/ear. If archiveIncludes/archiveExcludes params are defined the method will act accordingly.

        Parameters:
        scannerBaseDir - - directory for scanning.
        archiveExtractionDepth - - drill down hierarchy level in archive files
        archiveDirectories - list of directories
        Returns:
        the temp directory for the extracted files.
      • extractDockerImageLayers

        public void extractDockerImageLayers​(java.io.File imageTarFile,
                                             java.io.File imageExtractionDir)
      • processCollections

        public java.util.Map<java.lang.String,​java.lang.String> processCollections​(java.util.Collection<Pair> unitsOfWork)
      • unXz

        public boolean unXz​(java.io.File srcFileToArchive,
                            java.lang.String destFilePath)