Author: ltheussl
Date: Fri Sep 14 00:16:21 2007
New Revision: 575568

URL: http://svn.apache.org/viewvc?rev=575568&view=rev
Log:
Adjust to changes in the FO sink. Links between different source documents 
should work now.

Modified:
    
maven/sandbox/trunk/plugins/maven-pdf-plugin/src/main/java/org/apache/maven/plugins/pdf/renderer/DefaultPdfRenderer.java

Modified: 
maven/sandbox/trunk/plugins/maven-pdf-plugin/src/main/java/org/apache/maven/plugins/pdf/renderer/DefaultPdfRenderer.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/plugins/maven-pdf-plugin/src/main/java/org/apache/maven/plugins/pdf/renderer/DefaultPdfRenderer.java?rev=575568&r1=575567&r2=575568&view=diff
==============================================================================
--- 
maven/sandbox/trunk/plugins/maven-pdf-plugin/src/main/java/org/apache/maven/plugins/pdf/renderer/DefaultPdfRenderer.java
 (original)
+++ 
maven/sandbox/trunk/plugins/maven-pdf-plugin/src/main/java/org/apache/maven/plugins/pdf/renderer/DefaultPdfRenderer.java
 Fri Sep 14 00:16:21 2007
@@ -38,7 +38,7 @@
 import org.apache.maven.doxia.docrenderer.document.io.xpp3.DocumentXpp3Reader;
 import org.apache.maven.doxia.module.site.SiteModule;
 import org.apache.maven.doxia.module.site.manager.SiteModuleManager;
-import org.apache.maven.doxia.module.fo.FoSink;
+import org.apache.maven.doxia.module.fo.FoAggregateSink;
 import org.apache.maven.doxia.module.fo.FoUtils;
 import org.apache.maven.doxia.parser.ParseException;
 import org.apache.maven.doxia.parser.manager.ParserNotFoundException;
@@ -116,7 +116,7 @@
             pdfOutputFile.getParentFile().mkdirs();
         }
 
-        FoSink sink = new FoSink( new FileWriter( outputFOFile ), /** 
aggregate */ true );
+        FoAggregateSink sink = new FoAggregateSink( new FileWriter( 
outputFOFile ) );
 
         sink.beginDocument();
 
@@ -137,6 +137,8 @@
 
                     String fullPathDoc = new File( moduleBasedir, doc 
).getPath();
 
+                    sink.setDocumentName( doc );
+
                     parse( fullPathDoc, module, sink );
                 }
             }
@@ -206,10 +208,10 @@
         }
 
 
-        FoSink sink = new FoSink( new FileWriter( outputFOFile ), /** 
aggregate */ true );
+        FoAggregateSink sink = new FoAggregateSink( new FileWriter( 
outputFOFile ) );
 
         sink.beginDocument();
-        
+
         for ( Iterator k = documentModel.getToc().getItems().iterator(); 
k.hasNext(); )
         {
             DocumentTOCItem tocItem = (DocumentTOCItem) k.next();
@@ -219,14 +221,14 @@
                 // TODO: getLogger().info( "No ref defined for an tocItem in 
the document descriptor." );
                 continue;
             }
-        
+
             String href = StringUtils.replace( tocItem.getRef(), "\\", "/" );
-            
+
             if ( href.lastIndexOf( "." ) != -1 )
             {
                 href = href.substring( 0, href.lastIndexOf( "." ) );
             }
-            
+
             for ( Iterator i = siteModuleManager.getSiteModules().iterator(); 
i.hasNext(); )
             {
                 SiteModule module = (SiteModule) i.next();
@@ -235,10 +237,14 @@
 
                 if ( moduleBasedir.exists() && !"fml".equals( 
module.getExtension() ) )
                 {
-                    File source = new File( moduleBasedir, href + "." + 
module.getExtension() );
+                    String doc = href + "." + module.getExtension();
+
+                    File source = new File( moduleBasedir, doc );
 
                     if ( source.exists() )
                     {
+                        sink.setDocumentName( doc );
+
                         parse( source.getPath(), module, sink );
                     }
                 }
@@ -259,7 +265,7 @@
      * @throws DocRendererException
      * @throws IOException
      */
-    private void parse( String fullPathDoc, SiteModule module, FoSink sink )
+    private void parse( String fullPathDoc, SiteModule module, FoAggregateSink 
sink )
         throws DocRendererException, IOException
     {
         try


Reply via email to