Example usage for org.bouncycastle.cms.jcajce ZlibCompressor ZlibCompressor

List of usage examples for org.bouncycastle.cms.jcajce ZlibCompressor ZlibCompressor

Introduction

In this page you can find the example usage for org.bouncycastle.cms.jcajce ZlibCompressor ZlibCompressor.

Prototype

ZlibCompressor

Source Link

Usage

From source file:de.mendelson.comm.as2.message.AS2MessageCreation.java

/**
 * Compresses the payload using the ZLIB algorithm
 *///from ww w. j  ava  2 s  .c  om
private MimeBodyPart compressPayload(Partner receiver, InputStream dataStream, String contentType)
        throws Exception {
    MimeBodyPart bodyPart = new MimeBodyPart();
    bodyPart.setDataHandler(new DataHandler(new ByteArrayDataSource(dataStream, contentType)));
    bodyPart.addHeader("Content-Type", contentType);
    if (receiver.getContentTransferEncoding() == AS2Message.CONTENT_TRANSFER_ENCODING_BASE64) {
        bodyPart.addHeader("Content-Transfer-Encoding", "base64");
    } else {
        bodyPart.addHeader("Content-Transfer-Encoding", "binary");
    }
    SMIMECompressedGenerator generator = new SMIMECompressedGenerator();
    if (receiver.getContentTransferEncoding() == AS2Message.CONTENT_TRANSFER_ENCODING_BASE64) {
        generator.setContentTransferEncoding("base64");
    } else {
        generator.setContentTransferEncoding("binary");
    }
    return (generator.generate(bodyPart, new ZlibCompressor()));
}

From source file:de.mendelson.comm.as2.message.AS2MessageCreation.java

/**
 * Compresses the payload using the ZLIB algorithm
 *///from ww  w. ja v a 2s.  c  o m
private MimeBodyPart compressPayload(Partner receiver, Part contentPart) throws SMIMEException {
    SMIMECompressedGenerator generator = new SMIMECompressedGenerator();
    if (receiver.getContentTransferEncoding() == AS2Message.CONTENT_TRANSFER_ENCODING_BASE64) {
        generator.setContentTransferEncoding("base64");
    } else {
        generator.setContentTransferEncoding("binary");
    }
    if (contentPart instanceof MimeBodyPart) {
        return (generator.generate((MimeBodyPart) contentPart, new ZlibCompressor()));
    } else if (contentPart instanceof MimeMessage) {
        return (generator.generate((MimeMessage) contentPart, new ZlibCompressor()));
    } else {
        throw new IllegalArgumentException(
                "compressPayload: Unable to compress a Part of class " + contentPart.getClass().getName());
    }
}

From source file:de.mendelson.util.security.BCCryptoHelper.java

/**
 * Compress a data stream//from   w w  w  .  ja va  2s  . c  o m
 */
public void compressCMS(InputStream uncompressed, OutputStream compressed, boolean inMemory) throws Exception {
    //streamed compression does not work without a stream buffer in bc 1.45 and before
    CMSCompressedDataStreamGenerator generator = new CMSCompressedDataStreamGenerator();
    if (inMemory) {
        ByteArrayOutputStream memBuffer = new ByteArrayOutputStream();
        OutputStream cOut = generator.open(memBuffer, new ZlibCompressor());
        this.copyStreams(uncompressed, cOut);
        cOut.flush();
        cOut.close();
        compressed.write(memBuffer.toByteArray());
    } else {
        File tempFile = File.createTempFile("compress", ".temp");
        FileOutputStream fileBuffer = null;
        try {
            fileBuffer = new FileOutputStream(tempFile);
            OutputStream cOut = generator.open(fileBuffer, new ZlibCompressor());
            this.copyStreams(uncompressed, cOut);
            cOut.flush();
            cOut.close();
        } finally {
            if (fileBuffer != null) {
                fileBuffer.flush();
                fileBuffer.close();
            }
        }
        FileInputStream fileIn = null;
        try {
            fileIn = new FileInputStream(tempFile);
            this.copyStreams(fileIn, compressed);
        } finally {
            if (fileIn != null) {
                fileIn.close();
            }
        }
        boolean deleted = tempFile.delete();
    }
}