org.apache.maven.clearcaselib
Class ClearcaseChangeLogGenerator

java.lang.Object
  extended byorg.apache.maven.changelog.AbstractChangeLogGenerator
      extended byorg.apache.maven.clearcaselib.ClearcaseChangeLogGenerator
All Implemented Interfaces:
ChangeLogGenerator, org.apache.tools.ant.taskdefs.ExecuteStreamHandler

public class ClearcaseChangeLogGenerator
extends AbstractChangeLogGenerator

A Clearcase implementation of the ChangeLogGenerator interface realized extending the AbstractChangeLogGenerator. The command line build by this class uses the lshistory clearcase command and formats the output in a way the ClearcaseChangeLogParser can understand. Due to this fact this implementations works only if used within a clearcase view. The command looks like this:

cleartool lshistory -recurse -nco -since SAMEDATE -fmt "NAME:%En\\nDATE:%Nd\\nCOMM:%-12.12o - %o - %c - Activity: %[activity]p\\nUSER:%-8.8u\\n"

Author:
Simone Zorzetti

Field Summary
 
Fields inherited from class org.apache.maven.changelog.AbstractChangeLogGenerator
base, changeLogExecutor, clParser, commentFormat, dateRange, entries, errorReader, in, logEnd, logStart, tag, type
 
Constructor Summary
ClearcaseChangeLogGenerator()
           
 
Method Summary
protected  String getScmDateArgument(Date before, Date to)
          Construct the command-line argument that is passed to the scm client to specify the appropriate date range.
protected  org.apache.tools.ant.types.Commandline getScmLogCommand()
          Constructs the appropriate command line to execute the scm's log command.
protected  String getScmTagArgument(String tagStart, String tagEnd)
          Construct the command-line argument that is passed to the scm client to specify the appropriate tag.
 
Methods inherited from class org.apache.maven.changelog.AbstractChangeLogGenerator
cleanup, getCommentFormat, getConnection, getEntries, getLogEnd, getLogStart, handleParserException, init, logExecute, setCommentFormat, setConnection, setDateRange, setDateRangeFromAbsoluteDate, setLogEnd, setLogStart, setProcessErrorStream, setProcessInputStream, setProcessOutputStream, start, stop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ClearcaseChangeLogGenerator

public ClearcaseChangeLogGenerator()
Method Detail

getScmLogCommand

protected org.apache.tools.ant.types.Commandline getScmLogCommand()
Constructs the appropriate command line to execute the scm's log command. For Clearcase it's lshistory.

Specified by:
getScmLogCommand in class AbstractChangeLogGenerator
Returns:
The command line to be executed.
See Also:
AbstractChangeLogGenerator.getScmLogCommand()

getScmDateArgument

protected String getScmDateArgument(Date before,
                                    Date to)
Construct the command-line argument that is passed to the scm client to specify the appropriate date range.

Specified by:
getScmDateArgument in class AbstractChangeLogGenerator
Parameters:
before - The starting point.
to - The ending point.
Returns:
A string that can be used to specify a date to a scm system.
See Also:
AbstractChangeLogGenerator.getScmDateArgument(java.util.Date, java.util.Date)

getScmTagArgument

protected String getScmTagArgument(String tagStart,
                                   String tagEnd)
Description copied from class: AbstractChangeLogGenerator
Construct the command-line argument that is passed to the scm client to specify the appropriate tag.

Specified by:
getScmTagArgument in class AbstractChangeLogGenerator
Parameters:
tagStart - The tag name for the start of the log (log shouldn't actually contain the tag).
tagEnd - The tag name for the end of the log (the log can contain this tag), or null to log all changes since tagStart.
Returns:
A string that can be used to specify the tag range to a scm system.
See Also:
AbstractChangeLogGenerator.getScmTagArgument(String, String)


Copyright © 2001-2007 Apache Software Foundation. All Rights Reserved.