org.apache.tools.ant.taskdefs.optional.sos
Class SOS

java.lang.Object
  extended by org.apache.tools.ant.ProjectComponent
      extended by org.apache.tools.ant.Task
          extended by org.apache.tools.ant.taskdefs.optional.sos.SOS
All Implemented Interfaces:
java.lang.Cloneable, SOSCmd
Direct Known Subclasses:
SOSCheckin, SOSCheckout, SOSGet, SOSLabel

public abstract class SOS
extends Task
implements SOSCmd

A base class for creating tasks for executing commands on SourceOffSite. These tasks were inspired by the VSS tasks.


Field Summary
protected  Commandline commandLine
          Commandline to be executed.
 
Fields inherited from class org.apache.tools.ant.Task
target, taskName, taskType, wrapper
 
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
 
Fields inherited from interface org.apache.tools.ant.taskdefs.optional.sos.SOSCmd
COMMAND_CHECKIN_FILE, COMMAND_CHECKIN_PROJECT, COMMAND_CHECKOUT_FILE, COMMAND_CHECKOUT_PROJECT, COMMAND_GET_FILE, COMMAND_GET_PROJECT, COMMAND_HISTORY, COMMAND_LABEL, COMMAND_SOS_EXE, FLAG_COMMAND, FLAG_COMMENT, FLAG_FILE, FLAG_LABEL, FLAG_NO_CACHE, FLAG_NO_COMPRESSION, FLAG_PASSWORD, FLAG_PROJECT, FLAG_RECURSION, FLAG_SOS_HOME, FLAG_SOS_SERVER, FLAG_USERNAME, FLAG_VERBOSE, FLAG_VERSION, FLAG_VSS_SERVER, FLAG_WORKING_DIR, PROJECT_PREFIX
 
Constructor Summary
SOS()
           
 
Method Summary
 void execute()
          Execute the created command line.
protected  java.lang.String getComment()
          Get the comment
protected  java.lang.String getFilename()
          Get the filename to be acted upon.
protected  java.lang.String getLabel()
          Get the label
protected  java.lang.String getLocalPath()
          Builds and returns the working directory.
protected  java.lang.String getNoCache()
          Get the NoCache flag.
protected  java.lang.String getNoCompress()
          Get the NoCompress flag.
protected  void getOptionalAttributes()
          Adds the optional attributes to the command line.
protected  java.lang.String getPassword()
          Get the password
protected  java.lang.String getProjectPath()
          Get the project path
protected  java.lang.String getRecursive()
          Get the 'recursive' Flag.
protected  void getRequiredAttributes()
          Sets the executable and add the required attributes to the command line.
protected  java.lang.String getSosCommand()
          Get the executable to run.
protected  java.lang.String getSosHome()
          Get the SOS home directory.
protected  java.lang.String getSosServerPath()
          Get the SOS serve path.
protected  java.lang.String getUsername()
          Get the username
protected  java.lang.String getVerbose()
          Get the 'verbose' Flag.
protected  java.lang.String getVersion()
          Get the version
protected  java.lang.String getVssServerPath()
          Get the VSS server path
protected  int run(Commandline cmd)
          Execute the created command line.
protected  void setInternalComment(java.lang.String text)
          Set the comment text.
protected  void setInternalFilename(java.lang.String file)
          Set the file name.
protected  void setInternalLabel(java.lang.String text)
          Set the label.
protected  void setInternalRecursive(boolean recurse)
          Set the recursive flag.
protected  void setInternalVersion(java.lang.String text)
          Set the version.
 void setLocalPath(Path path)
          Override the working directory and get to the specified path.
 void setNoCache(boolean nocache)
          Flag to disable the cache when set.
 void setNoCompress(boolean nocompress)
          Flag to disable compression when set.
 void setPassword(java.lang.String password)
          The SourceSafe password.
 void setProjectPath(java.lang.String projectpath)
          The SourceSafe project path.
 void setSosCmd(java.lang.String dir)
          The directory where soscmd(.exe) is located.
 void setSosHome(java.lang.String sosHome)
          Path to the SourceOffSite home directory.
 void setSosServerPath(java.lang.String sosServerPath)
          The address and port of SourceOffSite Server, for example 192.168.0.1:8888.
 void setUsername(java.lang.String username)
          The SourceSafe username.
 void setVerbose(boolean verbose)
          Enable verbose output.
 void setVssServerPath(java.lang.String vssServerPath)
          The path to the location of the ss.ini file.
 
Methods inherited from class org.apache.tools.ant.Task
bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
 
Methods inherited from class org.apache.tools.ant.ProjectComponent
clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

commandLine

protected Commandline commandLine
Commandline to be executed.

Constructor Detail

SOS

public SOS()
Method Detail

setNoCache

public final void setNoCache(boolean nocache)
Flag to disable the cache when set. Required if SOSHOME is set as an environment variable. Defaults to false.

Parameters:
nocache - True to disable caching.

setNoCompress

public final void setNoCompress(boolean nocompress)
Flag to disable compression when set. Defaults to false.

Parameters:
nocompress - True to disable compression.

setSosCmd

public final void setSosCmd(java.lang.String dir)
The directory where soscmd(.exe) is located. soscmd must be on the path if omitted.

Parameters:
dir - The new sosCmd value.

setUsername

public final void setUsername(java.lang.String username)
The SourceSafe username.

Parameters:
username - The new username value.

setPassword

public final void setPassword(java.lang.String password)
The SourceSafe password.

Parameters:
password - The new password value.

setProjectPath

public final void setProjectPath(java.lang.String projectpath)
The SourceSafe project path.

Parameters:
projectpath - The new projectpath value.

setVssServerPath

public final void setVssServerPath(java.lang.String vssServerPath)
The path to the location of the ss.ini file.

Parameters:
vssServerPath - The new vssServerPath value.

setSosHome

public final void setSosHome(java.lang.String sosHome)
Path to the SourceOffSite home directory.

Parameters:
sosHome - The new sosHome value.

setSosServerPath

public final void setSosServerPath(java.lang.String sosServerPath)
The address and port of SourceOffSite Server, for example 192.168.0.1:8888.

Parameters:
sosServerPath - The new sosServerPath value.

setLocalPath

public final void setLocalPath(Path path)
Override the working directory and get to the specified path.

Parameters:
path - The new localPath value.

setVerbose

public void setVerbose(boolean verbose)
Enable verbose output. Defaults to false.

Parameters:
verbose - True for verbose output.

setInternalFilename

protected void setInternalFilename(java.lang.String file)
Set the file name.

Parameters:
file - the filename to use.

setInternalRecursive

protected void setInternalRecursive(boolean recurse)
Set the recursive flag.

Parameters:
recurse - if true use the recursive flag on the command line.

setInternalComment

protected void setInternalComment(java.lang.String text)
Set the comment text.

Parameters:
text - the comment text to use.

setInternalLabel

protected void setInternalLabel(java.lang.String text)
Set the label.

Parameters:
text - the label to use.

setInternalVersion

protected void setInternalVersion(java.lang.String text)
Set the version.

Parameters:
text - the version to use.

getSosCommand

protected java.lang.String getSosCommand()
Get the executable to run. Add the path if it was specified in the build file

Returns:
the executable to run.

getComment

protected java.lang.String getComment()
Get the comment

Returns:
if it was set, null if not.

getVersion

protected java.lang.String getVersion()
Get the version

Returns:
if it was set, null if not.

getLabel

protected java.lang.String getLabel()
Get the label

Returns:
if it was set, null if not.

getUsername

protected java.lang.String getUsername()
Get the username

Returns:
if it was set, null if not.

getPassword

protected java.lang.String getPassword()
Get the password

Returns:
empty string if it wasn't set.

getProjectPath

protected java.lang.String getProjectPath()
Get the project path

Returns:
if it was set, null if not.

getVssServerPath

protected java.lang.String getVssServerPath()
Get the VSS server path

Returns:
if it was set, null if not.

getSosHome

protected java.lang.String getSosHome()
Get the SOS home directory.

Returns:
if it was set, null if not.

getSosServerPath

protected java.lang.String getSosServerPath()
Get the SOS serve path.

Returns:
if it was set, null if not.

getFilename

protected java.lang.String getFilename()
Get the filename to be acted upon.

Returns:
if it was set, null if not.

getNoCompress

protected java.lang.String getNoCompress()
Get the NoCompress flag.

Returns:
the 'nocompress' Flag if the attribute was 'true', otherwise an empty string.

getNoCache

protected java.lang.String getNoCache()
Get the NoCache flag.

Returns:
the 'nocache' Flag if the attribute was 'true', otherwise an empty string.

getVerbose

protected java.lang.String getVerbose()
Get the 'verbose' Flag.

Returns:
the 'verbose' Flag if the attribute was 'true', otherwise an empty string.

getRecursive

protected java.lang.String getRecursive()
Get the 'recursive' Flag.

Returns:
the 'recursive' Flag if the attribute was 'true', otherwise an empty string.

getLocalPath

protected java.lang.String getLocalPath()
Builds and returns the working directory.

The localpath is created if it didn't exist.

Returns:
the absolute path of the working directory.

execute

public void execute()
             throws BuildException
Execute the created command line.

Overrides:
execute in class Task
Throws:
BuildException - on error.

run

protected int run(Commandline cmd)
Execute the created command line.

Parameters:
cmd - The command line to run.
Returns:
int the exit code.
Throws:
BuildException

getRequiredAttributes

protected void getRequiredAttributes()
Sets the executable and add the required attributes to the command line.


getOptionalAttributes

protected void getOptionalAttributes()
Adds the optional attributes to the command line.