use of net.lingala.zip4j.ZipFile in project ArachneCentralAPI by OHDSI.
the class BaseSubmissionServiceImpl method uploadCompressedResultsByDataOwner.
@Override
public void uploadCompressedResultsByDataOwner(Long submissionId, File compressedFile) throws IOException {
Submission submission = submissionRepository.getOne(submissionId);
Objects.requireNonNull(submission);
UserDetails userDetails = (UserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
IUser user = userService.getByUsername(userDetails.getUsername());
Path unzipDir = Files.createTempDirectory(String.format("submission_%d_results", submissionId));
try {
unzipWithNested(new ZipFile(compressedFile), unzipDir);
storeExtractedFiles(submission, unzipDir, user.getId());
} finally {
FileUtils.deleteDirectory(unzipDir.toFile());
}
}
use of net.lingala.zip4j.ZipFile in project ArachneCentralAPI by OHDSI.
the class AnalysisHelper method compressAndSplit.
public void compressAndSplit(ArrayList<File> files, File zipArchive) {
try {
ZipFile zipFile = new ZipFile(zipArchive.getAbsoluteFile());
ZipParameters parameters = new ZipParameters();
parameters.setCompressionMethod(CompressionMethod.DEFLATE);
parameters.setCompressionLevel(CompressionLevel.NORMAL);
zipFile.createSplitZipFile(files, parameters, true, maximumSize);
} catch (ZipException ex) {
LOGGER.error(ex.getMessage(), ex);
throw new ConverterRuntimeException(ex.getMessage());
}
}
Aggregations