Author: vsiveton
Date: Tue Jun  9 10:52:14 2009
New Revision: 782952

URL: http://svn.apache.org/viewvc?rev=782952&view=rev
Log:
o delete on exit tmp itext files
o use a document builder static field 

Modified:
    
maven/doxia/doxia-sitetools/trunk/doxia-doc-renderer/src/main/java/org/apache/maven/doxia/docrenderer/pdf/itext/ITextPdfRenderer.java

Modified: 
maven/doxia/doxia-sitetools/trunk/doxia-doc-renderer/src/main/java/org/apache/maven/doxia/docrenderer/pdf/itext/ITextPdfRenderer.java
URL: 
http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-doc-renderer/src/main/java/org/apache/maven/doxia/docrenderer/pdf/itext/ITextPdfRenderer.java?rev=782952&r1=782951&r2=782952&view=diff
==============================================================================
--- 
maven/doxia/doxia-sitetools/trunk/doxia-doc-renderer/src/main/java/org/apache/maven/doxia/docrenderer/pdf/itext/ITextPdfRenderer.java
 (original)
+++ 
maven/doxia/doxia-sitetools/trunk/doxia-doc-renderer/src/main/java/org/apache/maven/doxia/docrenderer/pdf/itext/ITextPdfRenderer.java
 Tue Jun  9 10:52:14 2009
@@ -35,6 +35,7 @@
 import java.util.Locale;
 import java.util.Map;
 
+import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.transform.OutputKeys;
@@ -88,9 +89,21 @@
     /** The DocumentBuilderFactory. */
     private static final DocumentBuilderFactory DOCUMENT_BUILDER_FACTORY = 
DocumentBuilderFactory.newInstance();
 
+    /** The DocumentBuilder. */
+    private static final DocumentBuilder DOCUMENT_BUILDER;
+
     static
     {
         TRANSFORMER_FACTORY.setErrorListener( new DefaultErrorHandler() );
+
+        try
+        {
+            DOCUMENT_BUILDER = DOCUMENT_BUILDER_FACTORY.newDocumentBuilder();
+        }
+        catch ( ParserConfigurationException e )
+        {
+            throw new RuntimeException( "Error building document :" + 
e.getMessage() );
+        }
     }
 
     /** {...@inheritdoc} */
@@ -260,17 +273,7 @@
     private Document generateDocument( List iTextFiles )
         throws DocumentRendererException, IOException
     {
-        Document document;
-
-        try
-        {
-            document = 
DOCUMENT_BUILDER_FACTORY.newDocumentBuilder().newDocument();
-        }
-        catch ( ParserConfigurationException e )
-        {
-            throw new DocumentRendererException( "Error building document :" + 
e.getMessage() );
-        }
-
+        Document document = DOCUMENT_BUILDER.newDocument();
         document.appendChild( document.createElement( ElementTags.ITEXT ) ); 
// Used only to set a root
 
         for ( int i = 0; i < iTextFiles.size(); i++ )
@@ -281,16 +284,12 @@
 
             try
             {
-                iTextDocument = 
DOCUMENT_BUILDER_FACTORY.newDocumentBuilder().parse( iTextFile );
+                iTextDocument = DOCUMENT_BUILDER.parse( iTextFile );
             }
             catch ( SAXException e )
             {
                 throw new DocumentRendererException( "SAX Error : " + 
e.getMessage() );
             }
-            catch ( ParserConfigurationException e )
-            {
-                throw new DocumentRendererException( "Error parsing 
configuration : " + e.getMessage() );
-            }
 
             // Only one chapter per doc
             Node chapter = iTextDocument.getElementsByTagName( 
ElementTags.CHAPTER ).item( 0 );
@@ -507,6 +506,7 @@
 
             String outputITextName = key.substring( 0, key.lastIndexOf( "." ) 
+ 1 ) + "xml";
             File outputITextFileTmp = new File( outputDirectory, 
outputITextName );
+            outputITextFileTmp.deleteOnExit();
             if ( !outputITextFileTmp.getParentFile().exists() )
             {
                 outputITextFileTmp.getParentFile().mkdirs();
@@ -563,6 +563,7 @@
                     {
                         String outputITextName = doc.substring( 0, 
doc.lastIndexOf( "." ) + 1 ) + "xml";
                         File outputITextFileTmp = new File( outputDirectory, 
outputITextName );
+                        outputITextFileTmp.deleteOnExit();
                         if ( !outputITextFileTmp.getParentFile().exists() )
                         {
                             outputITextFileTmp.getParentFile().mkdirs();
@@ -606,7 +607,7 @@
                 }
                 else
                 {
-                    return new File( f.getAbsolutePath() ).toURL().toString();
+                    return f.toURL().toString();
                 }
             }
             catch ( MalformedURLException e1 )


Reply via email to