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 br...@apache.org on 2006/04/07 03:08:39 UTC

svn commit: r392144 - in /maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer: DefaultSiteRenderer.java DocumentRenderer.java DoxiaDocumentRenderer.java Renderer.java SiteRenderingContext.java

Author: brett
Date: Thu Apr  6 18:08:36 2006
New Revision: 392144

URL: http://svn.apache.org/viewcvs?rev=392144&view=rev
Log:
[MSITE-104] accept different input encodings
Submitted by: Trustin Lee

Modified:
    maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java
    maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DocumentRenderer.java
    maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DoxiaDocumentRenderer.java
    maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/Renderer.java
    maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/SiteRenderingContext.java

Modified: maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java
URL: http://svn.apache.org/viewcvs/maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java?rev=392144&r1=392143&r2=392144&view=diff
==============================================================================
--- maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java (original)
+++ maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java Thu Apr  6 18:08:36 2006
@@ -38,14 +38,16 @@
 import org.codehaus.plexus.velocity.VelocityComponent;
 
 import java.io.File;
+import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
-import java.io.FileReader;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.io.LineNumberReader;
 import java.io.OutputStreamWriter;
+import java.io.Reader;
+import java.io.UnsupportedEncodingException;
 import java.io.Writer;
 import java.net.MalformedURLException;
 import java.net.URL;
@@ -73,8 +75,6 @@
     extends AbstractLogEnabled
     implements Renderer
 {
-    private static final String DEFAULT_OUTPUT_ENCODING = "UTF-8";
-
     // ----------------------------------------------------------------------
     // Requirements
     // ----------------------------------------------------------------------
@@ -112,15 +112,7 @@
     public void render( Collection documents, SiteRenderingContext siteRenderingContext, File outputDirectory )
         throws RendererException, IOException
     {
-        render( documents, siteRenderingContext, outputDirectory, DEFAULT_OUTPUT_ENCODING );
-    }
-
-    // TODO [IMPORTART] fix sigs
-    public void render( Collection documents, SiteRenderingContext siteRenderingContext, File outputDirectory,
-                        String outputEncoding )
-        throws RendererException, IOException
-    {
-        renderModule( documents, siteRenderingContext, outputDirectory, outputEncoding );
+        renderModule( documents, siteRenderingContext, outputDirectory );
 
         for ( Iterator i = siteRenderingContext.getSiteDirectories().iterator(); i.hasNext(); )
         {
@@ -212,8 +204,7 @@
         }
     }
 
-    private void renderModule( Collection docs, SiteRenderingContext siteRenderingContext, File outputDirectory,
-                               String outputEncoding )
+    private void renderModule( Collection docs, SiteRenderingContext siteRenderingContext, File outputDirectory )
         throws IOException, RendererException
     {
         for ( Iterator i = docs.iterator(); i.hasNext(); )
@@ -233,8 +224,8 @@
                     outputFile.getParentFile().mkdirs();
                 }
 
-                OutputStreamWriter writer =
-                    new OutputStreamWriter( new FileOutputStream( outputFile ), outputEncoding );
+                OutputStreamWriter writer = new OutputStreamWriter( new FileOutputStream( outputFile ),
+                                                                    siteRenderingContext.getOutputEncoding() );
 
                 try
                 {
@@ -253,7 +244,7 @@
     }
 
     public void renderDocument( Writer writer, RenderingContext renderingContext, SiteRenderingContext context )
-        throws RendererException, FileNotFoundException
+        throws RendererException, FileNotFoundException, UnsupportedEncodingException
     {
         SiteRendererSink sink = new SiteRendererSink( renderingContext );
 
@@ -261,7 +252,7 @@
 
         try
         {
-            FileReader reader = new FileReader( fullPathDoc );
+            Reader reader = new InputStreamReader( new FileInputStream( fullPathDoc ), context.getInputEncoding() );
 
             doxia.parse( reader, renderingContext.getParserId(), sink );
 

Modified: maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DocumentRenderer.java
URL: http://svn.apache.org/viewcvs/maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DocumentRenderer.java?rev=392144&r1=392143&r2=392144&view=diff
==============================================================================
--- maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DocumentRenderer.java (original)
+++ maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DocumentRenderer.java Thu Apr  6 18:08:36 2006
@@ -19,6 +19,7 @@
 import org.apache.maven.doxia.module.xhtml.decoration.render.RenderingContext;
 
 import java.io.FileNotFoundException;
+import java.io.UnsupportedEncodingException;
 import java.io.Writer;
 
 /**
@@ -29,7 +30,7 @@
 public interface DocumentRenderer
 {
     void renderDocument( Writer writer, Renderer renderer, SiteRenderingContext siteRenderingContext )
-        throws RendererException, FileNotFoundException;
+        throws RendererException, FileNotFoundException, UnsupportedEncodingException;
 
     String getOutputName();
 

Modified: maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DoxiaDocumentRenderer.java
URL: http://svn.apache.org/viewcvs/maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DoxiaDocumentRenderer.java?rev=392144&r1=392143&r2=392144&view=diff
==============================================================================
--- maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DoxiaDocumentRenderer.java (original)
+++ maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DoxiaDocumentRenderer.java Thu Apr  6 18:08:36 2006
@@ -19,6 +19,7 @@
 import org.apache.maven.doxia.module.xhtml.decoration.render.RenderingContext;
 
 import java.io.FileNotFoundException;
+import java.io.UnsupportedEncodingException;
 import java.io.Writer;
 
 /**
@@ -37,7 +38,7 @@
     }
 
     public void renderDocument( Writer writer, Renderer renderer, SiteRenderingContext siteRenderingContext )
-        throws RendererException, FileNotFoundException
+        throws RendererException, FileNotFoundException, UnsupportedEncodingException
     {
         renderer.renderDocument( writer, renderingContext, siteRenderingContext );
     }

Modified: maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/Renderer.java
URL: http://svn.apache.org/viewcvs/maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/Renderer.java?rev=392144&r1=392143&r2=392144&view=diff
==============================================================================
--- maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/Renderer.java (original)
+++ maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/Renderer.java Thu Apr  6 18:08:36 2006
@@ -23,6 +23,7 @@
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.IOException;
+import java.io.UnsupportedEncodingException;
 import java.io.Writer;
 import java.net.MalformedURLException;
 import java.util.Collection;
@@ -40,10 +41,6 @@
     void render( Collection documents, SiteRenderingContext siteRenderingContext, File outputDirectory )
         throws RendererException, IOException;
 
-    void render( Collection documents, SiteRenderingContext siteRenderingContext, File outputDirectory,
-                 String outputEncoding )
-        throws RendererException, IOException;
-
     void generateDocument( Writer writer, SiteRendererSink sink, SiteRenderingContext siteRenderingContext )
         throws RendererException;
 
@@ -63,5 +60,5 @@
         throws IOException, RendererException;
 
     void renderDocument( Writer writer, RenderingContext renderingContext, SiteRenderingContext context )
-        throws RendererException, FileNotFoundException;
+        throws RendererException, FileNotFoundException, UnsupportedEncodingException;
 }

Modified: maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/SiteRenderingContext.java
URL: http://svn.apache.org/viewcvs/maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/SiteRenderingContext.java?rev=392144&r1=392143&r2=392144&view=diff
==============================================================================
--- maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/SiteRenderingContext.java (original)
+++ maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/SiteRenderingContext.java Thu Apr  6 18:08:36 2006
@@ -31,6 +31,14 @@
  */
 public class SiteRenderingContext
 {
+    private static final String DEFAULT_INPUT_ENCODING = "UTF-8";
+
+    private static final String DEFAULT_OUTPUT_ENCODING = "UTF-8";
+
+    private String inputEncoding = DEFAULT_INPUT_ENCODING;
+
+    private String outputEncoding = DEFAULT_OUTPUT_ENCODING;
+
     private String templateName;
 
     private ClassLoader templateClassLoader;
@@ -161,5 +169,25 @@
     public void setModuleExcludes( Map moduleExcludes )
     {
         this.moduleExcludes = moduleExcludes;
+    }
+
+    public String getInputEncoding()
+    {
+        return inputEncoding;
+    }
+
+    public void setInputEncoding( String inputEncoding )
+    {
+        this.inputEncoding = inputEncoding;
+    }
+
+    public String getOutputEncoding()
+    {
+        return outputEncoding;
+    }
+
+    public void setOutputEncoding( String outputEncoding )
+    {
+        this.outputEncoding = outputEncoding;
     }
 }