Author: vsiveton
Date: Mon Nov 12 05:56:56 2007
New Revision: 594142

URL: http://svn.apache.org/viewvc?rev=594142&view=rev
Log:
o encoding support and finalize()

Modified:
    
maven/sandbox/trunk/jxr/maven-jxr/maven-jxr-java/src/main/java/org/apache/maven/jxr/java/src/html/Pass1.java
    
maven/sandbox/trunk/jxr/maven-jxr/maven-jxr-java/src/main/java/org/apache/maven/jxr/java/src/html/Pass2.java

Modified: 
maven/sandbox/trunk/jxr/maven-jxr/maven-jxr-java/src/main/java/org/apache/maven/jxr/java/src/html/Pass1.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/jxr/maven-jxr/maven-jxr-java/src/main/java/org/apache/maven/jxr/java/src/html/Pass1.java?rev=594142&r1=594141&r2=594142&view=diff
==============================================================================
--- 
maven/sandbox/trunk/jxr/maven-jxr/maven-jxr-java/src/main/java/org/apache/maven/jxr/java/src/html/Pass1.java
 (original)
+++ 
maven/sandbox/trunk/jxr/maven-jxr/maven-jxr-java/src/main/java/org/apache/maven/jxr/java/src/html/Pass1.java
 Mon Nov 12 05:56:56 2007
@@ -19,7 +19,6 @@
  * under the License.
  */
 
-import java.io.BufferedOutputStream;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
@@ -45,6 +44,7 @@
 import org.apache.maven.jxr.java.src.xref.FileListener;
 import org.apache.maven.jxr.java.src.xref.JavaXref;
 import org.codehaus.plexus.util.FileUtils;
+import org.codehaus.plexus.util.IOUtil;
 import org.codehaus.plexus.util.StringUtils;
 
 import antlr.ANTLRException;
@@ -217,6 +217,8 @@
         println( "Persisting references" );
 
         symbolTable.persistRefs( getDestDir() );
+
+        symbolTable.finalize();
     }
 
     // ----------------------------------------------------------------------
@@ -288,7 +290,16 @@
 
         createDirs( f );
 
-        HTMLOutputWriter output = new LineOutputWriter( new 
BufferedOutputStream( new FileOutputStream( f ) ) );
+        FileOutputStream fos = new FileOutputStream( f );
+        HTMLOutputWriter output;
+        if ( StringUtils.isNotEmpty( getOptions().getDocencoding() ) )
+        {
+            output = new LineOutputWriter( fos, getOptions().getDocencoding() 
);
+        }
+        else
+        {
+            output = new LineOutputWriter( fos );
+        }
         String backup = getBackupPath( tagList, element );
         String encoding = ( StringUtils.isNotEmpty( 
getOptions().getDocencoding() ) ? getOptions().getDocencoding()
                                                                                
    : DEFAULT_DOCENCODING );
@@ -343,11 +354,10 @@
             currentChar = input.read();
         }
 
-        input.close();
         output.write( "</PRE>\n", 0, 7 );
         output.write( "</BODY></HTML>" );
-        output.flush();
-        output.close();
+        IOUtil.close( output );
+        IOUtil.close( input );
     }
 
     /**
@@ -759,7 +769,6 @@
                     }
                     else
                     {
-
                         input = new LineNumberReader( new InputStreamReader( 
is ) );
                     }
                     output = createClassFile( sortedList, i );

Modified: 
maven/sandbox/trunk/jxr/maven-jxr/maven-jxr-java/src/main/java/org/apache/maven/jxr/java/src/html/Pass2.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/jxr/maven-jxr/maven-jxr-java/src/main/java/org/apache/maven/jxr/java/src/html/Pass2.java?rev=594142&r1=594141&r2=594142&view=diff
==============================================================================
--- 
maven/sandbox/trunk/jxr/maven-jxr/maven-jxr-java/src/main/java/org/apache/maven/jxr/java/src/html/Pass2.java
 (original)
+++ 
maven/sandbox/trunk/jxr/maven-jxr/maven-jxr-java/src/main/java/org/apache/maven/jxr/java/src/html/Pass2.java
 Mon Nov 12 05:56:56 2007
@@ -19,7 +19,6 @@
  * under the License.
  */
 
-import java.io.BufferedOutputStream;
 import java.io.BufferedReader;
 import java.io.BufferedWriter;
 import java.io.File;
@@ -44,6 +43,7 @@
 import org.apache.log4j.Logger;
 import org.apache.maven.jxr.java.src.JavaSrcOptions;
 import org.apache.maven.jxr.java.src.symtab.ReferenceTypes;
+import org.codehaus.plexus.util.IOUtil;
 import org.codehaus.plexus.util.StringUtils;
 
 import com.thoughtworks.qdox.JavaDocBuilder;
@@ -194,7 +194,15 @@
         // load the entire file
         String line;
         FileInputStream fis = new FileInputStream( refFile );
-        InputStreamReader isr = new InputStreamReader( fis );
+        InputStreamReader isr;
+        if ( StringUtils.isNotEmpty( getOptions().getEncoding() ) )
+        {
+            isr = new InputStreamReader( fis, getOptions().getEncoding() );
+        }
+        else
+        {
+            isr = new InputStreamReader( fis );
+        }
         BufferedReader br = new BufferedReader( isr );
         Vector v = new Vector();
 
@@ -203,12 +211,11 @@
             v.addElement( line );
         }
 
-        br.close();
-        isr.close();
-        fis.close();
+        IOUtil.close( br );
+        IOUtil.close( isr );
+        IOUtil.close( fis );
 
         String[] lines = new String[v.size()];
-
         v.copyInto( lines );
 
         // sort the lines
@@ -301,8 +308,7 @@
         throws IOException
     {
         bw.write( "</body></html>" );
-        bw.flush();
-        bw.close();
+        IOUtil.close( bw );
 
         if ( log.isDebugEnabled() )
         {
@@ -336,9 +342,9 @@
         File outFile = new File( rootDir, relPath );
         FileOutputStream fos = new FileOutputStream( outFile );
         OutputStreamWriter fw;
-        if ( StringUtils.isNotEmpty( getOptions().getEncoding() ) )
+        if ( StringUtils.isNotEmpty( getOptions().getDocencoding() ) )
         {
-            fw = new OutputStreamWriter( fos, getOptions().getEncoding() );
+            fw = new OutputStreamWriter( fos, getOptions().getDocencoding() );
         }
         else
         {
@@ -530,7 +536,17 @@
 
             createDirs( file );
 
-            pw = new PrintWriter( new BufferedOutputStream( new 
FileOutputStream( file ) ) );
+            FileOutputStream fos = new FileOutputStream( file );
+            OutputStreamWriter fw;
+            if ( StringUtils.isNotEmpty( getOptions().getDocencoding() ) )
+            {
+                fw = new OutputStreamWriter( fos, 
getOptions().getDocencoding() );
+            }
+            else
+            {
+                fw = new OutputStreamWriter( fos );
+            }
+            pw = new PrintWriter( fw );
 
             pw.println( "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 
Transitional//EN\" "
                 + "\"http://www.w3.org/TR/html4/loose.dtd\";>" );
@@ -584,7 +600,7 @@
 
             pw.println( "</BODY>" );
             pw.println( "</HTML>" );
-            pw.close();
+            IOUtil.close( pw );
         }
 
         println( totalClassCount + " classes total" );
@@ -721,7 +737,18 @@
 
         createDirs( file );
 
-        PrintWriter pw = new PrintWriter( new BufferedOutputStream( new 
FileOutputStream( file ) ) );
+        FileOutputStream fos = new FileOutputStream( file );
+        OutputStreamWriter fw;
+        if ( StringUtils.isNotEmpty( getOptions().getDocencoding() ) )
+        {
+            fw = new OutputStreamWriter( fos, getOptions().getDocencoding() );
+        }
+        else
+        {
+            fw = new OutputStreamWriter( fos );
+        }
+
+        PrintWriter pw = new PrintWriter( fw );
 
         pw.println( "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 
Frameset//EN\" "
             + "\"http://www.w3.org/TR/html4/frameset.dtd\";>" );
@@ -775,7 +802,7 @@
         pw.println( "  </FRAMESET>" );
         pw.println( "</FRAMESET>" );
         pw.println( "</HTML>" );
-        pw.close();
+        IOUtil.close( pw );
     }
 
     /**
@@ -793,7 +820,18 @@
 
         createDirs( file );
 
-        PrintWriter pw = new PrintWriter( new BufferedOutputStream( new 
FileOutputStream( file ) ) );
+        FileOutputStream fos = new FileOutputStream( file );
+        OutputStreamWriter fw;
+        if ( StringUtils.isNotEmpty( getOptions().getDocencoding() ) )
+        {
+            fw = new OutputStreamWriter( fos, getOptions().getDocencoding() );
+        }
+        else
+        {
+            fw = new OutputStreamWriter( fos );
+        }
+        PrintWriter pw = new PrintWriter( fw );
+
         Iterator iter = packageNames.iterator();
 
         pw.println( "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 
Transitional//EN\" "
@@ -862,7 +900,7 @@
         pw.println( "</BODY>" );
         pw.println( "</HTML>" );
 
-        pw.close();
+        IOUtil.close( pw );
     }
 
     /**
@@ -878,7 +916,17 @@
 
         createDirs( file );
 
-        PrintWriter pw = new PrintWriter( new FileOutputStream( file ) );
+        FileOutputStream fos = new FileOutputStream( file );
+        OutputStreamWriter fw;
+        if ( StringUtils.isNotEmpty( getOptions().getDocencoding() ) )
+        {
+            fw = new OutputStreamWriter( fos, getOptions().getDocencoding() );
+        }
+        else
+        {
+            fw = new OutputStreamWriter( fos );
+        }
+        PrintWriter pw = new PrintWriter( fw );
 
         pw.println( "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 
Transitional//EN\" "
             + "\"http://www.w3.org/TR/html4/loose.dtd\";>" );
@@ -931,7 +979,7 @@
 
         pw.println( "</BODY>" );
         pw.println( "</HTML>" );
-        pw.close();
+        IOUtil.close( pw );
     }
 
     /**
@@ -984,7 +1032,17 @@
 
             createDirs( file );
 
-            pw = new PrintWriter( new BufferedOutputStream( new 
FileOutputStream( file ) ) );
+            FileOutputStream fos = new FileOutputStream( file );
+            OutputStreamWriter fw;
+            if ( StringUtils.isNotEmpty( getOptions().getDocencoding() ) )
+            {
+                fw = new OutputStreamWriter( fos, 
getOptions().getDocencoding() );
+            }
+            else
+            {
+                fw = new OutputStreamWriter( fos );
+            }
+            pw = new PrintWriter( fw );
 
             pw.println( "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 
Transitional//EN\" "
                 + "\"http://www.w3.org/TR/html4/loose.dtd\";>" );
@@ -1107,7 +1165,7 @@
             }
             pw.println( "</BODY>" );
             pw.println( "</HTML>" );
-            pw.close();
+            IOUtil.close( pw );
         }
     }
 
@@ -1206,7 +1264,17 @@
 
         createDirs( file );
 
-        PrintWriter pw = new PrintWriter( new FileOutputStream( file ) );
+        FileOutputStream fos = new FileOutputStream( file );
+        OutputStreamWriter fw;
+        if ( StringUtils.isNotEmpty( getOptions().getDocencoding() ) )
+        {
+            fw = new OutputStreamWriter( fos, getOptions().getDocencoding() );
+        }
+        else
+        {
+            fw = new OutputStreamWriter( fos );
+        }
+        PrintWriter pw = new PrintWriter( fw );
 
         pw.println( "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 
Transitional//EN\" "
             + "\"http://www.w3.org/TR/html4/loose.dtd\";>" );
@@ -1303,7 +1371,7 @@
 
         pw.println( "</BODY>" );
         pw.println( "</HTML>" );
-        pw.close();
+        IOUtil.close( pw );
     }
 
     private void createOverviewSummaryFrameExtras( PrintWriter pw, boolean top 
)


Reply via email to