Class ArchiveTestResourceProvider

  • All Implemented Interfaces:
    TestResourceProvider

    public class ArchiveTestResourceProvider
    extends AbstractTestResourceProvider
    This TestResourceProvider can read archive files (zip/jar format) and provide the Integrity script files within these archives transparently to the Test Runner. It can even read archives within archives, up to an arbitrary depth.
    Author:
    Rene Schneider - initial API and implementation
    • Constructor Detail

      • ArchiveTestResourceProvider

        public ArchiveTestResourceProvider()
    • Method Detail

      • addArchive

        public void addArchive​(File anArchiveFile,
                               boolean aRecursiveFlag)
                        throws IOException
        Adds an archive (all contained .integrity files) to the resource provider.
        Parameters:
        anArchiveFile - the archive file to add
        aRecursiveFlag - whether other archives inside this archive shall be added recursively
        Throws:
        IOException
      • addArchive

        protected void addArchive​(ZipInputStream anArchiveInputStream,
                                  String aPrefix,
                                  boolean aRecursiveFlag,
                                  Stack<String> anArchiveFileNameStack)
                           throws IOException
        Recursive-enabled variant of addArchive(File, boolean).
        Parameters:
        anArchiveInputStream - the archive input stream to read from
        aPrefix - the prefix to prepend in front of the filename inside the archive
        aRecursiveFlag - a flag whether recursive invocation is desired
        Throws:
        IOException
      • closeResource

        public void closeResource​(TestResource aResourceName,
                                  InputStream aResourceStream)
                           throws IOException
        Description copied from interface: TestResourceProvider
        Closes a specified resources' stream (and all the stuff opened for this stream in the background).
        Parameters:
        aResourceName - the resource to be closed
        aResourceStream - the resource stream to close
        Throws:
        IOException
      • findFileInZipInputStream

        protected boolean findFileInZipInputStream​(ZipInputStream aStream,
                                                   String aFileName)
                                            throws IOException
        Searches the given ZipInputStream for an entry, then stops. This changes the active entry in the stream to the entry to find (if found) or no entry (if not found).
        Parameters:
        aStream - the stream to search in
        aFileName - the entry name
        Returns:
        true if the entry was found, false if not
        Throws:
        IOException