Author: bodewig Date: Mon Oct 20 03:33:34 2008 New Revision: 706207 URL: http://svn.apache.org/viewvc?rev=706207&view=rev Log: properly deal wih multiple modules specified in the package attribute
Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/cvslib/ChangeLogParser.java ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/history Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/cvslib/ChangeLogParser.java URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/cvslib/ChangeLogParser.java?rev=706207&r1=706206&r2=706207&view=diff ============================================================================== --- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/cvslib/ChangeLogParser.java (original) +++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/cvslib/ChangeLogParser.java Mon Oct 20 03:33:34 2008 @@ -20,11 +20,13 @@ import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.ArrayList; import java.util.Enumeration; import java.util.Hashtable; import java.util.Iterator; import java.util.List; import java.util.Locale; +import java.util.StringTokenizer; import java.util.TimeZone; import org.apache.tools.ant.taskdefs.AbstractCvsTask; import org.apache.tools.ant.util.CollectionUtils; @@ -81,16 +83,22 @@ public ChangeLogParser(boolean remote, String packageName, List modules) { this.remote = remote; - moduleNames = new String[modules.size() + (packageName == null ? 0 : 1)]; - moduleNameLengths = new int[moduleNames.length]; - int i = 0; + + ArrayList names = new ArrayList(); if (packageName != null) { - moduleNames[i] = packageName; - moduleNameLengths[i++] = packageName.length(); + for (StringTokenizer tok = new StringTokenizer(packageName); + tok.hasMoreTokens(); ) { + names.add(tok.nextToken()); + } } - for (Iterator iter = modules.iterator(); iter.hasNext(); i++) { + for (Iterator iter = modules.iterator(); iter.hasNext(); ) { AbstractCvsTask.Module m = (AbstractCvsTask.Module) iter.next(); - moduleNames[i] = m.getName(); + names.add(m.getName()); + } + + moduleNames = (String[]) names.toArray(new String[names.size()]); + moduleNameLengths = new int[moduleNames.length]; + for (int i = 0; i < moduleNames.length; i++) { moduleNameLengths[i] = moduleNames[i].length(); } } Modified: ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/history URL: http://svn.apache.org/viewvc/ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/history?rev=706207&r1=706206&r2=706207&view=diff ============================================================================== --- ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/history (original) +++ ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/history Mon Oct 20 03:33:34 2008 @@ -52,3 +52,7 @@ O48f8b329|stefan|/tmp/testoutput/*0|antmodule1||antmodule1 O48f8b32b|stefan|/tmp/testoutput/*0|ant module 2||ant module 2 O48f8b32c|stefan|/tmp/testoutput/*0|antmodule3||antmodule3 +O48fc5e01|stefan|/tmp/testoutput/*0|antmodule3||antmodule3 +O48fc5e03|stefan|/tmp/testoutput/*0|antmodule1||antmodule1 +O48fc5e05|stefan|/tmp/testoutput/*0|ant module 2||ant module 2 +O48fc5e06|stefan|/tmp/testoutput/*0|antmodule3||antmodule3