Search in sources :

Example 11 with TFile

use of de.schlichtherle.truezip.file.TFile in project alfresco-repository by Alfresco.

the class ModuleDetailsHelper method getModuleDetailsFileFromWarAndId.

/**
 * @param warLocation   the location of the WAR file
 * @param moduleId      the module ID within the WAR
 * @return              Returns a file handle to the module properties file within the given WAR.
 *                      The file may or may not exist.
 */
public static TFile getModuleDetailsFileFromWarAndId(String warLocation, String moduleId) {
    String location = ModuleDetailsHelper.getModulePropertiesFileLocation(warLocation, moduleId);
    TFile file = new TFile(location);
    return file;
}
Also used : TFile(de.schlichtherle.truezip.file.TFile)

Example 12 with TFile

use of de.schlichtherle.truezip.file.TFile in project codeforces-commons by Codeforces.

the class ZipUtilTest method testZipEntryManipulations.

public void testZipEntryManipulations() throws Exception {
    File fileDir = null;
    File archiveDir = null;
    try {
        String randomToken = RandomUtil.getRandomToken();
        fileDir = FileUtil.createTemporaryDirectory("test-zip-files-" + randomToken);
        archiveDir = FileUtil.createTemporaryDirectory("test-zip-archive-" + randomToken);
        prepareFilesForTestZip(fileDir);
        File zipFile = new File(archiveDir, "test.zip");
        ZipUtil.zip(fileDir, zipFile, null);
        assertTrue('\'' + zipFile.getName() + "' is not correct non-empty ZIP-file.", ZipUtil.isCorrectZipFile(zipFile, true));
        checkZipEntryExists(zipFile, "random");
        checkZipEntryExists(zipFile, "subdir/subsubdir/files/realtek.log");
        checkZipEntryNotExists(zipFile, "sabako/sabako");
        checkZipEntryNotExists(zipFile, "root-sabako");
        byte[] dogDogBytes = RandomUtil.getRandomBytes(Ints.checkedCast(10L * FileUtil.BYTES_PER_MB));
        ZipUtil.addEntryToZipArchive(zipFile, "sabako/sabako", dogDogBytes);
        byte[] rootDogBytes = RandomUtil.getRandomBytes(Ints.checkedCast(10L * FileUtil.BYTES_PER_MB));
        ZipUtil.addEntryToZipArchive(zipFile, "root-sabako", rootDogBytes);
        assertTrue('\'' + zipFile.getName() + "' is not correct non-empty ZIP-file (after 'addEntryToZipArchive').", ZipUtil.isCorrectZipFile(zipFile, true));
        checkZipEntryExists(zipFile, "random");
        checkZipEntryExists(zipFile, "subdir/subsubdir/files/realtek.log");
        checkZipEntryExists(zipFile, "sabako/sabako");
        checkZipEntryExists(zipFile, "root-sabako");
        Assert.assertArrayEquals("'ZipUtil.getZipEntryBytes' returned unexpected result for entry 'sabako/sabako'.", dogDogBytes, ZipUtil.getZipEntryBytes(zipFile, "sabako/sabako"));
        Assert.assertArrayEquals("'ZipUtil.getZipEntryBytes' returned unexpected result for entry 'root-sabako'.", rootDogBytes, ZipUtil.getZipEntryBytes(zipFile, "root-sabako"));
        Assert.assertArrayEquals("'FileUtil.getBytes' returned unexpected result for entry 'sabako/sabako'.", dogDogBytes, FileUtil.getBytes(new TFile(zipFile, "sabako/sabako")));
        Assert.assertArrayEquals("'FileUtil.getBytes' returned unexpected result for entry 'root-sabako'.", rootDogBytes, FileUtil.getBytes(new TFile(zipFile, "root-sabako")));
        ZipUtil.deleteZipEntry(zipFile, "random");
        ZipUtil.deleteZipEntry(zipFile, "sabako/sabako");
        assertTrue('\'' + zipFile.getName() + "' is not correct non-empty ZIP-file (after 'deleteZipEntry').", ZipUtil.isCorrectZipFile(zipFile, true));
        checkZipEntryNotExists(zipFile, "random");
        checkZipEntryExists(zipFile, "subdir/subsubdir/files/realtek.log");
        checkZipEntryNotExists(zipFile, "sabako/sabako");
        checkZipEntryExists(zipFile, "root-sabako");
    } finally {
        FileUtil.deleteTotally(fileDir);
        FileUtil.deleteTotally(archiveDir);
    }
}
Also used : TFile(de.schlichtherle.truezip.file.TFile) TFile(de.schlichtherle.truezip.file.TFile)

Example 13 with TFile

use of de.schlichtherle.truezip.file.TFile in project codeforces-commons by Codeforces.

the class ZipUtilTest method startThreadToTestGetBytes.

private static Thread startThreadToTestGetBytes(File validArchive, File validInnerArchive, List<AssertionError> errors, int iterationCount) {
    Thread getBytesTestThread = new Thread(() -> {
        for (int iterationIndex = 1; iterationIndex <= iterationCount; ++iterationIndex) {
            try {
                try {
                    assertTrue("Valid archive and inner valid archive have different content.", Arrays.equals(FileUtil.getBytes(validArchive), FileUtil.getBytes(new TFile(validInnerArchive, "valid.zip"))));
                } catch (IOException e) {
                    throw new AssertionError(e.toString());
                }
            } catch (@SuppressWarnings("ErrorNotRethrown") AssertionError e) {
                errors.add(e);
                break;
            }
        }
    });
    getBytesTestThread.start();
    return getBytesTestThread;
}
Also used : TFile(de.schlichtherle.truezip.file.TFile)

Example 14 with TFile

use of de.schlichtherle.truezip.file.TFile in project codeforces-commons by Codeforces.

the class ZipUtilTest method testZipUnzipAndZipRelatedFileUtilOperations.

public void testZipUnzipAndZipRelatedFileUtilOperations() throws Exception {
    File fileDir = null;
    File fileCopyDir = null;
    File archiveDir = null;
    File unpackedDirFromBytes = null;
    File unpackedDirFromFile = null;
    File copiedDirFromFile = null;
    try {
        String randomToken = RandomUtil.getRandomToken();
        fileDir = FileUtil.createTemporaryDirectory("test-zip-files-" + randomToken);
        fileCopyDir = FileUtil.createTemporaryDirectory("test-zip-files-copy-" + randomToken);
        archiveDir = FileUtil.createTemporaryDirectory("test-zip-archive-" + randomToken);
        unpackedDirFromBytes = FileUtil.createTemporaryDirectory("test-zip-unpacked-from-bytes-" + randomToken);
        unpackedDirFromFile = FileUtil.createTemporaryDirectory("test-zip-unpacked-from-file-" + randomToken);
        copiedDirFromFile = FileUtil.createTemporaryDirectory("test-zip-copied-from-file-" + randomToken);
        prepareFilesForTestZip(fileDir);
        byte[] zipBytes = ZipUtil.zip(fileDir, null);
        File zipFile = new File(archiveDir, "test.zip");
        ZipUtil.zip(fileDir, zipFile, null);
        File zipCopyFile = new File(archiveDir, "copy.zip");
        FileUtil.copyFile(zipFile, zipCopyFile);
        ZipUtil.unzip(zipBytes, unpackedDirFromBytes);
        ZipUtil.unzip(zipFile, unpackedDirFromFile);
        FileUtil.copyDirectory(fileDir, fileCopyDir);
        FileUtil.copyDirectory(new TFile(zipFile), copiedDirFromFile);
        assertTrue("Unzipped from file directory does not equal to the original directory.", FileUtil.equalsOrSameContent(unpackedDirFromFile, fileDir));
        assertTrue("Unzipped from bytes directory does not equal to the original directory.", FileUtil.equalsOrSameContent(unpackedDirFromBytes, fileDir));
        assertTrue("Copied directory does not equal to the original directory.", FileUtil.equalsOrSameContent(fileCopyDir, fileDir));
        assertTrue("Copied from file directory does not equal to the original directory.", FileUtil.equalsOrSameContent(copiedDirFromFile, fileDir));
        assertTrue("ZIP-file content does not equal to the original directory.", FileUtil.equalsOrSameContent(new TFile(zipFile), fileDir));
        assertTrue("ZIP-file content does not equal to the content of ZIP-file copy.", FileUtil.equalsOrSameContent(new TFile(zipFile), new TFile(zipCopyFile)));
        assertFalse("ZIP-file content does equal to the copy of ZIP-file.", FileUtil.equalsOrSameContent(new TFile(zipFile), zipCopyFile));
        assertFalse("ZIP-file does equal to the content of ZIP-file copy.", FileUtil.equalsOrSameContent(zipFile, new TFile(zipCopyFile)));
        assertTrue("ZIP-file does not equal to the copy of ZIP-file.", FileUtil.equalsOrSameContent(zipFile, zipCopyFile));
    } finally {
        FileUtil.deleteTotally(fileDir);
        FileUtil.deleteTotally(fileCopyDir);
        FileUtil.deleteTotally(archiveDir);
        FileUtil.deleteTotally(unpackedDirFromBytes);
        FileUtil.deleteTotally(unpackedDirFromFile);
        FileUtil.deleteTotally(copiedDirFromFile);
    }
}
Also used : TFile(de.schlichtherle.truezip.file.TFile) TFile(de.schlichtherle.truezip.file.TFile)

Example 15 with TFile

use of de.schlichtherle.truezip.file.TFile in project alfresco-repository by Alfresco.

the class WarHelperImpl method getModuleDetails.

/**
 * Gets the module details for the specified module from the war.
 * @param war   a valid war file or exploded directory from a war
 * @param moduleId String
 * @return ModuleDetails
 */
protected ModuleDetails getModuleDetails(TFile war, String moduleId) {
    ModuleDetails moduleDets = null;
    TFile theFile = getModuleDetailsFile(war, moduleId);
    if (theFile != null && theFile.exists()) {
        moduleDets = new ModuleDetailsImpl(loadProperties(theFile));
    }
    return moduleDets;
}
Also used : TFile(de.schlichtherle.truezip.file.TFile) ModuleDetailsImpl(org.alfresco.repo.module.ModuleDetailsImpl) ModuleDetails(org.alfresco.service.cmr.module.ModuleDetails)

Aggregations

TFile (de.schlichtherle.truezip.file.TFile)28 ModuleDetails (org.alfresco.service.cmr.module.ModuleDetails)9 Test (org.junit.Test)8 ModuleDetailsImpl (org.alfresco.repo.module.ModuleDetailsImpl)6 Properties (java.util.Properties)5 IOException (java.io.IOException)4 VersionNumber (org.alfresco.util.VersionNumber)4 TFileInputStream (de.schlichtherle.truezip.file.TFileInputStream)3 ModuleVersionNumber (org.alfresco.repo.module.ModuleVersionNumber)3 TFileOutputStream (de.schlichtherle.truezip.file.TFileOutputStream)2 TFileReader (de.schlichtherle.truezip.file.TFileReader)1 BufferedReader (java.io.BufferedReader)1 FileNotFoundException (java.io.FileNotFoundException)1 InputStream (java.io.InputStream)1 OutputStream (java.io.OutputStream)1 ArrayList (java.util.ArrayList)1 HashMap (java.util.HashMap)1 Map (java.util.Map)1 Manifest (java.util.jar.Manifest)1 AlfrescoRuntimeException (org.alfresco.error.AlfrescoRuntimeException)1