Author: jeremias
Date: Mon Feb 18 01:41:03 2008
New Revision: 628668
URL: http://svn.apache.org/viewvc?rev=628668&view=rev
Log:
Extract original exception in BasePDFTestCase.java. They are normally embedded
in a TransformerException and sometimes additionally in a SAXException
(depending on the JAXP implementation).
Restore validation for Base14 font check when PDF/A is active. Got lost when I
refactored to generic structures in the PDF library.
Modified:
xmlgraphics/fop/trunk/src/java/org/apache/fop/pdf/PDFFont.java
xmlgraphics/fop/trunk/test/java/org/apache/fop/render/pdf/BasePDFTestCase.java
Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/pdf/PDFFont.java
URL:
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/pdf/PDFFont.java?rev=628668&r1=628667&r2=628668&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/pdf/PDFFont.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/pdf/PDFFont.java Mon Feb 18
01:41:03 2008
@@ -19,6 +19,9 @@
package org.apache.fop.pdf;
+import java.io.IOException;
+import java.io.OutputStream;
+
import org.apache.fop.fonts.FontType;
/**
@@ -162,6 +165,12 @@
+ " fonts, have to be embedded! Offending font: " +
getBaseFont());
}
}
+ }
+
+ /** [EMAIL PROTECTED] */
+ protected int output(OutputStream stream) throws IOException {
+ validate();
+ return super.output(stream);
}
}
Modified:
xmlgraphics/fop/trunk/test/java/org/apache/fop/render/pdf/BasePDFTestCase.java
URL:
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/render/pdf/BasePDFTestCase.java?rev=628668&r1=628667&r2=628668&view=diff
==============================================================================
---
xmlgraphics/fop/trunk/test/java/org/apache/fop/render/pdf/BasePDFTestCase.java
(original)
+++
xmlgraphics/fop/trunk/test/java/org/apache/fop/render/pdf/BasePDFTestCase.java
Mon Feb 18 01:41:03 2008
@@ -23,12 +23,16 @@
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.sax.SAXResult;
import javax.xml.transform.stream.StreamSource;
+import org.xml.sax.SAXException;
+
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.output.ByteArrayOutputStream;
+
import org.apache.fop.AbstractFOPTestCase;
import org.apache.fop.apps.FOUserAgent;
import org.apache.fop.apps.Fop;
@@ -78,21 +82,37 @@
* @throws Exception if the conversion fails
*/
protected byte[] convertFO(File foFile, FOUserAgent ua, boolean
dumpPdfFile)
- throws Exception {
+ throws Exception {
ByteArrayOutputStream baout = new ByteArrayOutputStream();
Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, ua, baout);
Transformer transformer = tFactory.newTransformer();
Source src = new StreamSource(foFile);
SAXResult res = new SAXResult(fop.getDefaultHandler());
- transformer.transform(src, res);
- final byte[] result = baout.toByteArray();
- if (dumpPdfFile) {
- final File outFile = new File(foFile.getParentFile(),
foFile.getName() + ".pdf");
- FileUtils.writeByteArrayToFile(outFile, result);
+ try {
+ transformer.transform(src, res);
+ final byte[] result = baout.toByteArray();
+ if (dumpPdfFile) {
+ final File outFile = new File(foFile.getParentFile(),
foFile.getName() + ".pdf");
+ FileUtils.writeByteArrayToFile(outFile, result);
+ }
+ return result;
+ } catch (TransformerException e) {
+ throw extractOriginalException(e);
}
- return result;
}
+ private static Exception extractOriginalException(Exception e) {
+ if (e.getCause() != null) {
+ return extractOriginalException((Exception)e.getCause());
+ } else if (e instanceof SAXException) {
+ SAXException se = (SAXException)e;
+ if (se.getException() != null) {
+ return extractOriginalException(se.getException());
+ }
+ }
+ return e;
+ }
+
/**
* get FOP config File
* @return user config file to be used for testing
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]