Author: ltheussl Date: Wed Apr 8 12:15:00 2009 New Revision: 763203 URL: http://svn.apache.org/viewvc?rev=763203&view=rev Log: Override default layout properties if a custom config file is found (DOXIA-305)
Modified: maven/doxia/doxia-sitetools/trunk/doxia-doc-renderer/src/main/java/org/apache/maven/doxia/docrenderer/pdf/fo/FoPdfRenderer.java Modified: maven/doxia/doxia-sitetools/trunk/doxia-doc-renderer/src/main/java/org/apache/maven/doxia/docrenderer/pdf/fo/FoPdfRenderer.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-doc-renderer/src/main/java/org/apache/maven/doxia/docrenderer/pdf/fo/FoPdfRenderer.java?rev=763203&r1=763202&r2=763203&view=diff ============================================================================== --- maven/doxia/doxia-sitetools/trunk/doxia-doc-renderer/src/main/java/org/apache/maven/doxia/docrenderer/pdf/fo/FoPdfRenderer.java (original) +++ maven/doxia/doxia-sitetools/trunk/doxia-doc-renderer/src/main/java/org/apache/maven/doxia/docrenderer/pdf/fo/FoPdfRenderer.java Wed Apr 8 12:15:00 2009 @@ -93,10 +93,7 @@ if ( outputName == null ) { - if ( getLogger().isInfoEnabled() ) - { - getLogger().info( "No outputName is defined in the document descriptor. Using 'target.pdf'" ); - } + getLogger().info( "No outputName is defined in the document descriptor. Using 'target.pdf'" ); documentModel.setOutputName( "target" ); } @@ -121,6 +118,9 @@ pdfOutputFile.getParentFile().mkdirs(); } + // copy resources, images, etc. + copyResources( outputDirectory ); + Writer writer = null; try { @@ -128,6 +128,14 @@ FoAggregateSink sink = new FoAggregateSink( writer ); + File fOConfigFile = new File( outputDirectory, "pdf-config.xml" ); + + if ( fOConfigFile.exists() ) + { + sink.load( fOConfigFile ); + getLogger().debug( "Loaded pdf config file: " + fOConfigFile.getAbsolutePath() ); + } + sink.setDocumentModel( documentModel ); sink.beginDocument(); @@ -138,10 +146,7 @@ if ( ( documentModel.getToc() == null ) || ( documentModel.getToc().getItems() == null ) ) { - if ( getLogger().isInfoEnabled() ) - { - getLogger().info( "No TOC is defined in the document descriptor. Merging all documents." ); - } + getLogger().info( "No TOC is defined in the document descriptor. Merging all documents." ); for ( Iterator j = filesToProcess.keySet().iterator(); j.hasNext(); ) { @@ -223,9 +228,6 @@ IOUtil.close( writer ); } - // copy resources, images, etc. - copyResources( outputDirectory ); - generatePdf( outputFOFile, pdfOutputFile ); }