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


Reply via email to