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 );
}