diff --git a/changelog/project.xml b/changelog/project.xml
index 7cb457f1..d3fecc97 100644
--- a/changelog/project.xml
+++ b/changelog/project.xml
@@ -23,7 +23,7 @@
3
maven-changelog-plugin
Maven Changelog Plugin
- 1.6
+ 1.7-SNAPSHOT
Produce SCM changelog reports
http://maven.apache.org/reference/plugins/changelog/
diff --git a/changelog/src/main/org/apache/maven/changelog/ChangeLog.java b/changelog/src/main/org/apache/maven/changelog/ChangeLog.java
index 41f118a7..6e282b59 100644
--- a/changelog/src/main/org/apache/maven/changelog/ChangeLog.java
+++ b/changelog/src/main/org/apache/maven/changelog/ChangeLog.java
@@ -48,7 +48,7 @@ import org.apache.maven.project.Developer;
* @author dIon Gillard
* @author Stefan Bodewig
* @author Peter Donald
- * @version $Id: ChangeLog.java,v 1.5 2004/03/02 15:00:17 evenisse Exp $
+ * @version $Id: ChangeLog.java,v 1.6 2004/07/08 08:36:51 evenisse Exp $
*/
public class ChangeLog
{
@@ -226,6 +226,10 @@ public class ChangeLog
ChangeLogFactory factory = createFactory();
ChangeLogGenerator generator = factory.createGenerator();
ChangeLogParser parser = factory.createParser();
+ if (getDateFormat() != null)
+ {
+ parser.setDateFormatInFile(getDateFormat());
+ }
generator.init(this);
parser.init(this);
diff --git a/changelog/src/main/org/apache/maven/changelog/ChangeLogParser.java b/changelog/src/main/org/apache/maven/changelog/ChangeLogParser.java
index dad22baa..206a6c28 100644
--- a/changelog/src/main/org/apache/maven/changelog/ChangeLogParser.java
+++ b/changelog/src/main/org/apache/maven/changelog/ChangeLogParser.java
@@ -27,7 +27,7 @@ import java.util.Collection;
* {@link ChangeLogEntry} objects.
*
* @author Glenn McAllister
- * @version $Id: ChangeLogParser.java,v 1.2 2004/03/02 15:00:17 evenisse Exp $
+ * @version $Id: ChangeLogParser.java,v 1.3 2004/07/08 08:36:51 evenisse Exp $
*/
public interface ChangeLogParser
{
@@ -60,4 +60,10 @@ public interface ChangeLogParser
* presumably the {@link #parse}) method.
*/
void cleanup();
+
+ /**
+ * Set the date formatter for parse starteam stream
+ * @param dateFormat a dateFormat for replace the local format
+ */
+ public void setDateFormatInFile( String dateFormat );
}
diff --git a/changelog/src/main/org/apache/maven/clearcaselib/ClearcaseChangeLogParser.java b/changelog/src/main/org/apache/maven/clearcaselib/ClearcaseChangeLogParser.java
index 89b7ae39..838e02de 100644
--- a/changelog/src/main/org/apache/maven/clearcaselib/ClearcaseChangeLogParser.java
+++ b/changelog/src/main/org/apache/maven/clearcaselib/ClearcaseChangeLogParser.java
@@ -317,5 +317,7 @@ public class ClearcaseChangeLogParser implements ChangeLogParser {
this.status = status;
}
-
+ public void setDateFormatInFile( String dateFormat )
+ {
+ }
}
diff --git a/changelog/src/main/org/apache/maven/cvslib/CvsChangeLogParser.java b/changelog/src/main/org/apache/maven/cvslib/CvsChangeLogParser.java
index aeb9229c..fc7ca02b 100644
--- a/changelog/src/main/org/apache/maven/cvslib/CvsChangeLogParser.java
+++ b/changelog/src/main/org/apache/maven/cvslib/CvsChangeLogParser.java
@@ -37,7 +37,7 @@ import org.apache.maven.changelog.ChangeLogFile;
* A class to parse cvs log output
*
* @author dIon Gillard
- * @version $Id: CvsChangeLogParser.java,v 1.2 2004/03/02 15:00:18 evenisse Exp $
+ * @version $Id: CvsChangeLogParser.java,v 1.3 2004/07/08 08:36:51 evenisse Exp $
*/
class CvsChangeLogParser implements ChangeLogParser
{
@@ -319,4 +319,8 @@ class CvsChangeLogParser implements ChangeLogParser
{
this.status = status;
}
+
+ public void setDateFormatInFile( String dateFormat )
+ {
+ }
}
diff --git a/changelog/src/main/org/apache/maven/perforcelib/PerforceChangeLogParser.java b/changelog/src/main/org/apache/maven/perforcelib/PerforceChangeLogParser.java
index 6d810e41..83e83a72 100644
--- a/changelog/src/main/org/apache/maven/perforcelib/PerforceChangeLogParser.java
+++ b/changelog/src/main/org/apache/maven/perforcelib/PerforceChangeLogParser.java
@@ -262,4 +262,8 @@ class PerforceChangeLogParser implements ChangeLogParser
int days = Integer.parseInt(this.changeLog.getRange());
beforeDate = new Date(System.currentTimeMillis() - (long) days * 24 * 60 * 60 * 1000);
}
+
+ public void setDateFormatInFile( String dateFormat )
+ {
+ }
}
diff --git a/changelog/src/main/org/apache/maven/starteamlib/StarteamChangeLogParser.java b/changelog/src/main/org/apache/maven/starteamlib/StarteamChangeLogParser.java
index cbcde413..088ee6bb 100644
--- a/changelog/src/main/org/apache/maven/starteamlib/StarteamChangeLogParser.java
+++ b/changelog/src/main/org/apache/maven/starteamlib/StarteamChangeLogParser.java
@@ -41,7 +41,7 @@ import org.apache.commons.logging.LogFactory;
* A class to parse starteam log output
*
* @author Emmanuel Venisse
- * @version $Id: StarteamChangeLogParser.java,v 1.4 2004/03/02 15:00:18 evenisse Exp $
+ * @version $Id: StarteamChangeLogParser.java,v 1.5 2004/07/08 08:36:51 evenisse Exp $
*/
class StarteamChangeLogParser implements ChangeLogParser
{
@@ -141,14 +141,20 @@ class StarteamChangeLogParser implements ChangeLogParser
}
/**
- * Set the date formatter for parse starteam stream
* Use only with StarteamChangeLogParserTest class
+ */
+ public void setTestMode( boolean testMode )
+ {
+ this.testMode = testMode;
+ }
+
+ /**
+ * Set the date formatter for parse starteam stream
* @param aSimpleDateFormat a simpleDateFormat for replace the local format
*/
- public void setDateFormatInFile(SimpleDateFormat aSimpleDateFormat)
+ public void setDateFormatInFile( String dateFormat )
{
- localFormat = aSimpleDateFormat;
- testMode = true;
+ localFormat = new SimpleDateFormat( dateFormat );
}
/**
diff --git a/changelog/src/main/org/apache/maven/svnlib/SvnChangeLogParser.java b/changelog/src/main/org/apache/maven/svnlib/SvnChangeLogParser.java
index 948e3c80..320c42d7 100644
--- a/changelog/src/main/org/apache/maven/svnlib/SvnChangeLogParser.java
+++ b/changelog/src/main/org/apache/maven/svnlib/SvnChangeLogParser.java
@@ -44,7 +44,7 @@ import org.apache.regexp.RESyntaxException;
* @author dIon Gillard
* @author Pete Kazmier
* @author Daniel Rall
- * @version $Id: SvnChangeLogParser.java,v 1.5 2004/05/10 02:00:25 dion Exp $
+ * @version $Id: SvnChangeLogParser.java,v 1.6 2004/07/08 08:36:51 evenisse Exp $
*/
class SvnChangeLogParser implements ChangeLogParser
{
@@ -279,4 +279,8 @@ class SvnChangeLogParser implements ChangeLogParser
return null;
}
}
+
+ public void setDateFormatInFile( String dateFormat )
+ {
+ }
}
diff --git a/changelog/src/test-resources/starteamlib/starteamlog2.txt b/changelog/src/test-resources/starteamlib/starteamlog2.txt
new file mode 100644
index 00000000..af3f5601
--- /dev/null
+++ b/changelog/src/test-resources/starteamlib/starteamlog2.txt
@@ -0,0 +1,91 @@
+Folder: Maven (working dir: D:\Artin\projects\Artin\timemission_maven)
+History for: project.properties
+Description:
+Locked by:
+Status: Current
+----------------------------
+Revision: 2 View: Playground Branch Revision: 1.1
+Author: Najvarek, Jan Date: 04-6-30 15:12:02 GMT+02:00
+test revision
+
+----------------------------
+Revision: 1 View: Playground Branch Revision: 1.0
+Author: Najvarek, Jan Date: 04-6-30 15:11:36 GMT+02:00
+=============================================================================
+
+Folder: lib (working dir: D:\Artin\projects\Artin\timemission_maven\lib)
+Folder: interclient (working dir: D:\Artin\projects\Artin\timemission_maven\lib\interclient)
+Folder: jars (working dir: D:\Artin\projects\Artin\timemission_maven\lib\interclient\jars)
+History for: interclient.jar
+Description:
+Locked by:
+Status: Current
+----------------------------
+Revision: 1 View: Playground Branch Revision: 1.0
+Author: Najvarek, Jan Date: 04-6-28 9:57:29 GMT+02:00
+=============================================================================
+
+Folder: j2ee (working dir: D:\Artin\projects\Artin\timemission_maven\lib\j2ee)
+Folder: jars (working dir: D:\Artin\projects\Artin\timemission_maven\lib\j2ee\jars)
+Folder: jfreechart (working dir: D:\Artin\projects\Artin\timemission_maven\lib\jfreechart)
+Folder: jars (working dir: D:\Artin\projects\Artin\timemission_maven\lib\jfreechart\jars)
+Folder: mail (working dir: D:\Artin\projects\Artin\timemission_maven\lib\mail)
+Folder: jars (working dir: D:\Artin\projects\Artin\timemission_maven\lib\mail\jars)
+Folder: src (working dir: D:\Artin\projects\Artin\timemission_maven\src)
+Folder: conf (working dir: D:\Artin\projects\Artin\timemission_maven\src\conf)
+Folder: java (working dir: D:\Artin\projects\Artin\timemission_maven\src\java)
+Folder: cz (working dir: D:\Artin\projects\Artin\timemission_maven\src\java\cz)
+Folder: artin (working dir: D:\Artin\projects\Artin\timemission_maven\src\java\cz\artin)
+Folder: timemission (working dir: D:\Artin\projects\Artin\timemission_maven\src\java\cz\artin\timemission)
+History for: AssignedProject.java
+Description:
+Locked by:
+Status: Current
+----------------------------
+Revision: 1 View: Playground Branch Revision: 1.0
+Author: Najvarek, Jan Date: 04-6-28 9:57:38 GMT+02:00
+=============================================================================
+
+History for: AssignedProjectViewDef.java
+Description:
+Locked by:
+Status: Current
+----------------------------
+Revision: 1 View: Playground Branch Revision: 1.0
+Author: Najvarek, Jan Date: 04-6-28 9:57:48 GMT+02:00
+=============================================================================
+
+History for: Base32.java
+Description:
+Locked by:
+Status: Current
+----------------------------
+Revision: 1 View: Playground Branch Revision: 1.0
+Author: Najvarek, Jan Date: 04-6-28 9:57:52 GMT+02:00
+=============================================================================
+
+Folder: test (working dir: D:\Artin\projects\Artin\timemission_maven\src\test)
+Folder: cz (working dir: D:\Artin\projects\Artin\timemission_maven\src\test\cz)
+Folder: artin (working dir: D:\Artin\projects\Artin\timemission_maven\src\test\cz\artin)
+Folder: timemission (working dir: D:\Artin\projects\Artin\timemission_maven\src\test\cz\artin\timemission)
+Folder: webapp (working dir: D:\Artin\projects\Artin\timemission_maven\src\webapp)
+Folder: jsp (working dir: D:\Artin\projects\Artin\timemission_maven\src\webapp\jsp)
+Folder: target (working dir: D:\Artin\projects\Artin\timemission_maven\target)
+Folder: classes (working dir: D:\Artin\projects\Artin\timemission_maven\target\classes)
+Folder: cz (working dir: D:\Artin\projects\Artin\timemission_maven\target\classes\cz)
+Folder: artin (working dir: D:\Artin\projects\Artin\timemission_maven\target\classes\cz\artin)
+Folder: timemission (working dir: D:\Artin\projects\Artin\timemission_maven\target\classes\cz\artin\timemission)
+Folder: test-classes (working dir: D:\Artin\projects\Artin\timemission_maven\target\test-classes)
+Folder: cz (working dir: D:\Artin\projects\Artin\timemission_maven\target\test-classes\cz)
+Folder: artin (working dir: D:\Artin\projects\Artin\timemission_maven\target\test-classes\cz\artin)
+Folder: timemission (working dir: D:\Artin\projects\Artin\timemission_maven\target\test-classes\cz\artin\timemission)
+Folder: test-reports (working dir: D:\Artin\projects\Artin\timemission_maven\target\test-reports)
+Folder: tm (working dir: D:\Artin\projects\Artin\timemission_maven\target\tm)
+Folder: jsp (working dir: D:\Artin\projects\Artin\timemission_maven\target\tm\jsp)
+Folder: WEB-INF (working dir: D:\Artin\projects\Artin\timemission_maven\target\tm\WEB-INF)
+Folder: classes (working dir: D:\Artin\projects\Artin\timemission_maven\target\tm\WEB-INF\classes)
+Folder: cz (working dir: D:\Artin\projects\Artin\timemission_maven\target\tm\WEB-INF\classes\cz)
+Folder: artin (working dir: D:\Artin\projects\Artin\timemission_maven\target\tm\WEB-INF\classes\cz\artin)
+Folder: timemission (working dir: D:\Artin\projects\Artin\timemission_maven\target\tm\WEB-INF\classes\cz\artin\timemission)
+Folder: lib (working dir: D:\Artin\projects\Artin\timemission_maven\target\tm\WEB-INF\lib)
+Folder: tld (working dir: D:\Artin\projects\Artin\timemission_maven\target\tm\WEB-INF\tld)
diff --git a/changelog/src/test/org/apache/maven/starteamlib/StarteamChangeLogParser2Test.java b/changelog/src/test/org/apache/maven/starteamlib/StarteamChangeLogParser2Test.java
new file mode 100644
index 00000000..22bf041a
--- /dev/null
+++ b/changelog/src/test/org/apache/maven/starteamlib/StarteamChangeLogParser2Test.java
@@ -0,0 +1,84 @@
+package org.apache.maven.starteamlib;
+
+/* ====================================================================
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ====================================================================
+ */
+
+import java.io.FileInputStream;
+import java.text.SimpleDateFormat;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.Locale;
+import junit.framework.TestCase;
+
+import org.apache.maven.changelog.ChangeLogEntry;
+
+
+/**
+ * Test cases for {@link StarteamChangeLogParser}
+ * @author Emmanuel Venisse
+ * @version $Id: StarteamChangeLogParser2Test.java,v 1.1 2004/07/08 08:36:51 evenisse Exp $
+ */
+public class StarteamChangeLogParser2Test extends TestCase
+{
+
+ /** the {@link StarteamChangeLogParser} used for testing */
+ private StarteamChangeLogParser instance;
+ /** file with test results to check against */
+ private String testFile;
+
+ /**
+ * Create a test with the given name
+ * @param testName the name of the test
+ */
+ public StarteamChangeLogParser2Test(String testName)
+ {
+ super(testName);
+ }
+
+ /**
+ * Initialize per test data
+ * @throws Exception when there is an unexpected problem
+ */
+ public void setUp() throws Exception
+ {
+ String baseDir = System.getProperty("basedir");
+ assertNotNull("The system property basedir was not defined.", baseDir);
+ testFile = baseDir + "/src/test-resources/starteamlib/starteamlog2.txt";
+ instance = new StarteamChangeLogParser();
+ }
+
+ /**
+ * Test of parse method
+ * @throws Exception when there is an unexpected problem
+ */
+ public void testParse() throws Exception
+ {
+ FileInputStream fis = new FileInputStream(testFile);
+ instance.setDateFormatInFile("yy-MM-dd HH:mm");
+ Collection entries = instance.parse(fis);
+ assertEquals("Wrong number of entries returned", 3, entries.size());
+ ChangeLogEntry entry = null;
+ for (Iterator i = entries.iterator(); i.hasNext(); )
+ {
+ entry = (ChangeLogEntry) i.next();
+ assertTrue("ChangeLogEntry erroneously picked up",
+ entry.toString().indexOf("ChangeLogEntry.java") == -1);
+ }
+
+ }
+
+}
diff --git a/changelog/src/test/org/apache/maven/starteamlib/StarteamChangeLogParserTest.java b/changelog/src/test/org/apache/maven/starteamlib/StarteamChangeLogParserTest.java
index 05215156..ec160fb9 100644
--- a/changelog/src/test/org/apache/maven/starteamlib/StarteamChangeLogParserTest.java
+++ b/changelog/src/test/org/apache/maven/starteamlib/StarteamChangeLogParserTest.java
@@ -30,7 +30,7 @@ import org.apache.maven.changelog.ChangeLogEntry;
/**
* Test cases for {@link StarteamChangeLogParser}
* @author Emmanuel Venisse
- * @version $Id: StarteamChangeLogParserTest.java,v 1.2 2004/03/02 15:00:19 evenisse Exp $
+ * @version $Id: StarteamChangeLogParserTest.java,v 1.3 2004/07/08 08:36:51 evenisse Exp $
*/
public class StarteamChangeLogParserTest extends TestCase
{
@@ -68,7 +68,7 @@ public class StarteamChangeLogParserTest extends TestCase
public void testParse() throws Exception
{
FileInputStream fis = new FileInputStream(testFile);
- instance.setDateFormatInFile(new SimpleDateFormat("dd/MM/yy HH:mm", Locale.FRENCH));
+ instance.setDateFormatInFile("dd/MM/yy HH:mm");
Collection entries = instance.parse(fis);
assertEquals("Wrong number of entries returned", 3, entries.size());
ChangeLogEntry entry = null;
diff --git a/changelog/xdocs/changes.xml b/changelog/xdocs/changes.xml
index e8003454..6f1b5efc 100644
--- a/changelog/xdocs/changes.xml
+++ b/changelog/xdocs/changes.xml
@@ -25,6 +25,9 @@
Emmanuel Venisse
+
+ Add the possibility to specify a date format for input stream (Starteam only).
+
Prevent any NPE depending on certain repository definition conditions
Build and run plugin against the installed version of Maven
diff --git a/changelog/xdocs/properties.xml b/changelog/xdocs/properties.xml
index cd9f97d8..cb7e4904 100644
--- a/changelog/xdocs/properties.xml
+++ b/changelog/xdocs/properties.xml
@@ -83,6 +83,13 @@
the xdoc plugin, it defaults to ISO-8859-1
+
+ | maven.changelog.dateformat |
+ Yes |
+
+ The date format in input stream. It's only used by Starteam changelog.
+ |
+