/** * */ package at.gv.egiz.pdfas.impl.input; import java.util.List; import at.gv.egiz.pdfas.impl.input.helper.DataSourceHelper; import at.gv.egiz.pdfas.exceptions.ErrorCode; import at.gv.egiz.pdfas.framework.input.PdfDataSource; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import at.knowcenter.wag.egov.egiz.exceptions.PDFDocumentException; import at.knowcenter.wag.exactparser.ParseDocument; /** * Parses the given PDF document into a list of Incremental Update blocks. * @author wprinz */ public class IncrementalUpdateParser { /** * The log. */ private static final Log log = LogFactory.getLog(IncrementalUpdateParser.class); public static List parsePdfIntoIUBlocks (PdfDataSource pdfDataSource) throws PDFDocumentException { log.trace("parsePdfIntoIUBlocks:"); List blocks = null; try { byte [] pdf = DataSourceHelper.convertDataSourceToByteArray(pdfDataSource); blocks = ParseDocument.parseDocument(pdf); } catch (Exception e) { log.error("Error while parsing Document into IU blocks.", e); throw new PDFDocumentException(ErrorCode.DOCUMENT_CANNOT_BE_READ, e); } log.trace("parsePdfIntoIUBlocks finished."); return blocks; } }