Sorry no unit tests
Kev
Index: CVSEntry.java =================================================================== RCS file: /home/cvspublic/ant/src/main/org/apache/tools/ant/taskdefs/cvslib/CVSEntry.java,v retrieving revision 1.12 diff -u -r1.12 CVSEntry.java --- CVSEntry.java 9 Mar 2004 16:48:14 -0000 1.12 +++ CVSEntry.java 6 Dec 2004 10:16:39 -0000 @@ -24,46 +24,86 @@ * * @version $Revision: 1.12 $ $Date: 2004/03/09 16:48:14 $ */ -class CVSEntry { - private Date m_date; - private String m_author; - private final String m_comment; - private final Vector m_files = new Vector(); - - public CVSEntry(Date date, String author, String comment) { - m_date = date; - m_author = author; - m_comment = comment; - } - - public void addFile(String file, String revision) { - m_files.addElement(new RCSFile(file, revision)); - } - - public void addFile(String file, String revision, String previousRevision) { - m_files.addElement(new RCSFile(file, revision, previousRevision)); - } - - Date getDate() { - return m_date; - } - - void setAuthor(final String author) { - m_author = author; - } - - String getAuthor() { - return m_author; - } - - String getComment() { - return m_comment; - } - - Vector getFiles() { - return m_files; - } - +public class CVSEntry { + private Date date; + private String author; + private final String comment; + private final Vector files = new Vector(); + + /** + * Creates a new instance of a CVSEntry + * @param date the date + * @param author the author + * @param comment a comment to be added to the revision + */ + public CVSEntry(final Date date, final String author, final String comment) { + this.date = date; + this.author = author; + this.comment = comment; + } + + /** + * Adds a file to the CVSEntry + * @param file the file to add + * @param revision the revision + */ + public void addFile(final String file, final String revision) { + files.addElement(new RCSFile(file, revision)); + } + + /** + * Adds a file to the CVSEntry + * @param file the file to add + * @param revision the revision + * @param previousRevision the previous revision + */ + public void addFile(final String file, final String revision, final String previousRevision) { + files.addElement(new RCSFile(file, revision, previousRevision)); + } + + /** + * Gets the date of the CVSEntry + * @return the date + */ + public Date getDate() { + return date; + } + + /** + * Sets the author of the CVSEntry + * @param author the author + */ + public void setAuthor(final String author) { + this.author = author; + } + + /** + * Gets the author of the CVSEntry + * @return the author + */ + public String getAuthor() { + return author; + } + + /** + * Gets the comment for the CVSEntry + * @return the comment + */ + public String getComment() { + return comment; + } + + /** + * Gets the files in this CVSEntry + * @return the files + */ + public Vector getFiles() { + return files; + } + + /** + * Gets a String containing author, date, files and comment + */ public String toString() { return getAuthor() + "\n" + getDate() + "\n" + getFiles() + "\n" + getComment(); Index: ChangeLogParser.java =================================================================== RCS file: /home/cvspublic/ant/src/main/org/apache/tools/ant/taskdefs/cvslib/ChangeLogParser.java,v retrieving revision 1.27 diff -u -r1.27 ChangeLogParser.java --- ChangeLogParser.java 9 Mar 2004 16:48:14 -0000 1.27 +++ ChangeLogParser.java 6 Dec 2004 10:16:39 -0000 @@ -37,35 +37,35 @@ private static final int GET_PREVIOUS_REV = 5; /** input format for dates read in from cvs log */ - private static final SimpleDateFormat c_inputDate + private static final SimpleDateFormat inputDate = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); static { TimeZone utc = TimeZone.getTimeZone("UTC"); - c_inputDate.setTimeZone(utc); + inputDate.setTimeZone(utc); } //The following is data used while processing stdout of CVS command - private String m_file; - private String m_date; - private String m_author; - private String m_comment; - private String m_revision; - private String m_previousRevision; + private String file; + private String date; + private String author; + private String comment; + private String revision; + private String previousRevision; - private int m_status = GET_FILE; + private int status = GET_FILE; /** rcs entries */ - private final Hashtable m_entries = new Hashtable(); + private final Hashtable entries = new Hashtable(); /** * Get a list of rcs entries as an array. * * @return a list of rcs entries as an array */ - CVSEntry[] getEntrySetAsArray() { - final CVSEntry[] array = new CVSEntry[ m_entries.size() ]; - Enumeration e = m_entries.elements(); + public CVSEntry[] getEntrySetAsArray() { + final CVSEntry[] array = new CVSEntry[ entries.size() ]; + Enumeration e = entries.elements(); int i = 0; while (e.hasMoreElements()) { array[i++] = (CVSEntry) e.nextElement(); @@ -76,9 +76,10 @@ /** * Receive notification about the process writing * to standard output. + * @param line the line to process */ public void stdout(final String line) { - switch(m_status) { + switch(status) { case GET_FILE: // make sure attributes are reset when // working on a 'new' file. @@ -114,110 +115,110 @@ //We have ended changelog for that particular file //so we can save it final int end - = m_comment.length() - lineSeparator.length(); //was -1 - m_comment = m_comment.substring(0, end); + = comment.length() - lineSeparator.length(); //was -1 + comment = comment.substring(0, end); saveEntry(); - m_status = GET_FILE; + status = GET_FILE; } else if (line.equals("----------------------------")) { final int end - = m_comment.length() - lineSeparator.length(); //was -1 - m_comment = m_comment.substring(0, end); - m_status = GET_PREVIOUS_REV; + = comment.length() - lineSeparator.length(); //was -1 + comment = comment.substring(0, end); + status = GET_PREVIOUS_REV; } else { - m_comment += line + lineSeparator; + comment += line + lineSeparator; } } /** * Process a line while in "GET_FILE" state. * - * @param line the line + * @param line the line to process */ private void processFile(final String line) { if (line.startsWith("Working file:")) { - m_file = line.substring(14, line.length()); - m_status = GET_REVISION; + file = line.substring(14, line.length()); + status = GET_REVISION; } } /** * Process a line while in "REVISION" state. * - * @param line the line + * @param line the line to process */ private void processRevision(final String line) { if (line.startsWith("revision")) { - m_revision = line.substring(9); - m_status = GET_DATE; + 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 - m_status = GET_FILE; + status = GET_FILE; } } /** * Process a line while in "DATE" state. * - * @param line the line + * @param line the line to process */ private void processDate(final String line) { if (line.startsWith("date:")) { - m_date = line.substring(6, 25); + date = line.substring(6, 25); String lineData = line.substring(line.indexOf(";") + 1); - m_author = lineData.substring(10, lineData.indexOf(";")); + author = lineData.substring(10, lineData.indexOf(";")); - m_status = GET_COMMENT; + status = GET_COMMENT; //Reset comment to empty here as we can accumulate multiple lines //in the processComment method - m_comment = ""; + comment = ""; } } /** * Process a line while in "GET_PREVIOUS_REVISION" state. * - * @param line the line + * @param line the line to process */ private void processGetPreviousRevision(final String line) { if (!line.startsWith("revision")) { throw new IllegalStateException("Unexpected line from CVS: " + line); } - m_previousRevision = line.substring(9); + previousRevision = line.substring(9); saveEntry(); - m_revision = m_previousRevision; - m_status = GET_DATE; + revision = previousRevision; + status = GET_DATE; } /** * Utility method that saves the current entry. */ private void saveEntry() { - final String entryKey = m_date + m_author + m_comment; + final String entryKey = date + author + comment; CVSEntry entry; - if (!m_entries.containsKey(entryKey)) { - entry = new CVSEntry(parseDate(m_date), m_author, m_comment); - m_entries.put(entryKey, entry); + if (!entries.containsKey(entryKey)) { + entry = new CVSEntry(parseDate(date), author, comment); + entries.put(entryKey, entry); } else { - entry = (CVSEntry) m_entries.get(entryKey); + entry = (CVSEntry) entries.get(entryKey); } - entry.addFile(m_file, m_revision, m_previousRevision); + entry.addFile(file, revision, previousRevision); } /** * Parse date out from expected format. * - * @param date the string holding dat + * @param date the string holding date * @return the date object or null if unknown date format */ private Date parseDate(final String date) { try { - return c_inputDate.parse(date); + return inputDate.parse(date); } catch (ParseException e) { //final String message = REZ.getString( "changelog.bat-date.error", date ); //getContext().error( message ); @@ -226,15 +227,14 @@ } /** - * reset all internal attributes except status. + * Reset all internal attributes except status. */ - private void reset() { - m_file = null; - m_date = null; - m_author = null; - m_comment = null; - m_revision = null; - m_previousRevision = null; + public void reset() { + this.file = null; + this.date = null; + this.author = null; + this.comment = null; + this.revision = null; + this.previousRevision = null; } - } Index: ChangeLogTask.java =================================================================== RCS file: /home/cvspublic/ant/src/main/org/apache/tools/ant/taskdefs/cvslib/ChangeLogTask.java,v retrieving revision 1.30 diff -u -r1.30 ChangeLogTask.java --- ChangeLogTask.java 9 Mar 2004 16:48:14 -0000 1.30 +++ ChangeLogTask.java 6 Dec 2004 10:16:39 -0000 @@ -31,35 +31,34 @@ import org.apache.tools.ant.BuildException; import org.apache.tools.ant.DirectoryScanner; import org.apache.tools.ant.Project; -import org.apache.tools.ant.taskdefs.Execute; import org.apache.tools.ant.taskdefs.AbstractCvsTask; -import org.apache.tools.ant.types.Commandline; import org.apache.tools.ant.types.FileSet; +import org.apache.tools.ant.util.FileUtils; /** * Examines the output of cvs log and group related changes together. * * It produces an XML output representing the list of changes. - * <PRE> - * <FONT color=#0000ff><!-- Root element --></FONT> - * <FONT color=#6a5acd><!ELEMENT</FONT> changelog <FONT color=#ff00ff>(entry</FONT><FONT color=#ff00ff>+</FONT><FONT color=#ff00ff>)</FONT><FONT color=#6a5acd>></FONT> - * <FONT color=#0000ff><!-- CVS Entry --></FONT> - * <FONT color=#6a5acd><!ELEMENT</FONT> entry <FONT color=#ff00ff>(date,author,file</FONT><FONT color=#ff00ff>+</FONT><FONT color=#ff00ff>,msg)</FONT><FONT color=#6a5acd>></FONT> - * <FONT color=#0000ff><!-- Date of cvs entry --></FONT> - * <FONT color=#6a5acd><!ELEMENT</FONT> date <FONT color=#ff00ff>(#PCDATA)</FONT><FONT color=#6a5acd>></FONT> - * <FONT color=#0000ff><!-- Author of change --></FONT> - * <FONT color=#6a5acd><!ELEMENT</FONT> author <FONT color=#ff00ff>(#PCDATA)</FONT><FONT color=#6a5acd>></FONT> - * <FONT color=#0000ff><!-- List of files affected --></FONT> - * <FONT color=#6a5acd><!ELEMENT</FONT> msg <FONT color=#ff00ff>(#PCDATA)</FONT><FONT color=#6a5acd>></FONT> - * <FONT color=#0000ff><!-- File changed --></FONT> - * <FONT color=#6a5acd><!ELEMENT</FONT> file <FONT color=#ff00ff>(name,revision,prevrevision</FONT><FONT color=#ff00ff>?</FONT><FONT color=#ff00ff>)</FONT><FONT color=#6a5acd>></FONT> - * <FONT color=#0000ff><!-- Name of the file --></FONT> - * <FONT color=#6a5acd><!ELEMENT</FONT> name <FONT color=#ff00ff>(#PCDATA)</FONT><FONT color=#6a5acd>></FONT> - * <FONT color=#0000ff><!-- Revision number --></FONT> - * <FONT color=#6a5acd><!ELEMENT</FONT> revision <FONT color=#ff00ff>(#PCDATA)</FONT><FONT color=#6a5acd>></FONT> - * <FONT color=#0000ff><!-- Previous revision number --></FONT> - * <FONT color=#6a5acd><!ELEMENT</FONT> prevrevision <FONT color=#ff00ff>(#PCDATA)</FONT><FONT color=#6a5acd>></FONT> - * </PRE> + * <pre> + * <font color=#0000ff><!-- Root element --></font> + * <font color=#6a5acd><!ELEMENT</font> changelog <font color=#ff00ff>(entry</font><font color=#ff00ff>+</font><font color=#ff00ff>)</font><font color=#6a5acd>></font> + * <font color=#0000ff><!-- CVS Entry --></font> + * <font color=#6a5acd><!ELEMENT</font> entry <font color=#ff00ff>(date,author,file</font><font color=#ff00ff>+</font><font color=#ff00ff>,msg)</font><font color=#6a5acd>></font> + * <font color=#0000ff><!-- Date of cvs entry --></font> + * <font color=#6a5acd><!ELEMENT</font> date <font color=#ff00ff>(#PCDATA)</font><font color=#6a5acd>></font> + * <font color=#0000ff><!-- Author of change --></font> + * <font color=#6a5acd><!ELEMENT</font> author <font color=#ff00ff>(#PCDATA)</font><font color=#6a5acd>></font> + * <font color=#0000ff><!-- List of files affected --></font> + * <font color=#6a5acd><!ELEMENT</font> msg <font color=#ff00ff>(#PCDATA)</font><font color=#6a5acd>></font> + * <font color=#0000ff><!-- File changed --></font> + * <font color=#6a5acd><!ELEMENT</font> file <font color=#ff00ff>(name,revision,prevrevision</font><font color=#ff00ff>?</font><font color=#ff00ff>)</font><font color=#6a5acd>></font> + * <font color=#0000ff><!-- Name of the file --></font> + * <font color=#6a5acd><!ELEMENT</font> name <font color=#ff00ff>(#PCDATA)</font><font color=#6a5acd>></font> + * <font color=#0000ff><!-- Revision number --></font> + * <font color=#6a5acd><!ELEMENT</font> revision <font color=#ff00ff>(#PCDATA)</font><font color=#6a5acd>></font> + * <font color=#0000ff><!-- Previous revision number --></font> + * <font color=#6a5acd><!ELEMENT</font> prevrevision <font color=#ff00ff>(#PCDATA)</font><font color=#6a5acd>></font> + * </pre> * * @version $Revision: 1.30 $ $Date: 2004/03/09 16:48:14 $ * @since Ant 1.5 @@ -67,48 +66,48 @@ */ public class ChangeLogTask extends AbstractCvsTask { /** User list */ - private File m_usersFile; + private File usersFile; /** User list */ - private Vector m_cvsUsers = new Vector(); + private Vector cvsUsers = new Vector(); /** Input dir */ - private File m_dir; + private File inputDir; /** Output file */ - private File m_destfile; + private File destFile; /** The earliest date at which to start processing entries. */ - private Date m_start; + private Date startDate; /** The latest date at which to stop processing entries. */ - private Date m_stop; + private Date endDate; /** * Filesets containing list of files against which the cvs log will be - * performed. If empty then all files will in the working directory will + * performed. If empty then all files in the working directory will * be checked. */ - private final Vector m_filesets = new Vector(); + private final Vector filesets = new Vector(); /** * Set the base dir for cvs. * - * @param dir The new dir value + * @param inputDir The new dir value */ - public void setDir(final File dir) { - m_dir = dir; + public void setDir(final File inputDir) { + this.inputDir = inputDir; } /** * Set the output file for the log. * - * @param destfile The new destfile value + * @param destFile The new destfile value */ - public void setDestfile(final File destfile) { - m_destfile = destfile; + public void setDestfile(final File destFile) { + this.destFile = destFile; } @@ -118,7 +117,7 @@ * @param usersFile The file containing the users info. */ public void setUsersfile(final File usersFile) { - m_usersFile = usersFile; + this.usersFile = usersFile; } @@ -128,7 +127,7 @@ * @param user the user */ public void addUser(final CvsUser user) { - m_cvsUsers.addElement(user); + cvsUsers.addElement(user); } @@ -138,17 +137,17 @@ * @param start The date at which the changelog should start. */ public void setStart(final Date start) { - m_start = start; + this.startDate = start; } /** * Set the date at which the changelog should stop. * - * @param stop The date at which the changelog should stop. + * @param endDate The date at which the changelog should stop. */ - public void setEnd(final Date stop) { - m_stop = stop; + public void setEnd(final Date endDate) { + this.endDate = endDate; } @@ -171,7 +170,7 @@ * @param fileSet a set of files about which cvs logs will be generated. */ public void addFileset(final FileSet fileSet) { - m_filesets.addElement(fileSet); + filesets.addElement(fileSet); } @@ -182,7 +181,7 @@ * cvs command */ public void execute() throws BuildException { - File savedDir = m_dir; // may be altered in validate + File savedDir = inputDir; // may be altered in validate try { @@ -191,15 +190,12 @@ loadUserlist(userList); - for (Enumeration e = m_cvsUsers.elements(); - e.hasMoreElements();) { - final CvsUser user = (CvsUser) e.nextElement(); - + for(int i = 0, size = cvsUsers.size(); i<size; i++) { + final CvsUser user = (CvsUser) cvsUsers.get(i); user.validate(); userList.put(user.getUserID(), user.getDisplayname()); } - setCommand("log"); if (getTag() != null) { @@ -209,18 +205,18 @@ myCvsVersion.setCvsRoot(getCvsRoot()); myCvsVersion.setCvsRsh(getCvsRsh()); myCvsVersion.setPassfile(getPassFile()); - myCvsVersion.setDest(m_dir); + myCvsVersion.setDest(inputDir); myCvsVersion.execute(); if (myCvsVersion.supportsCvsLogWithSOption()) { addCommandArgument("-S"); } } - if (null != m_start) { + if (null != startDate) { final SimpleDateFormat outputDate = new SimpleDateFormat("yyyy-MM-dd"); // We want something of the form: -d ">=YYYY-MM-dd" - final String dateRange = ">=" + outputDate.format(m_start); + final String dateRange = ">=" + outputDate.format(startDate); // Supply '-d' as a separate argument - Bug# 14397 addCommandArgument("-d"); @@ -228,8 +224,8 @@ } // Check if list of files to check has been specified - if (!m_filesets.isEmpty()) { - final Enumeration e = m_filesets.elements(); + if (!filesets.isEmpty()) { + final Enumeration e = filesets.elements(); while (e.hasMoreElements()) { final FileSet fileSet = (FileSet) e.nextElement(); @@ -249,7 +245,7 @@ log(getCommand(), Project.MSG_VERBOSE); - setDest(m_dir); + setDest(inputDir); setExecuteStreamHandler(handler); super.execute(); final String errors = handler.getErrors(); @@ -266,7 +262,7 @@ writeChangeLog(filteredEntrySet); } finally { - m_dir = savedDir; + inputDir = savedDir; } } @@ -277,23 +273,23 @@ */ private void validate() throws BuildException { - if (null == m_dir) { - m_dir = getProject().getBaseDir(); + if (null == inputDir) { + inputDir = getProject().getBaseDir(); } - if (null == m_destfile) { + if (null == destFile) { final String message = "Destfile must be set."; throw new BuildException(message); } - if (!m_dir.exists()) { + if (!inputDir.exists()) { final String message = "Cannot find base dir " - + m_dir.getAbsolutePath(); + + inputDir.getAbsolutePath(); throw new BuildException(message); } - if (null != m_usersFile && !m_usersFile.exists()) { + if (null != usersFile && !usersFile.exists()) { final String message = "Cannot find user lookup list " - + m_usersFile.getAbsolutePath(); + + usersFile.getAbsolutePath(); throw new BuildException(message); } @@ -308,9 +304,9 @@ */ private void loadUserlist(final Properties userList) throws BuildException { - if (null != m_usersFile) { + if (null != usersFile) { try { - userList.load(new FileInputStream(m_usersFile)); + userList.load(new FileInputStream(usersFile)); } catch (final IOException ioe) { throw new BuildException(ioe.toString(), ioe); } @@ -330,11 +326,11 @@ final CVSEntry cvsEntry = entrySet[i]; final Date date = cvsEntry.getDate(); - if (null != m_start && m_start.after(date)) { + if (null != startDate && startDate.after(date)) { //Skip dates that are too early continue; } - if (null != m_stop && m_stop.before(date)) { + if (null != endDate && endDate.before(date)) { //Skip dates that are too late continue; } @@ -372,7 +368,7 @@ FileOutputStream output = null; try { - output = new FileOutputStream(m_destfile); + output = new FileOutputStream(destFile); final PrintWriter writer = new PrintWriter(new OutputStreamWriter(output, "UTF-8")); @@ -385,12 +381,7 @@ } catch (final IOException ioe) { throw new BuildException(ioe.toString(), ioe); } finally { - if (null != output) { - try { - output.close(); - } catch (final IOException ioe) { - } - } + FileUtils.close(output); } } } Index: ChangeLogWriter.java =================================================================== RCS file: /home/cvspublic/ant/src/main/org/apache/tools/ant/taskdefs/cvslib/ChangeLogWriter.java,v retrieving revision 1.15 diff -u -r1.15 ChangeLogWriter.java --- ChangeLogWriter.java 11 Nov 2004 17:27:09 -0000 1.15 +++ ChangeLogWriter.java 6 Dec 2004 10:16:39 -0000 @@ -26,18 +26,18 @@ * * @version $Revision: 1.15 $ $Date: 2004/11/11 17:27:09 $ */ -class ChangeLogWriter { +public class ChangeLogWriter { /** output format for dates written to xml file */ - private static final SimpleDateFormat c_outputDate + private static final SimpleDateFormat outputDate = new SimpleDateFormat("yyyy-MM-dd"); /** output format for times written to xml file */ - private static final SimpleDateFormat c_outputTime + private static final SimpleDateFormat outputTime = new SimpleDateFormat("HH:mm"); static { TimeZone utc = TimeZone.getTimeZone("UTC"); - c_outputDate.setTimeZone(utc); - c_outputTime.setTimeZone(utc); + outputDate.setTimeZone(utc); + outputTime.setTimeZone(utc); } /** @@ -69,9 +69,9 @@ */ private void printEntry(final PrintWriter output, final CVSEntry entry) { output.println("\t<entry>"); - output.println("\t\t<date>" + c_outputDate.format(entry.getDate()) + output.println("\t\t<date>" + outputDate.format(entry.getDate()) + "</date>"); - output.println("\t\t<time>" + c_outputTime.format(entry.getDate()) + output.println("\t\t<time>" + outputTime.format(entry.getDate()) + "</time>"); output.println("\t\t<author><![CDATA[" + entry.getAuthor() + "]]></author>"); Index: CvsTagDiff.java =================================================================== RCS file: /home/cvspublic/ant/src/main/org/apache/tools/ant/taskdefs/cvslib/CvsTagDiff.java,v retrieving revision 1.23 diff -u -r1.23 CvsTagDiff.java --- CvsTagDiff.java 9 Mar 2004 16:48:14 -0000 1.23 +++ CvsTagDiff.java 6 Dec 2004 10:16:40 -0000 @@ -36,7 +36,7 @@ * Examines the output of cvs rdiff between two tags. * * It produces an XML output representing the list of changes. - * <PRE> + * <pre> * <!-- Root element --> * <!ELEMENT tagdiff ( entry+ ) > * <!-- Start tag of the report --> @@ -58,7 +58,7 @@ * <!ELEMENT revision ( #PCDATA ) > * <!-- Previous revision number --> * <!ELEMENT prevrevision ( #PCDATA ) > - * </PRE> + * </pre> * * @version $Revision: 1.23 $ $Date: 2004/03/09 16:48:14 $ * @since Ant 1.5 @@ -95,89 +95,89 @@ /** * The cvs package/module to analyse */ - private String mypackage; + private String modulePackage; /** * The earliest tag from which diffs are to be included in the report. */ - private String mystartTag; + private String startTag; /** * The latest tag from which diffs are to be included in the report. */ - private String myendTag; + private String endTag; /** * The earliest date from which diffs are to be included in the report. */ - private String mystartDate; + private String startDate; /** * The latest date from which diffs are to be included in the report. */ - private String myendDate; + private String endDate; /** * The file in which to write the diff report. */ - private File mydestfile; + private File destFile; /** * Used to create the temp file for cvs log */ - private FileUtils myfileUtils = FileUtils.newFileUtils(); + private FileUtils fileUtils = FileUtils.newFileUtils(); /** * The package/module to analyze. * @param p the name of the package to analyse */ - public void setPackage(String p) { - mypackage = p; + public void setPackage(final String p) { + modulePackage = p; } /** * Set the start tag. * - * @param s the start tag. + * @param startTag the start tag. */ - public void setStartTag(String s) { - mystartTag = s; + public void setStartTag(final String startTag) { + this.startTag = startTag; } /** * Set the start date. * - * @param s the start date. + * @param startDate the start date. */ - public void setStartDate(String s) { - mystartDate = s; + public void setStartDate(final String startDate) { + this.startDate = startDate; } /** * Set the end tag. * - * @param s the end tag. + * @param endTag the end tag. */ - public void setEndTag(String s) { - myendTag = s; + public void setEndTag(final String endTag) { + this.endTag = endTag; } /** * Set the end date. * - * @param s the end date. + * @param endDate the end date. */ - public void setEndDate(String s) { - myendDate = s; + public void setEndDate(final String endDate) { + this.endDate = endDate; } /** * Set the output file for the diff. * - * @param f the output file for the diff. + * @param destFile the output file for the diff. */ - public void setDestFile(File f) { - mydestfile = f; + public void setDestFile(final File destFile) { + this.destFile = destFile; } /** @@ -192,30 +192,30 @@ // build the rdiff command addCommandArgument("rdiff"); addCommandArgument("-s"); - if (mystartTag != null) { + if (startTag != null) { addCommandArgument("-r"); - addCommandArgument(mystartTag); + addCommandArgument(startTag); } else { addCommandArgument("-D"); - addCommandArgument(mystartDate); + addCommandArgument(startDate); } - if (myendTag != null) { + if (endTag != null) { addCommandArgument("-r"); - addCommandArgument(myendTag); + addCommandArgument(endTag); } else { addCommandArgument("-D"); - addCommandArgument(myendDate); + addCommandArgument(endDate); } // support multiple packages - StringTokenizer myTokenizer = new StringTokenizer(mypackage); - while (myTokenizer.hasMoreTokens()) { - addCommandArgument(myTokenizer.nextToken()); + StringTokenizer tokenizer = new StringTokenizer(modulePackage); + while (tokenizer.hasMoreTokens()) { + addCommandArgument(tokenizer.nextToken()); } // force command not to be null setCommand(""); File tmpFile = null; try { - tmpFile = myfileUtils.createTempFile("cvstagdiff", ".log", null); + tmpFile = fileUtils.createTempFile("cvstagdiff", ".log", null); tmpFile.deleteOnExit(); setOutput(tmpFile); @@ -236,7 +236,7 @@ } /** - * Parse the tmpFile and return and array of CvsTagEntry to be + * Parse the tmpFile and return an array of CvsTagEntry to be * written in the output. * * @param tmpFile the File containing the output of the cvs rdiff command @@ -264,14 +264,13 @@ // File testantoine/antoine.bat is removed; TESTANTOINE_1 revision 1.1.1.1 // // get rid of 'File module/" - String toBeRemoved = FILE_STRING + mypackage + "/"; + String toBeRemoved = FILE_STRING + modulePackage + "/"; int headerLength = toBeRemoved.length(); Vector entries = new Vector(); String line = reader.readLine(); int index; - CvsTagEntry entry = null; - + while (null != line) { if (line.length() > headerLength) { if (line.startsWith(toBeRemoved)) { @@ -281,42 +280,11 @@ } if ((index = line.indexOf(FILE_IS_NEW)) != -1) { - // it is a new file - // set the revision but not the prevrevision - String filename = line.substring(0, index); - String rev = null; - int indexrev = -1; - if ((indexrev = line.indexOf(REVISION, index)) != -1) { - rev = line.substring(indexrev + REVISION.length()); - } - entry = new CvsTagEntry(filename, rev); - entries.addElement(entry); - log(entry.toString(), Project.MSG_VERBOSE); + newFileTag(entries, line, index); } else if ((index = line.indexOf(FILE_HAS_CHANGED)) != -1) { - // it is a modified file - // set the revision and the prevrevision - String filename = line.substring(0, index); - int revSeparator = line.indexOf(" to ", index); - String prevRevision = - line.substring(index + FILE_HAS_CHANGED.length(), - revSeparator); - String revision = line.substring(revSeparator + TO_STRING.length()); - entry = new CvsTagEntry(filename, - revision, - prevRevision); - entries.addElement(entry); - log(entry.toString(), Project.MSG_VERBOSE); + changedFileTag(entries, line, index); } else if ((index = line.indexOf(FILE_WAS_REMOVED)) != -1) { - // it is a removed file - String filename = line.substring(0, index); - String rev = null; - int indexrev = -1; - if ((indexrev = line.indexOf(REVISION, index)) != -1) { - rev = line.substring(indexrev + REVISION.length()); - } - entry = new CvsTagEntry(filename, null, rev); - entries.addElement(entry); - log(entry.toString(), Project.MSG_VERBOSE); + removedFileTag(entries, line, index); } } line = reader.readLine(); @@ -329,17 +297,67 @@ } catch (IOException e) { throw new BuildException("Error in parsing", e); } finally { - if (reader != null) { - try { - reader.close(); - } catch (IOException e) { - log(e.toString(), Project.MSG_ERR); - } - } + FileUtils.close(reader); } } /** + * Parse the new file entries + * @param entries the CVSEntries + * @param line the line to parse + * @param index the index in the line + */ + private void removedFileTag(Vector entries, String line, int index) { + String filename = line.substring(0, index); + String rev = null; + int indexrev = -1; + if ((indexrev = line.indexOf(REVISION, index)) != -1) { + rev = line.substring(indexrev + REVISION.length()); + } + CvsTagEntry entry = new CvsTagEntry(filename, null, rev); + entries.addElement(entry); + log(entry.toString(), Project.MSG_VERBOSE); + } + + /** + * Parse the changed file entries + * @param entries the CVSEntries + * @param line the line to parse + * @param index the index in the line + */ + private void changedFileTag(Vector entries, String line, int index) { + // set the revision and the prevrevision + String filename = line.substring(0, index); + int revSeparator = line.indexOf(" to ", index); + String prevRevision = + line.substring(index + FILE_HAS_CHANGED.length(), + revSeparator); + String revision = line.substring(revSeparator + TO_STRING.length()); + CvsTagEntry entry = new CvsTagEntry(filename, revision, prevRevision); + entries.addElement(entry); + log(entry.toString(), Project.MSG_VERBOSE); + } + + /** + * Parse the removed file entries + * @param entries + * @param line the line to parse + * @param index the index in the line + */ + private void newFileTag(Vector entries, String line, int index) { + // set the revision but not the prevrevision + String filename = line.substring(0, index); + String rev = null; + int indexrev = -1; + if ((indexrev = line.indexOf(REVISION, index)) != -1) { + rev = line.substring(indexrev + REVISION.length()); + } + CvsTagEntry entry = new CvsTagEntry(filename, rev); + entries.addElement(entry); + log(entry.toString(), Project.MSG_VERBOSE); + } + + /** * Write the rdiff log. * * @param entries a <code>CvsTagEntry[]</code> value @@ -348,24 +366,24 @@ private void writeTagDiff(CvsTagEntry[] entries) throws BuildException { FileOutputStream output = null; try { - output = new FileOutputStream(mydestfile); + output = new FileOutputStream(destFile); PrintWriter writer = new PrintWriter( new OutputStreamWriter(output, "UTF-8")); writer.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); writer.print("<tagdiff "); - if (mystartTag != null) { - writer.print("startTag=\"" + mystartTag + "\" "); + if (startTag != null) { + writer.print("startTag=\"" + startTag + "\" "); } else { - writer.print("startDate=\"" + mystartDate + "\" "); + writer.print("startDate=\"" + startDate + "\" "); } - if (myendTag != null) { - writer.print("endTag=\"" + myendTag + "\" "); + if (endTag != null) { + writer.print("endTag=\"" + endTag + "\" "); } else { - writer.print("endDate=\"" + myendDate + "\" "); + writer.print("endDate=\"" + endDate + "\" "); } writer.print("cvsroot=\"" + getCvsRoot() + "\" "); - writer.print("package=\"" + mypackage + "\" "); + writer.print("package=\"" + modulePackage + "\" "); writer.println(">"); for (int i = 0, c = entries.length; i < c; i++) { @@ -379,13 +397,7 @@ } catch (IOException ioe) { throw new BuildException(ioe.toString(), ioe); } finally { - if (null != output) { - try { - output.close(); - } catch (IOException ioe) { - log(ioe.toString(), Project.MSG_ERR); - } - } + FileUtils.close(output); } } @@ -417,28 +429,28 @@ * @exception BuildException if a parameter is not correctly set */ private void validate() throws BuildException { - if (null == mypackage) { + if (null == modulePackage) { throw new BuildException("Package/module must be set."); } - if (null == mydestfile) { + if (null == destFile) { throw new BuildException("Destfile must be set."); } - if (null == mystartTag && null == mystartDate) { + if (null == startTag && null == startDate) { throw new BuildException("Start tag or start date must be set."); } - if (null != mystartTag && null != mystartDate) { + if (null != startTag && null != startDate) { throw new BuildException("Only one of start tag and start date " + "must be set."); } - if (null == myendTag && null == myendDate) { + if (null == endTag && null == endDate) { throw new BuildException("End tag or end date must be set."); } - if (null != myendTag && null != myendDate) { + if (null != endTag && null != endDate) { throw new BuildException("Only one of end tag and end date must " + "be set."); } Index: CvsTagEntry.java =================================================================== RCS file: /home/cvspublic/ant/src/main/org/apache/tools/ant/taskdefs/cvslib/CvsTagEntry.java,v retrieving revision 1.7 diff -u -r1.7 CvsTagEntry.java --- CvsTagEntry.java 22 Nov 2004 09:23:31 -0000 1.7 +++ CvsTagEntry.java 6 Dec 2004 10:16:40 -0000 @@ -19,52 +19,85 @@ /** * Holds the information of a line of rdiff */ -class CvsTagEntry { - String m_filename; - String m_prevRevision; - String m_revision; - - public CvsTagEntry(String filename) { +public class CvsTagEntry { + + /** the filename */ + private String filename; + + /** the previous revision */ + private String prevRevision; + + /** the revision */ + private String revision; + + /** + * Creates a new CvsTagEntry + * @param filename the filename to add + */ + public CvsTagEntry(final String filename) { this(filename, null, null); } - public CvsTagEntry(String filename, String revision) { + /** + * Creates a new CvsTagEntry + * @param filename the filename to add + * @param revision the revision + */ + public CvsTagEntry(final String filename, final String revision) { this(filename, revision, null); } - public CvsTagEntry(String filename, String revision, - String prevRevision) { - m_filename = filename; - m_revision = revision; - m_prevRevision = prevRevision; - } - + /** + * Creates a new CvsTagEntry + * @param filename the filename to add + * @param revision the revision + * @param prevRevision the previous revision + */ + public CvsTagEntry(final String filename, final String revision, + final String prevRevision) { + this.filename = filename; + this.revision = revision; + this.prevRevision = prevRevision; + } + + /** + * Gets the filename for this CvsTagEntry + * @return the filename + */ public String getFile() { - return m_filename; + return filename; } + /** + * Gets the revision for this CvsTagEntry + * @return the revision + */ public String getRevision() { - return m_revision; + return revision; } + /** + * Gets the previous revision for this CvsTagEntry + * @return the previous revision + */ public String getPreviousRevision() { - return m_prevRevision; + return prevRevision; } public String toString() { StringBuffer buffer = new StringBuffer(); - buffer.append(m_filename); - if ((m_revision == null)) { + buffer.append(filename); + if ((revision == null)) { buffer.append(" was removed"); - if (m_prevRevision != null) { - buffer.append("; previous revision was ").append(m_prevRevision); + if (prevRevision != null) { + buffer.append("; previous revision was ").append(prevRevision); } - } else if (m_revision != null && m_prevRevision == null) { + } else if (revision != null && prevRevision == null) { buffer.append(" is new; current revision is ") - .append(m_revision); - } else if (m_revision != null && m_prevRevision != null) { + .append(revision); + } else if (revision != null && prevRevision != null) { buffer.append(" has changed from ") - .append(m_prevRevision).append(" to ").append(m_revision); + .append(prevRevision).append(" to ").append(revision); } return buffer.toString(); } Index: CvsUser.java =================================================================== RCS file: /home/cvspublic/ant/src/main/org/apache/tools/ant/taskdefs/cvslib/CvsUser.java,v retrieving revision 1.9 diff -u -r1.9 CvsUser.java --- CvsUser.java 9 Mar 2004 16:48:14 -0000 1.9 +++ CvsUser.java 6 Dec 2004 10:16:40 -0000 @@ -25,9 +25,9 @@ */ public class CvsUser { /** The user's Id */ - private String m_userID; + private String userID; /** The user's full name */ - private String m_displayName; + private String displayName; /** @@ -36,7 +36,7 @@ * @param displayName the user's full name */ public void setDisplayname(final String displayName) { - m_displayName = displayName; + this.displayName = displayName; } @@ -46,7 +46,7 @@ * @param userID the user's new id value. */ public void setUserid(final String userID) { - m_userID = userID; + this.userID = userID; } @@ -55,8 +55,8 @@ * * @return The userID value */ - String getUserID() { - return m_userID; + public String getUserID() { + return userID; } @@ -65,26 +65,26 @@ * * @return the user's full name */ - String getDisplayname() { - return m_displayName; + public String getDisplayname() { + return displayName; } /** - * validate that this object is configured. + * Validate that this object is configured. * * @exception BuildException if the instance has not be correctly * configured. */ - void validate() throws BuildException { - if (null == m_userID) { + public void validate() throws BuildException { + if (null == userID) { final String message = "Username attribute must be set."; throw new BuildException(message); } - if (null == m_displayName) { + if (null == displayName) { final String message = - "Displayname attribute must be set for userID " + m_userID; + "Displayname attribute must be set for userID " + userID; throw new BuildException(message); } Index: CvsVersion.java =================================================================== RCS file: /home/cvspublic/ant/src/main/org/apache/tools/ant/taskdefs/cvslib/CvsVersion.java,v retrieving revision 1.7 diff -u -r1.7 CvsVersion.java --- CvsVersion.java 9 Mar 2004 16:48:14 -0000 1.7 +++ CvsVersion.java 6 Dec 2004 10:16:40 -0000 @@ -45,22 +45,23 @@ private String serverVersion; private String clientVersionProperty; private String serverVersionProperty; + /** - * get the CVS client version + * Get the CVS client version * @return CVS client version */ public String getClientVersion() { return clientVersion; } /** - * get the CVS server version + * Get the CVS server version * @return CVS server version */ public String getServerVersion() { return serverVersion; } /** - * set a property where to store the CVS client version + * Set a property where to store the CVS client version * @param clientVersionProperty property for CVS client version */ public void setClientVersionProperty(String clientVersionProperty) { @@ -68,26 +69,25 @@ } /** - * set a property where to store the CVS server version + * Set a property where to store the CVS server version * @param serverVersionProperty property for CVS server version */ public void setServerVersionProperty(String serverVersionProperty) { this.serverVersionProperty = serverVersionProperty; } /** - * find out if the server version supports log with S option + * Find out if the server version supports log with S option * @return boolean indicating if the server version supports log with S option */ public boolean supportsCvsLogWithSOption() { if (serverVersion == null) { return false; } - StringTokenizer mySt = new StringTokenizer(serverVersion, "."); - long versionNumber; + StringTokenizer tokenizer = new StringTokenizer(serverVersion, "."); long counter = MULTIPLY * MULTIPLY; long version = 0; - while (mySt.hasMoreTokens()) { - String s = mySt.nextToken(); + while (tokenizer.hasMoreTokens()) { + String s = tokenizer.nextToken(); int i = 0; for (i = 0; i < s.length(); i++) { if (!Character.isDigit(s.charAt(i))) {
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]