Author: ltheussl
Date: Thu Jan 19 11:29:01 2006
New Revision: 370578

URL: http://svn.apache.org/viewcvs?rev=370578&view=rev
Log:
PR: MPCHANGELOG-80
Submitted by: Christoph Jerolimov
Add MKS SI support

Added:
    maven/maven-1/plugins/trunk/changelog/src/main/org/apache/maven/mkslib/
    
maven/maven-1/plugins/trunk/changelog/src/main/org/apache/maven/mkslib/MksChangeLogFactory.java
   (with props)
    
maven/maven-1/plugins/trunk/changelog/src/main/org/apache/maven/mkslib/MksChangeLogGenerator.java
   (with props)
    
maven/maven-1/plugins/trunk/changelog/src/main/org/apache/maven/mkslib/MksChangeLogParser.java
   (with props)
    maven/maven-1/plugins/trunk/changelog/src/test-resources/mkslib/
    maven/maven-1/plugins/trunk/changelog/src/test-resources/mkslib/mkslog.txt  
 (with props)
    maven/maven-1/plugins/trunk/changelog/src/test/org/apache/maven/mkslib/
    
maven/maven-1/plugins/trunk/changelog/src/test/org/apache/maven/mkslib/MksChangeLogParserTest.java
   (with props)
Modified:
    maven/maven-1/plugins/trunk/changelog/project.xml
    
maven/maven-1/plugins/trunk/changelog/src/main/org/apache/maven/changelog/ChangeLog.java
    
maven/maven-1/plugins/trunk/changelog/src/test/org/apache/maven/cvslib/CvsConnectionTest.java
    
maven/maven-1/plugins/trunk/changelog/src/test/org/apache/maven/util/RepositoryTest.java
    maven/maven-1/plugins/trunk/changelog/xdocs/changes.xml
    maven/maven-1/plugins/trunk/changelog/xdocs/index.xml
    maven/maven-1/plugins/trunk/changelog/xdocs/properties.xml

Modified: maven/maven-1/plugins/trunk/changelog/project.xml
URL: 
http://svn.apache.org/viewcvs/maven/maven-1/plugins/trunk/changelog/project.xml?rev=370578&r1=370577&r2=370578&view=diff
==============================================================================
--- maven/maven-1/plugins/trunk/changelog/project.xml (original)
+++ maven/maven-1/plugins/trunk/changelog/project.xml Thu Jan 19 11:29:01 2006
@@ -84,6 +84,9 @@
     <contributor>
       <name>David Jackman</name>
     </contributor>
+    <contributor>
+      <name>Christoph Jerolimov</name>
+    </contributor>
   </contributors>
   <developers>
     <developer>

Modified: 
maven/maven-1/plugins/trunk/changelog/src/main/org/apache/maven/changelog/ChangeLog.java
URL: 
http://svn.apache.org/viewcvs/maven/maven-1/plugins/trunk/changelog/src/main/org/apache/maven/changelog/ChangeLog.java?rev=370578&r1=370577&r2=370578&view=diff
==============================================================================
--- 
maven/maven-1/plugins/trunk/changelog/src/main/org/apache/maven/changelog/ChangeLog.java
 (original)
+++ 
maven/maven-1/plugins/trunk/changelog/src/main/org/apache/maven/changelog/ChangeLog.java
 Thu Jan 19 11:29:01 2006
@@ -72,6 +72,7 @@
         FACTORIES.put( "starteam",
             "org.apache.maven.starteamlib.StarteamChangeLogFactory" );
         FACTORIES.put( "vss", "org.apache.maven.vsslib.VssChangeLogFactory" );
+        FACTORIES.put( "mks", "org.apache.maven.mkslib.MksChangeLogFactory" );
     }
 
     /** Used to specify whether to build the log from a range, absolute date, 
or tag. */

Added: 
maven/maven-1/plugins/trunk/changelog/src/main/org/apache/maven/mkslib/MksChangeLogFactory.java
URL: 
http://svn.apache.org/viewcvs/maven/maven-1/plugins/trunk/changelog/src/main/org/apache/maven/mkslib/MksChangeLogFactory.java?rev=370578&view=auto
==============================================================================
--- 
maven/maven-1/plugins/trunk/changelog/src/main/org/apache/maven/mkslib/MksChangeLogFactory.java
 (added)
+++ 
maven/maven-1/plugins/trunk/changelog/src/main/org/apache/maven/mkslib/MksChangeLogFactory.java
 Thu Jan 19 11:29:01 2006
@@ -0,0 +1,52 @@
+package org.apache.maven.mkslib;
+
+/* ====================================================================
+ *   Copyright 2006 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 org.apache.maven.changelog.ChangeLogFactory;
+import org.apache.maven.changelog.ChangeLogGenerator;
+import org.apache.maven.changelog.ChangeLogParser;
+
+/**
+ * Provides mks ChangeLogGenerator and ChangeLogParser.
+ *
+ * @author <a href="mailto:[EMAIL PROTECTED]">Christoph Jerolimov</a>
+ * @version $Id$
+ */
+public class MksChangeLogFactory implements ChangeLogFactory
+{
+    /**
+     * Create a MKS specific ChangeLogGenerator.
+     *
+     * @return a MKS specific ChangeLogGenerator.
+     */
+    public ChangeLogGenerator createGenerator()
+    {
+        return new MksChangeLogGenerator();
+    }
+
+    /**
+     * Create a MKS specific ChangeLogParser.
+     *
+     * @return a MKS specific ChangeLogParser.
+     */
+    public ChangeLogParser createParser()
+    {
+        return new MksChangeLogParser();
+    }
+}

Propchange: 
maven/maven-1/plugins/trunk/changelog/src/main/org/apache/maven/mkslib/MksChangeLogFactory.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
maven/maven-1/plugins/trunk/changelog/src/main/org/apache/maven/mkslib/MksChangeLogFactory.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: 
maven/maven-1/plugins/trunk/changelog/src/main/org/apache/maven/mkslib/MksChangeLogGenerator.java
URL: 
http://svn.apache.org/viewcvs/maven/maven-1/plugins/trunk/changelog/src/main/org/apache/maven/mkslib/MksChangeLogGenerator.java?rev=370578&view=auto
==============================================================================
--- 
maven/maven-1/plugins/trunk/changelog/src/main/org/apache/maven/mkslib/MksChangeLogGenerator.java
 (added)
+++ 
maven/maven-1/plugins/trunk/changelog/src/main/org/apache/maven/mkslib/MksChangeLogGenerator.java
 Thu Jan 19 11:29:01 2006
@@ -0,0 +1,79 @@
+package org.apache.maven.mkslib;
+
+/* ====================================================================
+ *   Copyright 2006 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.util.Date;
+
+import org.apache.maven.changelog.AbstractChangeLogGenerator;
+import org.apache.maven.util.RepositoryUtils;
+import org.apache.tools.ant.types.Commandline;
+
+/**
+ * A log-generator for the mks commandline tool.
+ *
+ * It supports an input file with <code>
+ *
+ * @author <a href="mailto:[EMAIL PROTECTED]">Christoph Jerolimov</a>
+ * @version $Id$
+ */
+public class MksChangeLogGenerator extends AbstractChangeLogGenerator
+{
+
+    /**
+     * @return the mks command line to be executed.
+     */
+    protected Commandline getScmLogCommand()
+    {
+        String[] tokens =
+            RepositoryUtils.splitSCMConnection( getConnection() );
+
+        Commandline commandline = new Commandline();
+
+        commandline.setExecutable( tokens[2] );
+
+        for ( int i = 3; i < tokens.length; i++ )
+        {
+            commandline.createArgument().setValue( tokens[i] );
+        }
+
+        return commandline;
+    }
+
+    /**
+     * Construct the MKS command-line argument that is used to specify the
+     * appropriate date range. Currently always returns null.
+     *
+     * @param before The starting point.
+     * @param to The ending point.
+     * @return A string that can be used to specify a date to a scm system.
+     */
+    protected String getScmDateArgument( Date before, Date to )
+    {
+        return null;
+    }
+
+    /**
+     * Currently always returns null.
+     * @see AbstractChangeLogGenerator#getScmTagArgument(String, String)
+     */
+    protected String getScmTagArgument( String tagStart, String tagEnd )
+    {
+        return null;
+    }
+}

Propchange: 
maven/maven-1/plugins/trunk/changelog/src/main/org/apache/maven/mkslib/MksChangeLogGenerator.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
maven/maven-1/plugins/trunk/changelog/src/main/org/apache/maven/mkslib/MksChangeLogGenerator.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: 
maven/maven-1/plugins/trunk/changelog/src/main/org/apache/maven/mkslib/MksChangeLogParser.java
URL: 
http://svn.apache.org/viewcvs/maven/maven-1/plugins/trunk/changelog/src/main/org/apache/maven/mkslib/MksChangeLogParser.java?rev=370578&view=auto
==============================================================================
--- 
maven/maven-1/plugins/trunk/changelog/src/main/org/apache/maven/mkslib/MksChangeLogParser.java
 (added)
+++ 
maven/maven-1/plugins/trunk/changelog/src/main/org/apache/maven/mkslib/MksChangeLogParser.java
 Thu Jan 19 11:29:01 2006
@@ -0,0 +1,286 @@
+package org.apache.maven.mkslib;
+
+/* ====================================================================
+ *   Copyright 2006 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.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Date;
+import java.util.Map;
+import java.util.TreeMap;
+
+import org.apache.maven.changelog.ChangeLog;
+import org.apache.maven.changelog.ChangeLogEntry;
+import org.apache.maven.changelog.ChangeLogFile;
+import org.apache.maven.changelog.ChangeLogParser;
+
+/**
+ * This class parse mks log output.
+ *
+ * @author <a href="mailto:[EMAIL PROTECTED]">Christoph Jerolimov</a>
+ * @version $Id$
+ */
+public class MksChangeLogParser implements ChangeLogParser
+{
+    /**
+     * This date/time formatter will be uses to parse a mks date.
+     */
+    private static final SimpleDateFormat MKS_TIMESTAMP_FORMAT =
+        new SimpleDateFormat( "MMM d, yyyy - h:mm a" );
+
+    /**
+     * Custom date/time formatter. Rounds ChangeLogEntry times to the nearest
+     * minute.
+     */
+    private static final SimpleDateFormat ENTRY_KEY_TIMESTAMP_FORMAT =
+        new SimpleDateFormat( "yyyyMMddHHmm" );
+
+    /** expecting file name */
+    private static final int GET_FILE_NAME = 1;
+
+    /** expecting file revision */
+    private static final int GET_FILE_REVISION = 2;
+
+    /** expecting entry revision */
+    private static final int WAITFOR_ENTRY_REVISION = 3;
+
+    /** expecting file revision */
+    private static final int GET_ENTRY_INFO = 4;
+
+    /** expecting file revision */
+    private static final int GET_ENTRY_COMMENT = 5;
+
+    /** rcs entries, in reverse (date, time, author, comment) order */
+    private Map entries = new TreeMap( Collections.reverseOrder() );
+
+    /** current status of the parser */
+    private int status = GET_FILE_NAME;
+
+    /** current changelog entry */
+    private ChangeLogEntry changeLogEntry;
+
+    /** current changelog file */
+    private ChangeLogFile changeLogFile;
+
+    public void init( ChangeLog changeLog )
+    {
+    }
+
+    public void cleanup()
+    {
+    }
+
+    public void setDateFormatInFile( String dateFormat )
+    {
+    }
+
+    public Collection parse( InputStream in )
+        throws IOException
+    {
+        try
+        {
+            BufferedReader reader =
+                new BufferedReader( new InputStreamReader( in ) );
+
+            String line;
+
+            while ( ( line = reader.readLine() ) != null )
+            {
+                if ( line.startsWith(
+                        "========================================" ) )
+                {
+                    status = GET_FILE_NAME;
+                }
+
+                switch ( status )
+                {
+                case GET_FILE_NAME :
+                    addEntry();
+                    processGetFileName( line );
+
+                    break;
+
+                case GET_FILE_REVISION :
+                    processGetFileRevision( line );
+
+                    break;
+
+                case WAITFOR_ENTRY_REVISION :
+                    processWaitForEntryRevision( line );
+
+                    break;
+
+                case GET_ENTRY_INFO :
+                    processGetEntryInfo( line );
+
+                    break;
+
+                case GET_ENTRY_COMMENT :
+                    processGetEntryComment( line );
+
+                    break;
+
+                default :
+
+                    // wait for next entry
+                    break;
+                }
+            }
+
+            addEntry();
+        }
+        catch ( RuntimeException e )
+        {
+            e.printStackTrace();
+            throw e;
+        }
+        catch ( IOException e )
+        {
+            e.printStackTrace();
+            throw e;
+        }
+
+        return entries.values();
+    }
+
+    protected void processGetFileName( String line )
+    {
+        if ( line.startsWith( "member name: " ) )
+        {
+            String filename;
+
+            if ( line.indexOf( ";" ) == -1 )
+            {
+                filename = line.substring( 13 );
+            }
+            else
+            {
+                filename = line.substring( 13, line.indexOf( ";" ) );
+            }
+
+            changeLogFile = new ChangeLogFile( filename );
+            status = GET_FILE_REVISION;
+        }
+    }
+
+    protected void processGetFileRevision( String line )
+    {
+        if ( line.startsWith( "member:\t" ) )
+        {
+            changeLogFile.setRevision( line.substring( 8 ) );
+            status = WAITFOR_ENTRY_REVISION;
+        }
+    }
+
+    protected void processWaitForEntryRevision( String line )
+    {
+        if ( line.equals( "-----------------------" ) )
+        {
+            status = GET_ENTRY_INFO;
+        }
+    }
+
+    protected void processGetEntryInfo( String line )
+    {
+        if ( line.startsWith( "date: " ) )
+        {
+            changeLogEntry = new ChangeLogEntry();
+
+            int posAuthor = line.indexOf( "; author: " );
+
+            if ( posAuthor == -1 )
+            {
+                return;
+            }
+
+            int posState = line.indexOf( "; state: " );
+
+            if ( posState == -1 )
+            {
+                return;
+            }
+
+            try
+            {
+                Date date =
+                    MKS_TIMESTAMP_FORMAT.parse( line.substring( 6, posAuthor ) 
);
+                String author = line.substring( posAuthor + 10, posState );
+
+                changeLogEntry.setDate( date );
+                changeLogEntry.setAuthor( author );
+                status = GET_ENTRY_COMMENT;
+            }
+            catch ( ParseException e )
+            {
+                throw new IllegalArgumentException( 
+                    "I don't understand this date: "
+                    + line.substring( 6, posAuthor ) );
+            }
+        }
+    }
+
+    protected void processGetEntryComment( String line )
+    {
+        if ( line.equals( "-----------------------" ) )
+        {
+            addEntry();
+            status = GET_ENTRY_INFO;
+
+            return;
+        }
+
+        changeLogEntry.setComment( changeLogEntry.getComment() + line + "\n" );
+    }
+
+    protected void addEntry()
+    {
+        if ( ( changeLogEntry == null ) || ( changeLogFile == null ) )
+        {
+            return;
+        }
+
+        // do not add if entry is not populated
+        if ( ( changeLogEntry.getAuthor() == null )
+            || ( changeLogEntry.getDate() == null ) )
+        {
+            return;
+        }
+
+        String key =
+            ENTRY_KEY_TIMESTAMP_FORMAT.format( changeLogEntry.getDate() )
+            + changeLogEntry.getAuthor() + changeLogEntry.getComment();
+
+        if ( !entries.containsKey( key ) )
+        {
+            changeLogEntry.addFile( changeLogFile );
+            entries.put( key, changeLogEntry );
+        }
+        else
+        {
+            ( (ChangeLogEntry) entries.get( key ) ).addFile( changeLogFile );
+        }
+    }
+}

Propchange: 
maven/maven-1/plugins/trunk/changelog/src/main/org/apache/maven/mkslib/MksChangeLogParser.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
maven/maven-1/plugins/trunk/changelog/src/main/org/apache/maven/mkslib/MksChangeLogParser.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: 
maven/maven-1/plugins/trunk/changelog/src/test-resources/mkslib/mkslog.txt
URL: 
http://svn.apache.org/viewcvs/maven/maven-1/plugins/trunk/changelog/src/test-resources/mkslib/mkslog.txt?rev=370578&view=auto
==============================================================================
--- maven/maven-1/plugins/trunk/changelog/src/test-resources/mkslib/mkslog.txt 
(added)
+++ maven/maven-1/plugins/trunk/changelog/src/test-resources/mkslib/mkslog.txt 
Thu Jan 19 11:29:01 2006
@@ -0,0 +1,56 @@
+member name: myproject/myfile; working file: /myproject/myfile
+head:  1.1
+member:        1.1
+branch:        
+locks: ; strict
+attributes:    
+file format: text
+revision storage: reverse deltas
+total revisions: 1; branches: 0; branch revisions: 0
+description:
+Initial Version
+-----------------------
+revision 1.1
+date: Jan 16, 2006 - 16:02 PM; author: AUTHOR; state: InWork; lines: +0 -0
+Initial revision
+===============================================================================
+member name: myproject/myfile2;        working file: /myproject/myfile2
+head:  1.1
+member:        1.1
+branch:        
+locks: ; strict
+attributes:    
+file format: text
+revision storage: reverse deltas
+total revisions: 1; branches: 0; branch revisions: 0
+description:
+Initial Version
+-----------------------
+revision 1.1
+date: Jan 16, 2006 - 16:02 PM; author: AUTHOR; state: InWork; lines: +0 -0
+Initial revision
+===============================================================================
+member name: myproject/myfile3;        working file: /myproject/myfile3
+head:  1.3
+member:        1.3
+branch:        
+locks: ; strict
+attributes:    
+file format: text
+revision storage: reverse deltas
+total revisions: 1; branches: 0; branch revisions: 0
+description:
+Initial Version
+-----------------------
+revision 1.3
+date: Jan 16, 2006 - 16:14 PM; author: AUTHOR; state: InWork; lines: +0 -2
+Revision 1.3
+-----------------------
+revision 1.2
+date: Jan 16, 2006 - 16:11 PM; author: AUTHOR; state: InWork; lines: +2 -0
+Revision 1.2
+-----------------------
+revision 1.1
+date: Jan 16, 2006 - 16:02 PM; author: AUTHOR; state: InWork; lines: +0 -0
+Initial revision
+===============================================================================

Propchange: 
maven/maven-1/plugins/trunk/changelog/src/test-resources/mkslib/mkslog.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
maven/maven-1/plugins/trunk/changelog/src/test-resources/mkslib/mkslog.txt
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Modified: 
maven/maven-1/plugins/trunk/changelog/src/test/org/apache/maven/cvslib/CvsConnectionTest.java
URL: 
http://svn.apache.org/viewcvs/maven/maven-1/plugins/trunk/changelog/src/test/org/apache/maven/cvslib/CvsConnectionTest.java?rev=370578&r1=370577&r2=370578&view=diff
==============================================================================
--- 
maven/maven-1/plugins/trunk/changelog/src/test/org/apache/maven/cvslib/CvsConnectionTest.java
 (original)
+++ 
maven/maven-1/plugins/trunk/changelog/src/test/org/apache/maven/cvslib/CvsConnectionTest.java
 Thu Jan 19 11:29:01 2006
@@ -31,8 +31,6 @@
 public class CvsConnectionTest extends TestCase
 {
 
-    /** the [EMAIL PROTECTED] CvsConnection} used for testing */
-    private CvsConnection instance;
     /** test data */
     private String testData = ":pserver:[EMAIL PROTECTED]:/home/cvs";
     private String[] testTrueData = {

Added: 
maven/maven-1/plugins/trunk/changelog/src/test/org/apache/maven/mkslib/MksChangeLogParserTest.java
URL: 
http://svn.apache.org/viewcvs/maven/maven-1/plugins/trunk/changelog/src/test/org/apache/maven/mkslib/MksChangeLogParserTest.java?rev=370578&view=auto
==============================================================================
--- 
maven/maven-1/plugins/trunk/changelog/src/test/org/apache/maven/mkslib/MksChangeLogParserTest.java
 (added)
+++ 
maven/maven-1/plugins/trunk/changelog/src/test/org/apache/maven/mkslib/MksChangeLogParserTest.java
 Thu Jan 19 11:29:01 2006
@@ -0,0 +1,91 @@
+package org.apache.maven.mkslib;
+
+/* ====================================================================
+ *   Copyright 2006 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 junit.framework.TestCase;
+
+import org.apache.maven.changelog.ChangeLogEntry;
+
+import java.io.FileInputStream;
+import java.io.IOException;
+
+import java.util.Collection;
+import java.util.Iterator;
+
+/**
+ * This class test the mks parser with an inputstream.
+ *
+ * @author dion (writes CvsChangeLogParserTest)
+ * @author <a href="mailto:[EMAIL PROTECTED]">Christoph Jerolimov</a>
+ * @version $Id$
+ */
+public class MksChangeLogParserTest extends TestCase
+{
+    /** the [EMAIL PROTECTED] MksChangeLogParser} used for testing */
+    private MksChangeLogParser 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 MksChangeLogParserTest( 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/mkslib/mkslog.txt";
+        instance = new MksChangeLogParser();
+    }
+
+    /**
+     * Test the mks parser.
+     * @throws IOException when there is an unexpected problem
+     */
+    public void testParser()
+        throws IOException
+    {
+        FileInputStream fis = new FileInputStream( testFile );
+        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();
+            assertEquals( "Wrong author parsed", "AUTHOR", entry.getAuthor() );
+            System.out.println( entry );
+            assertTrue( "ChangeLogEntry erroneously picked up",
+                entry.toString().indexOf( "ChangeLogEntry.java" ) == -1 );
+        }
+    }
+}

Propchange: 
maven/maven-1/plugins/trunk/changelog/src/test/org/apache/maven/mkslib/MksChangeLogParserTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
maven/maven-1/plugins/trunk/changelog/src/test/org/apache/maven/mkslib/MksChangeLogParserTest.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Modified: 
maven/maven-1/plugins/trunk/changelog/src/test/org/apache/maven/util/RepositoryTest.java
URL: 
http://svn.apache.org/viewcvs/maven/maven-1/plugins/trunk/changelog/src/test/org/apache/maven/util/RepositoryTest.java?rev=370578&r1=370577&r2=370578&view=diff
==============================================================================
--- 
maven/maven-1/plugins/trunk/changelog/src/test/org/apache/maven/util/RepositoryTest.java
 (original)
+++ 
maven/maven-1/plugins/trunk/changelog/src/test/org/apache/maven/util/RepositoryTest.java
 Thu Jan 19 11:29:01 2006
@@ -55,7 +55,7 @@
         String con = "scm:cvs:local:/cvs/root";
         try
         {
-            String[] tokens = RepositoryUtils.splitSCMConnection(con);
+            RepositoryUtils.splitSCMConnection(con);
             fail("Should throw an exception splitting " + con);
         }
         catch ( IllegalArgumentException expected )
@@ -69,7 +69,7 @@
         String con = "scm:cvs:pserver:[EMAIL PROTECTED]:/cvs/root";
         try
         {
-            String[] tokens = RepositoryUtils.splitSCMConnection(con);
+            RepositoryUtils.splitSCMConnection(con);
             fail("Should throw an exception splitting " + con);
         }
         catch ( IllegalArgumentException expected )
@@ -83,7 +83,7 @@
         String con = "scm:cvs:local:foo:/cvs/root:module";
         try
         {
-            String[] tokens = RepositoryUtils.splitSCMConnection(con);
+            RepositoryUtils.splitSCMConnection(con);
             fail("Should throw an exception splitting " + con);
         }
         catch ( IllegalArgumentException expected )

Modified: maven/maven-1/plugins/trunk/changelog/xdocs/changes.xml
URL: 
http://svn.apache.org/viewcvs/maven/maven-1/plugins/trunk/changelog/xdocs/changes.xml?rev=370578&r1=370577&r2=370578&view=diff
==============================================================================
--- maven/maven-1/plugins/trunk/changelog/xdocs/changes.xml (original)
+++ maven/maven-1/plugins/trunk/changelog/xdocs/changes.xml Thu Jan 19 11:29:01 
2006
@@ -25,6 +25,7 @@
   </properties>
   <body>
     <release version="1.9-SNAPSHOT" date="in SVN">
+      <action dev="ltheussl" type="add" issue="MPCHANGELOG-80" 
due-to="Christoph Jerolimov">Add MKS SI support.</action>
       <action dev="ltheussl" type="fix" issue="MPCHANGELOG-69">Changelog 
returns 0 entries on Windows with CVS (not CVSNT). New property 
<code>maven.changelog.quoteDate</code>.</action>
       <action dev="ltheussl" type="fix" issue="MPCHANGELOG-74">Changelog 
plugin creates wrong links for Subversion repositories. New property 
<code>maven.changelog.svn.baseurl</code>.</action>
       <action dev="aheritier" type="update" issue="MAVEN-1712">Update 
dependencies to match ones in maven 1.1 core and to unify them between plugins. 
The following dependencies are updated : 

Modified: maven/maven-1/plugins/trunk/changelog/xdocs/index.xml
URL: 
http://svn.apache.org/viewcvs/maven/maven-1/plugins/trunk/changelog/xdocs/index.xml?rev=370578&r1=370577&r2=370578&view=diff
==============================================================================
--- maven/maven-1/plugins/trunk/changelog/xdocs/index.xml (original)
+++ maven/maven-1/plugins/trunk/changelog/xdocs/index.xml Thu Jan 19 11:29:01 
2006
@@ -30,9 +30,9 @@
       <p>
         This plugin produces a nicely formatted changelog report so
         project team members can see at a glance what changes have
-        been made recently to the project.  Currently, there are five
+        been made recently to the project.  Currently, there are six
         supported source control systems: CVS, Perforce, StarTeam, IBM
-        Rational ClearCase, Visual Source Safe and Subversion.
+        Rational ClearCase, Visual Source Safe, Subversion and MKS SI.
       </p>
       <p> 
         For more information on the functionality provided by this plugin,

Modified: maven/maven-1/plugins/trunk/changelog/xdocs/properties.xml
URL: 
http://svn.apache.org/viewcvs/maven/maven-1/plugins/trunk/changelog/xdocs/properties.xml?rev=370578&r1=370577&r2=370578&view=diff
==============================================================================
--- maven/maven-1/plugins/trunk/changelog/xdocs/properties.xml (original)
+++ maven/maven-1/plugins/trunk/changelog/xdocs/properties.xml Thu Jan 19 
11:29:01 2006
@@ -117,6 +117,8 @@
                   
href="apidocs/org/apache/maven/starteamlib/StarteamChangeLogFactory.html">org.apache.maven.starteamlib.StarteamChangeLogFactory</a></li>
               <li>Visual Source Safe: <a
                   
href="apidocs/org/apache/maven/vsslib/VssChangeLogFactory.html">org.apache.maven.vsslib.VssChangeLogFactory</a></li>
+              <li>MKS Source Integrity: <a
+                  
href="apidocs/org/apache/maven/mkslib/MksChangeLogFactory.html">org.apache.maven.mkslib.MksChangeLogFactory</a></li>
             </ul>
           </td>
         </tr>


Reply via email to