aboutsummaryrefslogtreecommitdiffstats
path: root/filedistribution/src
diff options
context:
space:
mode:
authorHarald Musum <musum@yahooinc.com>2022-05-24 18:49:21 +0200
committerHarald Musum <musum@yahooinc.com>2022-05-24 18:49:21 +0200
commite04394ec6fa81c2eccfc3ad26c8814fd67dc44ed (patch)
tree7ad68d10bf0c1d8a0247e11c56b27d0d1aa4e43c /filedistribution/src
parentfdd9e97885fe5d1546046b15fee7de47d1617941 (diff)
Remove unintended checkin
Diffstat (limited to 'filedistribution/src')
-rw-r--r--filedistribution/src/main/java/com/yahoo/vespa/filedistribution/ZstdFileReference.java120
1 files changed, 0 insertions, 120 deletions
diff --git a/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/ZstdFileReference.java b/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/ZstdFileReference.java
deleted file mode 100644
index 4e039bc56ab..00000000000
--- a/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/ZstdFileReference.java
+++ /dev/null
@@ -1,120 +0,0 @@
-// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.vespa.filedistribution;
-
-import com.google.common.io.ByteStreams;
-import com.yahoo.compress.ZstdCompressor;
-import org.apache.commons.compress.archivers.ArchiveEntry;
-import org.apache.commons.compress.archivers.ArchiveInputStream;
-import org.apache.commons.compress.archivers.ArchiveOutputStream;
-import org.apache.commons.compress.archivers.tar.TarArchiveInputStream;
-import org.apache.commons.compress.archivers.tar.TarArchiveOutputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.List;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import java.util.stream.Collectors;
-import java.util.zip.GZIPInputStream;
-import java.util.zip.GZIPOutputStream;
-
-/**
- * Utility class for compressing and decompressing files used in a file reference
- *
- * @author hmusum
- */
-public class ZstdFileReference {
-
- private static final Logger log = Logger.getLogger(ZstdFileReference.class.getName());
- private static final int recurseDepth = 100;
-
- public static File compress(File baseDir, List<File> inputFiles, File outputFile) throws IOException {
- // Files.createTempFile(, );
- TarArchiveOutputStream archiveOutputStream = new TarArchiveOutputStream(new FileOutputStream(outputFile));
- archiveOutputStream.setLongFileMode(TarArchiveOutputStream.LONGFILE_POSIX);
- createArchiveFile(archiveOutputStream, baseDir, inputFiles);
- try (FileOutputStream out = new FileOutputStream(outputFile);
- FileInputStream in = new FileInputStream(outputFile)) {
- out.write(new ZstdCompressor().compress(in.readAllBytes(), 0, 0));
- }
- return outputFile;
- }
-
- public static File compress(File directory, File outputFile) throws IOException {
- return compress(directory, Files.find(Paths.get(directory.getAbsolutePath()),
- recurseDepth,
- (p, basicFileAttributes) -> basicFileAttributes.isRegularFile())
- .map(Path::toFile).collect(Collectors.toList()), outputFile);
- }
-
- public static byte[] compress(File baseDir, List<File> inputFiles) throws IOException {
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- TarArchiveOutputStream archiveOutputStream = new TarArchiveOutputStream(new GZIPOutputStream(out));
- archiveOutputStream.setLongFileMode(TarArchiveOutputStream.LONGFILE_POSIX);
- createArchiveFile(archiveOutputStream, baseDir, inputFiles);
- return out.toByteArray();
- }
-
- static void decompress(File inputFile, File outputDir) throws IOException {
- log.log(Level.FINE, () -> "Decompressing '" + inputFile + "' into '" + outputDir + "'");
- try (ArchiveInputStream ais = new TarArchiveInputStream(new GZIPInputStream(new FileInputStream(inputFile)))) {
- decompress(ais, outputDir);
- } catch (IllegalArgumentException e) {
- throw new RuntimeException("Unable to decompress '" + inputFile.getAbsolutePath() + "': " + e.getMessage());
- }
- }
-
- private static void decompress(ArchiveInputStream archiveInputStream, File outputFile) throws IOException {
- int entries = 0;
- ArchiveEntry entry;
- while ((entry = archiveInputStream.getNextEntry()) != null) {
- File outFile = new File(outputFile, entry.getName());
- if (entry.isDirectory()) {
- if (!(outFile.exists() && outFile.isDirectory())) {
- log.log(Level.FINE, () -> "Creating dir: " + outFile.getAbsolutePath());
- if (!outFile.mkdirs()) {
- log.log(Level.WARNING, "Could not create dir " + entry.getName());
- }
- }
- } else {
- // Create parent dir if necessary
- File parent = new File(outFile.getParent());
- if (!parent.exists() && !parent.mkdirs()) {
- log.log(Level.WARNING, "Could not create dir " + parent.getAbsolutePath());
- }
- FileOutputStream fos = new FileOutputStream(outFile);
- ByteStreams.copy(archiveInputStream, fos);
- fos.close();
- }
- entries++;
- }
- if (entries == 0) {
- throw new IllegalArgumentException("Not able to read any entries from stream (" +
- archiveInputStream.getBytesRead() + " bytes read from stream)");
- }
- }
-
- private static void createArchiveFile(ArchiveOutputStream archiveOutputStream, File baseDir, List<File> inputFiles) throws IOException {
- inputFiles.forEach(file -> {
- try {
- writeFileToTar(archiveOutputStream, baseDir, file);
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- });
- archiveOutputStream.close();
- }
-
- private static void writeFileToTar(ArchiveOutputStream taos, File baseDir, File file) throws IOException {
- log.log(Level.FINEST, () -> "Adding file to tar: " + baseDir.toPath().relativize(file.toPath()).toString());
- taos.putArchiveEntry(taos.createArchiveEntry(file, baseDir.toPath().relativize(file.toPath()).toString()));
- ByteStreams.copy(new FileInputStream(file), taos);
- taos.closeArchiveEntry();
- }
-}
-