Search in sources :

Example 61 with ChangeSet

use of org.apache.maven.scm.ChangeSet in project maven-plugins by apache.

the class FileActivityReport method getOrderedFileList.

/**
 * reads the change log entries and generates a list of files changed order by the number of times edited. This
 * used the FileActivityComparator Object to sort the list
 *
 * @param entries the changelog entries to generate the report
 * @return list of changed files within the SCM with the number of times changed in descending order
 */
private List<List<ChangeFile>> getOrderedFileList(Collection<ChangeSet> entries) {
    List<List<ChangeFile>> list = new LinkedList<List<ChangeFile>>();
    Map<String, List<ChangeFile>> map = new HashMap<String, List<ChangeFile>>();
    for (ChangeSet entry : entries) {
        for (ChangeFile file : entry.getFiles()) {
            List<ChangeFile> revisions = map.get(file.getName());
            if (revisions == null) {
                revisions = new LinkedList<ChangeFile>();
                map.put(file.getName(), revisions);
            }
            revisions.add(file);
        }
    }
    list.addAll(map.values());
    Collections.sort(list, new FileActivityComparator());
    return list;
}
Also used : ChangeFile(org.apache.maven.scm.ChangeFile) HashMap(java.util.HashMap) List(java.util.List) LinkedList(java.util.LinkedList) ChangeSet(org.apache.maven.scm.ChangeSet) LinkedList(java.util.LinkedList)

Example 62 with ChangeSet

use of org.apache.maven.scm.ChangeSet in project maven-plugins by apache.

the class ChangeLogTest method testReadFile.

public void testReadFile() throws Exception {
    List<ChangeLogSet> changedLogs = readChangeLogXml("min-changelog.xml");
    assertNotNull("Test changedSets were parsed", changedLogs);
    assertEquals("Test number of changelog entries", 2, changedLogs.size());
    ChangeLogSet changelogSets = changedLogs.get(0);
    assertEquals("Test number of revisions on changelog 1", 2, changelogSets.getChangeSets().size());
    ChangeSet changeSet = changelogSets.getChangeSets().get(0);
    assertEquals("Test changelog 1 set 1 date/time", "1977-08-06 05:30:00", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(changeSet.getDate()));
    assertEquals("Test changelog 1 set 1 author", "Edwin Punzalan", changeSet.getAuthor());
    assertEquals("Test changelog 1 set 1 msg", "First commit msg", changeSet.getComment());
    assertEquals("Test changelog 1 set 1 files", 1, changeSet.getFiles().size());
    ChangeFile changeFile = changeSet.getFiles().get(0);
    assertEquals("Test changelog 1 set 1 file 1 filename", "/path/to/file.extension", changeFile.getName());
    assertEquals("Test changelog 1 set 1 file 1 revision", "1", changeFile.getRevision());
    changeSet = changelogSets.getChangeSets().get(1);
    assertEquals("Test changelog 1 set 2 date/time", "2005-02-24 21:30:00", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(changeSet.getDate()));
    assertEquals("Test changelog 1 set 2 author", "Edwin Punzalan", changeSet.getAuthor());
    assertEquals("Test changelog 1 set 2 msg", "Second commit msg", changeSet.getComment());
    assertEquals("Test changelog 1 set 2 files", 2, changeSet.getFiles().size());
    changeFile = changeSet.getFiles().get(0);
    assertEquals("Test changelog 1 set 2 file 1 filename", "/path/to/file.extension", changeFile.getName());
    assertEquals("Test changelog 1 set 2 file 1 revision", "2", changeFile.getRevision());
    changeFile = changeSet.getFiles().get(1);
    assertEquals("Test changelog 1 set 2 file 2 filename", "/path/to/file2.extension", changeFile.getName());
    assertEquals("Test changelog 1 set 2 file 2 revision", "2", changeFile.getRevision());
    changelogSets = changedLogs.get(1);
    assertEquals("Test number of revisions on changelog 2", 2, changelogSets.getChangeSets().size());
    changeSet = changelogSets.getChangeSets().get(0);
    assertEquals("Test changelog 2 set 1 date/time", "2005-02-25 22:45:00", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(changeSet.getDate()));
    assertEquals("Test changelog 2 set 1 author", "Keogh Edrich Punzalan", changeSet.getAuthor());
    assertEquals("Test changelog 2 set 1 msg", "Third commit msg", changeSet.getComment());
    assertEquals("Test changelog 2 set 1 files", 1, changeSet.getFiles().size());
    changeFile = changeSet.getFiles().get(0);
    assertEquals("Test changelog 2 set 1 file 1 filename", "/path/to/file.extension", changeFile.getName());
    assertEquals("Test changelog 2 set 1 file 1 revision", "3", changeFile.getRevision());
    changeSet = changelogSets.getChangeSets().get(1);
    assertEquals("Test changelog 2 set 2 date/time", "2100-02-25 05:30:00", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(changeSet.getDate()));
    assertEquals("Test changelog 2 set 2 author", "Keogh Edrich Punzalan", changeSet.getAuthor());
    assertEquals("Test changelog 2 set 2 msg", "Last commit msg", changeSet.getComment());
    assertEquals("Test changelog 2 set 2 files", 2, changeSet.getFiles().size());
    changeFile = changeSet.getFiles().get(0);
    assertEquals("Test changelog 2 set 2 file 1 filename", "/path/to/file.extension", changeFile.getName());
    assertEquals("Test changelog 2 set 2 file 1 revision", "4", changeFile.getRevision());
    changeFile = changeSet.getFiles().get(1);
    assertEquals("Test changelog 2 set 2 file 2 filename", "/path/to/file2.extension", changeFile.getName());
    assertEquals("Test changelog 2 set 2 file 2 revision", "4", changeFile.getRevision());
}
Also used : ChangeLogSet(org.apache.maven.scm.command.changelog.ChangeLogSet) ChangeFile(org.apache.maven.scm.ChangeFile) ChangeSet(org.apache.maven.scm.ChangeSet) SimpleDateFormat(java.text.SimpleDateFormat)

Aggregations

ChangeSet (org.apache.maven.scm.ChangeSet)62 ChangeFile (org.apache.maven.scm.ChangeFile)34 ArrayList (java.util.ArrayList)21 Date (java.util.Date)18 ChangeLogSet (org.apache.maven.scm.command.changelog.ChangeLogSet)16 File (java.io.File)15 ChangeLogScmResult (org.apache.maven.scm.command.changelog.ChangeLogScmResult)15 Matcher (java.util.regex.Matcher)8 ScmException (org.apache.maven.scm.ScmException)8 BufferedReader (java.io.BufferedReader)7 SimpleDateFormat (java.text.SimpleDateFormat)7 ScmFile (org.apache.maven.scm.ScmFile)6 ScmFileSet (org.apache.maven.scm.ScmFileSet)5 ScmResult (org.apache.maven.scm.ScmResult)5 DefaultLog (org.apache.maven.scm.log.DefaultLog)5 FileReader (java.io.FileReader)4 List (java.util.List)4 ScmFileStatus (org.apache.maven.scm.ScmFileStatus)4 FileInputStream (java.io.FileInputStream)3 InputStreamReader (java.io.InputStreamReader)3