Author: ltheussl Date: Tue Jun 2 10:20:10 2009 New Revision: 780998 URL: http://svn.apache.org/viewvc?rev=780998&view=rev Log: Extract a method to convert with a given FoUserAgent.
Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoUtils.java Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoUtils.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoUtils.java?rev=780998&r1=780997&r2=780998&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoUtils.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoUtils.java Tue Jun 2 10:20:10 2009 @@ -69,8 +69,7 @@ public static void convertFO2PDF( File fo, File pdf, String resourceDir, DocumentModel documentModel ) throws TransformerException { - FOUserAgent foUserAgent = FOP_FACTORY.newFOUserAgent(); - foUserAgent.setBaseURL( getBaseURL( fo, resourceDir ) ); + FOUserAgent foUserAgent = getDefaultUserAgent( fo, resourceDir ); if ( documentModel != null && documentModel.getMeta() != null ) { @@ -109,6 +108,26 @@ foUserAgent.setCreationDate( new Date() ); } + convertFO2PDF( fo, pdf, resourceDir, foUserAgent ); + } + + /** + * Converts an FO file to a PDF file using FOP. + * + * @param fo the FO file, not null. + * @param pdf the target PDF file, not null. + * @param resourceDir The base directory for relative path resolution, could be null. + * If null, defaults to the parent directory of fo. + * @param foUserAgent the FOUserAgent to use. + * May be null, in which case a default user agent will be used. + * @throws javax.xml.transform.TransformerException In case of a conversion problem. + * @see 1.1.1 + */ + public static void convertFO2PDF( File fo, File pdf, String resourceDir, FOUserAgent foUserAgent ) + throws TransformerException + { + FOUserAgent userAgent = ( foUserAgent == null ? getDefaultUserAgent( fo, resourceDir ) : foUserAgent ); + OutputStream out = null; try { @@ -124,7 +143,7 @@ Result res = null; try { - Fop fop = FOP_FACTORY.newFop( MimeConstants.MIME_PDF, foUserAgent, out ); + Fop fop = FOP_FACTORY.newFop( MimeConstants.MIME_PDF, userAgent, out ); res = new SAXResult( fop.getDefaultHandler() ); } catch ( FOPException e ) @@ -164,7 +183,7 @@ public static void convertFO2PDF( File fo, File pdf, String resourceDir ) throws TransformerException { - convertFO2PDF( fo, pdf, resourceDir, null ); + convertFO2PDF( fo, pdf, resourceDir, (DocumentModel) null ); } /** @@ -190,6 +209,14 @@ return url; } + private static FOUserAgent getDefaultUserAgent( File fo, String resourceDir ) + { + FOUserAgent foUserAgent = FOP_FACTORY.newFOUserAgent(); + foUserAgent.setBaseURL( getBaseURL( fo, resourceDir ) ); + + return foUserAgent; + } + private FoUtils() { // Utility class