Made a few changes to try and resolve Bug #24569
- RCSFile checkstyle changes - Name hiding in ChangeLogParser, loc reduce
- rewrite of ChangeLogWriter.printEntry()
Uses a stringbuffer and prints at the end of the method, doesn't print line by line. May help with the bug, but it may indeed do nothing. It shouldn't be a problem, unless there's an error, in which case instead of a half complete entry being printed, there'll be no output at all, I doubt that this will break BC.
Index: ChangeLogParser.java =================================================================== RCS file: /home/cvspublic/ant/src/main/org/apache/tools/ant/taskdefs/cvslib/ChangeLogParser.java,v retrieving revision 1.28 diff -u -r1.28 ChangeLogParser.java --- ChangeLogParser.java 6 Dec 2004 17:35:42 -0000 1.28 +++ ChangeLogParser.java 17 Jan 2005 11:48:27 -0000 @@ -60,7 +60,6 @@ /** * Get a list of rcs entries as an array. - * * @return a list of rcs entries as an array */ public CVSEntry[] getEntrySetAsArray() { @@ -110,7 +109,6 @@ /** * Process a line while in "GET_COMMENT" state. - * * @param line the line */ private void processComment(final String line) { @@ -136,7 +134,6 @@ /** * Process a line while in "GET_FILE" state. - * * @param line the line to process */ private void processFile(final String line) { @@ -148,7 +145,6 @@ /** * Process a line while in "REVISION" state. - * * @param line the line to process */ private void processRevision(final String line) { @@ -156,15 +152,14 @@ revision = line.substring(9); status = GET_DATE; } else if (line.startsWith("======")) { - //There was no revisions in this changelog - //entry so lets move unto next file + //There were no revisions in this changelog + //entry so lets move onto next file status = GET_FILE; } } /** * Process a line while in "DATE" state. - * * @param line the line to process */ private void processDate(final String line) { @@ -183,7 +178,6 @@ /** * Process a line while in "GET_PREVIOUS_REVISION" state. - * * @param line the line to process */ private void processGetPreviousRevision(final String line) { @@ -217,13 +211,12 @@ /** * Parse date out from expected format. - * * @param date the string holding date * @return the date object or null if unknown date format */ - private Date parseDate(final String date) { + private Date parseDate(final String dateString) { try { - return INPUT_DATE.parse(date); + return INPUT_DATE.parse(dateString); } catch (ParseException e) { //final String message = REZ.getString( "changelog.bat-date.error", date ); //getContext().error( message ); Index: ChangeLogTask.java =================================================================== RCS file: /home/cvspublic/ant/src/main/org/apache/tools/ant/taskdefs/cvslib/ChangeLogTask.java,v retrieving revision 1.31 diff -u -r1.31 ChangeLogTask.java --- ChangeLogTask.java 6 Dec 2004 17:41:32 -0000 1.31 +++ ChangeLogTask.java 17 Jan 2005 11:48:27 -0000 @@ -93,7 +93,6 @@ /** * Set the base dir for cvs. - * * @param inputDir The new dir value */ public void setDir(final File inputDir) { @@ -103,7 +102,6 @@ /** * Set the output file for the log. - * * @param destFile The new destfile value */ public void setDestfile(final File destFile) { @@ -113,7 +111,6 @@ /** * Set a lookup list of user names & addresses - * * @param usersFile The file containing the users info. */ public void setUsersfile(final File usersFile) { @@ -123,7 +120,6 @@ /** * Add a user to list changelog knows about. - * * @param user the user */ public void addUser(final CvsUser user) { @@ -133,7 +129,6 @@ /** * Set the date at which the changelog should start. - * * @param start The date at which the changelog should start. */ public void setStart(final Date start) { @@ -143,7 +138,6 @@ /** * Set the date at which the changelog should stop. - * * @param endDate The date at which the changelog should stop. */ public void setEnd(final Date endDate) { @@ -153,7 +147,6 @@ /** * Set the number of days worth of log entries to process. - * * @param days the number of days of log to process. */ public void setDaysinpast(final int days) { @@ -166,7 +159,6 @@ /** * Adds a set of files about which cvs logs will be generated. - * * @param fileSet a set of files about which cvs logs will be generated. */ public void addFileset(final FileSet fileSet) { @@ -176,7 +168,6 @@ /** * Execute task - * * @exception BuildException if something goes wrong executing the * cvs command */ Index: ChangeLogWriter.java =================================================================== RCS file: /home/cvspublic/ant/src/main/org/apache/tools/ant/taskdefs/cvslib/ChangeLogWriter.java,v retrieving revision 1.16 diff -u -r1.16 ChangeLogWriter.java --- ChangeLogWriter.java 6 Dec 2004 17:45:57 -0000 1.16 +++ ChangeLogWriter.java 17 Jan 2005 11:48:27 -0000 @@ -68,35 +68,43 @@ * @param output writer to which to send output. */ private void printEntry(final PrintWriter output, final CVSEntry entry) { - output.println("\t<entry>"); - output.println("\t\t<date>" + OUTPUT_DATE.format(entry.getDate()) - + "</date>"); - output.println("\t\t<time>" + OUTPUT_DATE.format(entry.getDate()) - + "</time>"); - output.println("\t\t<author><![CDATA[" + entry.getAuthor() - + "]]></author>"); + final StringBuffer sb = new StringBuffer("\n\t<entry>"); + sb.append("\n\t\t<date>"); + sb.append(OUTPUT_DATE.format(entry.getDate())); + sb.append("</date>"); + sb.append("\n\t\t<time>"); + sb.append(OUTPUT_DATE.format(entry.getDate())); + sb.append("</time>"); + sb.append("\n\t\t<author><![CDATA["); + sb.append(entry.getAuthor()); + sb.append("]]></author>"); final Enumeration enumeration = entry.getFiles().elements(); while (enumeration.hasMoreElements()) { final RCSFile file = (RCSFile) enumeration.nextElement(); - - output.println("\t\t<file>"); - output.println("\t\t\t<name><![CDATA[" + file.getName() + "]]></name>"); - output.println("\t\t\t<revision>" + file.getRevision() - + "</revision>"); - + + sb.append("\n\t\t<file>"); + sb.append("\n\t\t\t<name><![CDATA["); + sb.append(file.getName()); + sb.append("]]></name>"); + sb.append("\n\t\t\t<revision>"); + sb.append(file.getRevision()); + sb.append("</revision>"); final String previousRevision = file.getPreviousRevision(); if (previousRevision != null) { - output.println("\t\t\t<prevrevision>" + previousRevision - + "</prevrevision>"); + sb.append("\n\t\t\t<prevrevision>"); + sb.append(previousRevision); + sb.append("</prevrevision>"); } - - output.println("\t\t</file>"); + sb.append("\n\t\t</file>"); } - output.println("\t\t<msg><![CDATA[" + entry.getComment() + "]]></msg>"); - output.println("\t</entry>"); + sb.append("\n\t\t<msg><![CDATA["); + sb.append(entry.getComment()); + sb.append("]]></msg>"); + sb.append("\n\t</entry>"); + output.print(sb.toString()); } } Index: RCSFile.java =================================================================== RCS file: /home/cvspublic/ant/src/main/org/apache/tools/ant/taskdefs/cvslib/RCSFile.java,v retrieving revision 1.9 diff -u -r1.9 RCSFile.java --- RCSFile.java 9 Mar 2004 16:48:14 -0000 1.9 +++ RCSFile.java 17 Jan 2005 11:48:27 -0000 @@ -22,9 +22,9 @@ * @version $Revision: 1.9 $ $Date: 2004/03/09 16:48:14 $ */ class RCSFile { - private String m_name; - private String m_revision; - private String m_previousRevision; + private String name; + private String revision; + private String previousRevision; RCSFile(final String name, final String rev) { @@ -35,26 +35,35 @@ RCSFile(final String name, final String revision, final String previousRevision) { - m_name = name; - m_revision = revision; + this.name = name; + this.revision = revision; if (!revision.equals(previousRevision)) { - m_previousRevision = previousRevision; + this.previousRevision = previousRevision; } } - + /** + * Gets the name of the RCSFile + * @return name of the file + */ String getName() { - return m_name; + return name; } - + /** + * Gets the revision number of the RCSFile + * @return the revision number (as String) + */ String getRevision() { - return m_revision; + return revision; } - + /** + * Gets the previous revision of the RCSFile + * @return the previous revision number (as String) + */ String getPreviousRevision() { - return m_previousRevision; + return previousRevision; } }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]