|
||||||||||
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 Task
BuildException
- 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 viewprotected 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 |