package edu.berkeley.lipstick.util; import edu.berkeley.lipstick.util.serializer.IDWSerializer; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.ObjectInput; import java.io.ObjectOutput; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.util.zip.GZIPInputStream; import java.util.zip.GZIPOutputStream; public class SimpleDWCompressor implements IDWSerializer { public byte[] toByteArray(DataWrapper input) throws Exception { ByteArrayOutputStream bos = new ByteArrayOutputStream(); GZIPOutputStream df = new GZIPOutputStream(bos); ObjectOutput out = new ObjectOutputStream(df); out.writeObject(input); out.close(); return bos.toByteArray(); } public DataWrapper fromByteArray(String key, byte[] input) throws Exception { ByteArrayInputStream bis = new ByteArrayInputStream(input); GZIPInputStream df = new GZIPInputStream(bis); ObjectInput in = new ObjectInputStream(df); Object o = in.readObject(); in.close(); return (DataWrapper) o; } }