package org.korsakow.services.encoders; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.OutputStream; import org.apache.log4j.Logger; import org.korsakow.ide.util.FileUtil; public abstract class FileExternalEncoder implements IEncoder { protected void encode(Process process, File sourceFile, File destFile) throws EncoderException, InterruptedException { OutputStream errBuff = new ByteArrayOutputStream(); OutputStream outBuff = new ByteArrayOutputStream(); int exitCode; exitCode = FileUtil.executeProcess(process, outBuff, errBuff); Logger.getLogger(getClass()).info(outBuff.toString()); Logger.getLogger(getClass()).info(errBuff.toString()); if (0 != exitCode) { throw new EncoderException(String.format("unknown error: code=%d, output=%s", exitCode, errBuff.toString()), errBuff.toString(), sourceFile); } } }