|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object
|
+--org.apache.tools.ant.ProjectComponent
|
+--org.apache.tools.ant.Task
|
+--org.apache.tools.ant.taskdefs.optional.starteam.StarTeamTask
|
+--org.apache.tools.ant.taskdefs.optional.starteam.TreeBasedTask
FileBasedTask.java
This abstract class is the base for any tasks that are tree-based, that
is, for tasks which iterate over a tree of folders in StarTeam which
is reflected in a tree of folder the local machine.
This class provides the tree-iteration functionality. Derived classes
will implement their specific task functionality by the visitor pattern,
specifically by implementing the method
visit(Folder rootStarteamFolder, java.io.File rootLocalFolder)
Created: Sat Dec 15 16:55:19 2001
| Field Summary | |
static java.lang.String |
DEFAULT_EXCLUDESETTING
This disables the exclude filter by default. |
static java.lang.String |
DEFAULT_INCLUDESETTING
This constant sets the filter to include all files. |
| Fields inherited from class org.apache.tools.ant.Task |
description, location, target, taskName, taskType, wrapper |
| Fields inherited from class org.apache.tools.ant.ProjectComponent |
project |
| Constructor Summary | |
TreeBasedTask()
|
|
| Method Summary | |
protected void |
_setLabel(java.lang.String label)
protected function to allow subclasses to set the label (or not). |
protected boolean |
delistLocalFile(java.util.Hashtable localFiles,
java.io.File thisfile)
Removes from the collection of the local file names the supplied name of a processed file. |
void |
execute()
This method does the work of opening the supplied Starteam view and calling the visit() method to perform the task. |
java.lang.String |
getExcludes()
Gets the patterns from the exclude filter. |
java.lang.String |
getIncludes()
Gets the patterns from the include filter. |
protected int |
getLabelID(com.starbase.starteam.View v)
Helper method calls on the StarTeam API to retrieve an ID number for the specified view, corresponding to this.label. |
java.lang.String |
getRootLocalFolder()
Returns the local folder specified by the user, corresponding to the starteam folder for this operation. |
java.lang.String |
getRootStarteamFolder()
returns the root folder in the Starteam repository used for this operation |
boolean |
isForced()
Get the value of forced. |
boolean |
isRecursive()
Get the value of recursive. |
protected static java.util.Hashtable |
listLocalFiles(java.io.File localFolder)
Gets the collection of the local file names in the supplied directory. |
protected boolean |
matchPatterns(java.lang.String patterns,
java.lang.String pName)
Convenience method to see if a string match a one pattern in given set of space-separated patterns. |
void |
setExcludes(java.lang.String excludes)
Declare files to exclude using standard excludes patterns; optional. |
void |
setForced(boolean v)
Flag to force actions regardless of the status that StarTeam is maintaining for the file; optional, default false. |
void |
setIncludes(java.lang.String includes)
Declare files to include using standard includes patterns; optional. |
void |
setRecursive(boolean v)
Flag to set to include files in subfolders in the operation; optional, default true. |
void |
setRootLocalFolder(java.lang.String rootLocalFolder)
Set the local folder that will be the root of the tree to which files are checked out; optional. |
void |
setRootStarteamFolder(java.lang.String rootStarteamFolder)
Set the root of the subtree in the StarTeam repository from which to work; optional. |
protected boolean |
shouldProcess(java.lang.String pName)
Look if the file should be processed by the task. |
protected abstract void |
testPreconditions()
Derived classes must override this method to define tests for any preconditons required by the task. |
protected abstract void |
visit(com.starbase.starteam.Folder rootStarteamFolder,
java.io.File rootLocalFolder)
Derived classes must override this class to define actual processing to be performed on each folder in the tree defined for the task |
| Methods inherited from class org.apache.tools.ant.taskdefs.optional.starteam.StarTeamTask |
createSnapshotView, getPassword, getProjectname, getServer, getServername, getServerport, getURL, getUserName, getUserName, getViewname, openView, setPassword, setProjectname, setServername, setServerport, setURL, setUserName, setViewname |
| Methods inherited from class org.apache.tools.ant.Task |
getDescription, getLocation, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, handleErrorOutput, handleOutput, init, isInvalid, log, log, maybeConfigure, perform, setDescription, setLocation, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName |
| Methods inherited from class org.apache.tools.ant.ProjectComponent |
getProject, setProject |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
public static final java.lang.String DEFAULT_INCLUDESETTING
setIncludes("*").
getIncludes(),
setIncludes(String includes),
Constant Field Valuespublic static final java.lang.String DEFAULT_EXCLUDESETTING
setExcludes(null).
getExcludes(),
setExcludes(String excludes)| Constructor Detail |
public TreeBasedTask()
| Method Detail |
public void setRootStarteamFolder(java.lang.String rootStarteamFolder)
rootStarteamFolder - the root folderpublic java.lang.String getRootStarteamFolder()
public void setRootLocalFolder(java.lang.String rootLocalFolder)
rootLocalFolder - the local folder that will mirror
this.rootStarteamFolderpublic java.lang.String getRootLocalFolder()
public void setIncludes(java.lang.String includes)
includes - A string of filter patterns to include. Separate the
patterns by spaces.getIncludes(),
setExcludes(String excludes),
getExcludes()public java.lang.String getIncludes()
setIncludes(String includes),
setExcludes(String excludes),
getExcludes()public void setExcludes(java.lang.String excludes)
DirectoryScanner's
match method, so here are the patterns straight from the
Ant source code:
setExcludes("*.XML,*.HTML");
Finally, note that filters have no effect on the directories
that are scanned; you could not skip over all files in directories
whose names begin with "project," for instance.
excludes - A string of filter patterns to exclude. Separate the
patterns by spaces.setIncludes(String includes),
getIncludes(),
getExcludes()public java.lang.String getExcludes()
setExcludes(String excludes),
setIncludes(String includes),
getIncludes()protected void _setLabel(java.lang.String label)
label - name of the StarTeam label to be setpublic boolean isRecursive()
public void setRecursive(boolean v)
v - Value to assign to recursive.public boolean isForced()
public void setForced(boolean v)
v - Value to assign to forced.protected boolean shouldProcess(java.lang.String pName)
pName - the item name to look for being included.
protected boolean matchPatterns(java.lang.String patterns,
java.lang.String pName)
patterns - the space-separated list of patterns.pName - the name to look for matching.
public void execute()
throws BuildException
visit() method to perform the task.
execute in class TaskBuildException - if any error occurs in the processingvisit()
protected int getLabelID(com.starbase.starteam.View v)
throws BuildException
v - the View in which to search for this.label
this.label or -1 if
no label was provided.
BuildException - if this.label does not correspond
to any label in the supplied view
protected abstract void visit(com.starbase.starteam.Folder rootStarteamFolder,
java.io.File rootLocalFolder)
throws BuildException
rootStarteamFolder - the StarTeam folderto be visitedrootLocalFolder - the local mapping of rootStarteamFolder
BuildException
protected abstract void testPreconditions()
throws BuildException
BuildException - throw if any fatal error exists in the
parameters supplied. If there is a non-fatal condition, just writing
to the log may be appropriate.execute()protected static java.util.Hashtable listLocalFiles(java.io.File localFolder)
localFolder - - the local folder to scan
protected boolean delistLocalFile(java.util.Hashtable localFiles,
java.io.File thisfile)
localFiles - a Hashtable valuethisfile - file to remove from list.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||