package eu.europeana.cloud.service.mcs.persistent.cassandra; import org.apache.commons.io.IOUtils; import org.apache.commons.io.output.ByteArrayOutputStream; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.zip.GZIPInputStream; import java.util.zip.GZIPOutputStream; /** * Compress and decompress stream data via gzip algorithm. * * @author krystian */ public class StreamCompressor { void decompress(byte[] compressedBytes, OutputStream os) throws IOException { ByteArrayInputStream is = new ByteArrayInputStream(compressedBytes); GZIPInputStream gis = new GZIPInputStream(is); IOUtils.copy(gis, os); } byte[] compress(final InputStream is) throws IOException { ByteArrayOutputStream os = new ByteArrayOutputStream(); GZIPOutputStream gos = new GZIPOutputStream(os); IOUtils.copy(is, gos); gos.close(); return os.toByteArray(); } }