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


Reply via email to