001
014
015 package com.liferay.portal.kernel.process;
016
017 import com.liferay.portal.kernel.io.unsync.UnsyncByteArrayOutputStream;
018 import com.liferay.portal.kernel.util.StreamUtil;
019
020 import java.io.IOException;
021 import java.io.InputStream;
022
023
026 public class CollectorOutputProcessor
027 implements OutputProcessor<byte[], byte[]> {
028
029 @Override
030 public byte[] processStdErr(InputStream stdErrInputStream)
031 throws ProcessException {
032
033 return _collect(stdErrInputStream);
034 }
035
036 @Override
037 public byte[] processStdOut(InputStream stdOutInputStream)
038 throws ProcessException {
039
040 return _collect(stdOutInputStream);
041 }
042
043 private byte[] _collect(InputStream inputStream) throws ProcessException {
044 UnsyncByteArrayOutputStream unsyncByteArrayOutputStream =
045 new UnsyncByteArrayOutputStream();
046
047 try {
048 StreamUtil.transfer(inputStream, unsyncByteArrayOutputStream);
049 }
050 catch (IOException ioe) {
051 throw new ProcessException(ioe);
052 }
053
054 return unsyncByteArrayOutputStream.toByteArray();
055 }
056
057 }