You are viewing a plain text version of this content. The canonical link for it is here.
Posted to doxia-commits@maven.apache.org by vs...@apache.org on 2008/10/29 22:19:15 UTC

svn commit: r709012 - in /maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src: main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java test/java/org/apache/maven/doxia/siterenderer/DefaultSiteRendererTest.java

Author: vsiveton
Date: Wed Oct 29 14:19:15 2008
New Revision: 709012

URL: http://svn.apache.org/viewvc?rev=709012&view=rev
Log:
o using ReaderFactory and WriterFactory

Modified:
    maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java
    maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/DefaultSiteRendererTest.java

Modified: maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java?rev=709012&r1=709011&r2=709012&view=diff
==============================================================================
--- maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java (original)
+++ maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java Wed Oct 29 14:19:15 2008
@@ -22,12 +22,10 @@
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
-import java.io.FileWriter;
 import java.io.IOException;
 import java.io.InputStream;
-import java.io.InputStreamReader;
 import java.io.LineNumberReader;
-import java.io.OutputStreamWriter;
+import java.io.OutputStream;
 import java.io.Reader;
 import java.io.StringReader;
 import java.io.StringWriter;
@@ -78,6 +76,7 @@
 import org.codehaus.plexus.util.PathTool;
 import org.codehaus.plexus.util.ReaderFactory;
 import org.codehaus.plexus.util.StringUtils;
+import org.codehaus.plexus.util.WriterFactory;
 import org.codehaus.plexus.velocity.SiteResourceLoader;
 import org.codehaus.plexus.velocity.VelocityComponent;
 
@@ -306,11 +305,10 @@
                     getLogger().debug( "Generating " + outputFile );
                 }
 
-                OutputStreamWriter writer = new OutputStreamWriter( new FileOutputStream( outputFile ),
-                        siteRenderingContext.getOutputEncoding() );
-
+                Writer writer = null;
                 try
                 {
+                    writer = WriterFactory.newWriter( outputFile, siteRenderingContext.getOutputEncoding() );
                     docRenderer.renderDocument( writer, this, siteRenderingContext );
                 }
                 finally
@@ -684,35 +682,50 @@
 
             if ( resourceList != null )
             {
-                LineNumberReader reader = new LineNumberReader( new InputStreamReader( resourceList ) );
-
-                String line = reader.readLine();
-
-                while ( line != null )
+                Reader r = null;
+                try
                 {
-                    InputStream is = getClass().getClassLoader().getResourceAsStream( RESOURCE_DIR + "/" + line );
-
-                    if ( is == null )
-                    {
-                        throw new IOException( "The resource " + line + " doesn't exist." );
-                    }
+                    r = ReaderFactory.newReader( resourceList, ReaderFactory.UTF_8 );
+                    LineNumberReader reader = new LineNumberReader( r );
 
-                    File outputFile = new File( outputDirectory, line );
+                    String line = reader.readLine();
 
-                    if ( !outputFile.getParentFile().exists() )
+                    while ( line != null )
                     {
-                        outputFile.getParentFile().mkdirs();
-                    }
+                        InputStream is = getClass().getClassLoader().getResourceAsStream( RESOURCE_DIR + "/" + line );
 
-                    FileOutputStream w = new FileOutputStream( outputFile );
+                        if ( is == null )
+                        {
+                            throw new IOException( "The resource " + line + " doesn't exist." );
+                        }
 
-                    IOUtil.copy( is, w );
+                        File outputFile = new File( outputDirectory, line );
 
-                    IOUtil.close( is );
+                        if ( !outputFile.getParentFile().exists() )
+                        {
+                            outputFile.getParentFile().mkdirs();
+                        }
+
+                        OutputStream os = null;
+                        try
+                        {
+                            // for the images
+                            os = new FileOutputStream( outputFile );
+                            IOUtil.copy( is, os );
+                        }
+                        finally
+                        {
+                            IOUtil.close( os );
+                        }
 
-                    IOUtil.close( w );
+                        IOUtil.close( is );
 
-                    line = reader.readLine();
+                        line = reader.readLine();
+                    }
+                }
+                finally
+                {
+                    IOUtil.close( r );
                 }
             }
         }
@@ -742,9 +755,17 @@
                 getLogger().debug(
                     "The file '" + siteCssFile.getAbsolutePath() + "' does not exists. Creating an empty file." );
             }
-            FileWriter w = new FileWriter( siteCssFile );
-            w.write( "" );
-            IOUtil.close( w );
+
+            Writer writer = null;
+            try
+            {
+                writer = WriterFactory.newWriter( siteCssFile, siteRenderingContext.getOutputEncoding() );
+                writer.write( "" );
+            }
+            finally
+            {
+                IOUtil.close( writer );
+            }
         }
     }
 

Modified: maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/DefaultSiteRendererTest.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/DefaultSiteRendererTest.java?rev=709012&r1=709011&r2=709012&view=diff
==============================================================================
--- maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/DefaultSiteRendererTest.java (original)
+++ maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/DefaultSiteRendererTest.java Wed Oct 29 14:19:15 2008
@@ -19,6 +19,23 @@
  * under the License.
  */
 
+import java.io.File;
+import java.io.FileReader;
+import java.io.Reader;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.maven.doxia.site.decoration.DecorationModel;
+import org.apache.maven.doxia.site.decoration.io.xpp3.DecorationXpp3Reader;
+import org.codehaus.plexus.PlexusTestCase;
+import org.codehaus.plexus.util.FileUtils;
+import org.codehaus.plexus.util.IOUtil;
+import org.codehaus.plexus.util.ReaderFactory;
+
 import com.gargoylesoftware.htmlunit.CollectingAlertHandler;
 import com.gargoylesoftware.htmlunit.WebClient;
 import com.gargoylesoftware.htmlunit.html.HtmlAnchor;
@@ -40,27 +57,11 @@
 import com.gargoylesoftware.htmlunit.html.HtmlPreformattedText;
 import com.gargoylesoftware.htmlunit.html.HtmlScript;
 import com.gargoylesoftware.htmlunit.html.HtmlTable;
-import com.gargoylesoftware.htmlunit.html.HtmlTableHeaderCell;
 import com.gargoylesoftware.htmlunit.html.HtmlTableDataCell;
+import com.gargoylesoftware.htmlunit.html.HtmlTableHeaderCell;
 import com.gargoylesoftware.htmlunit.html.HtmlTableRow;
 import com.gargoylesoftware.htmlunit.html.HtmlUnorderedList;
-
 import com.gargoylesoftware.htmlunit.html.UnknownHtmlElement;
-import org.apache.maven.doxia.site.decoration.DecorationModel;
-import org.apache.maven.doxia.site.decoration.io.xpp3.DecorationXpp3Reader;
-
-import org.codehaus.plexus.PlexusTestCase;
-import org.codehaus.plexus.util.FileUtils;
-import org.codehaus.plexus.util.IOUtil;
-
-import java.io.File;
-import java.io.FileReader;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
 
 /**
  * @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
@@ -531,8 +532,17 @@
         assertNotNull( macro );
         assertTrue( macro.exists() );
 
-        String content = IOUtil.toString( new FileReader( macro ) );
-        assertEquals( content.indexOf( "</macro>" ), -1 );
+        Reader reader = null;
+        try
+        {
+            reader = ReaderFactory.newXmlReader( macro );
+            String content = IOUtil.toString( reader );
+            assertEquals( content.indexOf( "</macro>" ), -1 );
+        }
+        finally
+        {
+            IOUtil.close( reader );
+        }
     }
 
     /**