FileDocCategorySizeDatePackage
CCCheckin.javaAPI DocApache Ant 1.709681Wed Dec 13 06:16:24 GMT 2006org.apache.tools.ant.taskdefs.optional.clearcase

CCCheckin

public class CCCheckin extends ClearCase
Performs ClearCase checkin.

The following attributes are interpreted:
Attribute Values Required
viewpath Path to the ClearCase view file or directory that the command will operate on No
comment Specify a comment. Only one of comment or cfile may be used. No
commentfile Specify a file containing a comment. Only one of comment or cfile may be used. No
nowarn Suppress warning messages No
preservetime Preserve the modification time No
keepcopy Keeps a copy of the file with a .keep extension No
identical Allows the file to be checked in even if it is identical to the original No
failonerr Throw an exception if the command fails. Default is true No

Fields Summary
private String
mComment
private String
mCfile
private boolean
mNwarn
private boolean
mPtime
private boolean
mKeep
private boolean
mIdentical
public static final String
FLAG_COMMENT
-c flag -- comment to attach to the file
public static final String
FLAG_COMMENTFILE
-cfile flag -- file containing a comment to attach to the file
public static final String
FLAG_NOCOMMENT
-nc flag -- no comment is specified
public static final String
FLAG_NOWARN
-nwarn flag -- suppresses warning messages
public static final String
FLAG_PRESERVETIME
-ptime flag -- preserves the modification time
public static final String
FLAG_KEEPCOPY
-keep flag -- keeps a copy of the file with a .keep extension
public static final String
FLAG_IDENTICAL
-identical flag -- allows the file to be checked in even if it is identical to the original
Constructors Summary
Methods Summary
private voidcheckOptions(org.apache.tools.ant.types.Commandline cmd)
Check the command line options.

        if (getComment() != null) {
            // -c
            getCommentCommand(cmd);
        } else {
            if (getCommentFile() != null) {
                // -cfile
                getCommentFileCommand(cmd);
            } else {
                cmd.createArgument().setValue(FLAG_NOCOMMENT);
            }
        }

        if (getNoWarn()) {
            // -nwarn
            cmd.createArgument().setValue(FLAG_NOWARN);
        }

        if (getPreserveTime()) {
            // -ptime
            cmd.createArgument().setValue(FLAG_PRESERVETIME);
        }

        if (getKeepCopy()) {
            // -keep
            cmd.createArgument().setValue(FLAG_KEEPCOPY);
        }

        if (getIdentical()) {
            // -identical
            cmd.createArgument().setValue(FLAG_IDENTICAL);
        }

        // viewpath
        cmd.createArgument().setValue(getViewPath());
    
public voidexecute()
Executes the task.

Builds a command line to execute cleartool and then calls Exec's run method to execute the command line.

throws
BuildException if the command fails and failonerr is set to true


                                           
         
        Commandline commandLine = new Commandline();
        Project aProj = getProject();
        int result = 0;

        // Default the viewpath to basedir if it is not specified
        if (getViewPath() == null) {
            setViewPath(aProj.getBaseDir().getPath());
        }

        // build the command line from what we got. the format is
        // cleartool checkin [options...] [viewpath ...]
        // as specified in the CLEARTOOL.EXE help
        commandLine.setExecutable(getClearToolCommand());
        commandLine.createArgument().setValue(COMMAND_CHECKIN);

        checkOptions(commandLine);

        if (!getFailOnErr()) {
            getProject().log("Ignoring any errors that occur for: "
                    + getViewPathBasename(), Project.MSG_VERBOSE);
        }
        result = run(commandLine);
        if (Execute.isFailure(result) && getFailOnErr()) {
            String msg = "Failed executing: " + commandLine.toString();
            throw new BuildException(msg, getLocation());
        }
    
public java.lang.StringgetComment()
Get comment string

return
String containing the comment

        return mComment;
    
private voidgetCommentCommand(org.apache.tools.ant.types.Commandline cmd)
Get the 'comment' command

param
cmd containing the command line string with or without the comment flag and string appended

        if (getComment() != null) {
            /* Had to make two separate commands here because if a space is
               inserted between the flag and the value, it is treated as a
               Windows filename with a space and it is enclosed in double
               quotes ("). This breaks clearcase.
            */
            cmd.createArgument().setValue(FLAG_COMMENT);
            cmd.createArgument().setValue(getComment());
        }
    
public java.lang.StringgetCommentFile()
Get comment file

return
String containing the path to the comment file

        return mCfile;
    
private voidgetCommentFileCommand(org.apache.tools.ant.types.Commandline cmd)
Get the 'commentfile' command

param
cmd containing the command line string with or without the commentfile flag and file appended

        if (getCommentFile() != null) {
            /* Had to make two separate commands here because if a space is
               inserted between the flag and the value, it is treated as a
               Windows filename with a space and it is enclosed in double
               quotes ("). This breaks clearcase.
            */
            cmd.createArgument().setValue(FLAG_COMMENTFILE);
            cmd.createArgument().setValue(getCommentFile());
        }
    
public booleangetIdentical()
Get identical flag status

return
boolean containing status of identical flag

        return mIdentical;
    
public booleangetKeepCopy()
Get keepcopy flag status

return
boolean containing status of keepcopy flag

        return mKeep;
    
public booleangetNoWarn()
Get nowarn flag status

return
boolean containing status of nwarn flag

        return mNwarn;
    
public booleangetPreserveTime()
Get preservetime flag status

return
boolean containing status of preservetime flag

        return mPtime;
    
public voidsetComment(java.lang.String comment)
Sets the comment string.

param
comment the comment string

        mComment = comment;
    
public voidsetCommentFile(java.lang.String cfile)
Specifies a file containing a comment.

param
cfile the path to the comment file

        mCfile = cfile;
    
public voidsetIdentical(boolean identical)
If true, allows the file to be checked in even if it is identical to the original.

param
identical the status to set the flag to

        mIdentical = identical;
    
public voidsetKeepCopy(boolean keep)
If true, keeps a copy of the file with a .keep extension.

param
keep the status to set the flag to

        mKeep = keep;
    
public voidsetNoWarn(boolean nwarn)
If true, suppress warning messages.

param
nwarn the status to set the flag to

        mNwarn = nwarn;
    
public voidsetPreserveTime(boolean ptime)
If true, preserve the modification time.

param
ptime the status to set the flag to

        mPtime = ptime;