Author: olamy Date: Wed Apr 29 20:18:23 2009 New Revision: 769909 URL: http://svn.apache.org/viewvc?rev=769909&view=rev Log: [MCHANGELOG-86] Error with outputEncoding parameter set to UTF-8 read the file as we write it
Modified: maven/plugins/trunk/maven-changelog-plugin/src/main/java/org/apache/maven/plugin/changelog/ChangeLog.java maven/plugins/trunk/maven-changelog-plugin/src/main/java/org/apache/maven/plugin/changelog/ChangeLogReport.java Modified: maven/plugins/trunk/maven-changelog-plugin/src/main/java/org/apache/maven/plugin/changelog/ChangeLog.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-changelog-plugin/src/main/java/org/apache/maven/plugin/changelog/ChangeLog.java?rev=769909&r1=769908&r2=769909&view=diff ============================================================================== --- maven/plugins/trunk/maven-changelog-plugin/src/main/java/org/apache/maven/plugin/changelog/ChangeLog.java (original) +++ maven/plugins/trunk/maven-changelog-plugin/src/main/java/org/apache/maven/plugin/changelog/ChangeLog.java Wed Apr 29 20:18:23 2009 @@ -21,16 +21,19 @@ // java imports -import org.xml.sax.SAXException; - -import javax.xml.parsers.ParserConfigurationException; -import javax.xml.parsers.SAXParser; -import javax.xml.parsers.SAXParserFactory; import java.io.IOException; import java.io.InputStream; +import java.io.Reader; import java.util.ArrayList; import java.util.List; +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.parsers.SAXParser; +import javax.xml.parsers.SAXParserFactory; + +import org.xml.sax.InputSource; +import org.xml.sax.SAXException; + /** * Change log task. It uses a ChangeLogGenerator and ChangeLogParser to create * a Collection of ChangeLogEntry objects, which are used to produce an XML @@ -61,9 +64,22 @@ SAXParser parser = SAXParserFactory.newInstance().newSAXParser(); List changeLogSets = new ArrayList(); - + parser.parse( stream, new ChangeLogHandler( changeLogSets ) ); return changeLogSets; } + + public static List loadChangedSets( Reader reader ) + throws ParserConfigurationException, SAXException, IOException + { + SAXParser parser = SAXParserFactory.newInstance().newSAXParser(); + + List changeLogSets = new ArrayList(); + + parser.parse( new InputSource( reader ), new ChangeLogHandler( changeLogSets ) ); + + return changeLogSets; + } + } // end of ChangeLog Modified: maven/plugins/trunk/maven-changelog-plugin/src/main/java/org/apache/maven/plugin/changelog/ChangeLogReport.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-changelog-plugin/src/main/java/org/apache/maven/plugin/changelog/ChangeLogReport.java?rev=769909&r1=769908&r2=769909&view=diff ============================================================================== --- maven/plugins/trunk/maven-changelog-plugin/src/main/java/org/apache/maven/plugin/changelog/ChangeLogReport.java (original) +++ maven/plugins/trunk/maven-changelog-plugin/src/main/java/org/apache/maven/plugin/changelog/ChangeLogReport.java Wed Apr 29 20:18:23 2009 @@ -19,6 +19,31 @@ * under the License. */ +import java.io.BufferedOutputStream; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.StringReader; +import java.io.UnsupportedEncodingException; +import java.io.Writer; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.Comparator; +import java.util.Date; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Locale; +import java.util.Properties; +import java.util.ResourceBundle; +import java.util.StringTokenizer; + import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.project.MavenProject; import org.apache.maven.reporting.AbstractMavenReport; @@ -42,36 +67,10 @@ import org.apache.maven.settings.Settings; import org.codehaus.doxia.sink.Sink; import org.codehaus.doxia.site.renderer.SiteRenderer; +import org.codehaus.plexus.util.ReaderFactory; import org.codehaus.plexus.util.StringUtils; import org.codehaus.plexus.util.WriterFactory; -import java.io.BufferedOutputStream; -import java.io.BufferedReader; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.PrintWriter; -import java.io.StringReader; -import java.io.UnsupportedEncodingException; -import java.io.Writer; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.Comparator; -import java.util.Date; -import java.util.HashMap; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; -import java.util.Locale; -import java.util.Properties; -import java.util.ResourceBundle; -import java.util.StringTokenizer; - /** * Generate a changelog report. * @@ -362,11 +361,12 @@ { try { - FileInputStream fIn = new FileInputStream( outputXML ); + //ReaderFactory.newReader( outputXML, outputEncoding ); + //FileInputStream fIn = new FileInputStream( outputXML ); getLog().info( "Using existing changelog.xml..." ); - changelogList = ChangeLog.loadChangedSets( fIn ); + changelogList = ChangeLog.loadChangedSets( ReaderFactory.newReader( outputXML, outputEncoding ) ); } catch ( FileNotFoundException e ) {