in graveyard/tools/org/apache/axis/tools/common/DirectoryTree.java [42:109]
public void walkTree(File source, File target, int depth) throws Exception
{
depth++;
boolean noTarget=(null==target);
if (!source.canRead( ))
Utils.rude("Cannot read from source directory "+source);
if (!noTarget&&!target.canWrite( ))
Utils.rude("Cannot write to target directory "+target);
if (source.isDirectory( ))
{
// we only want to look at this directory if it's not a .svn directory.
// If it is then let's call this the end of the branch and return.
if(source.toString().indexOf(".svn")==-1 && source.toString().indexOf("apache1_3")==-1 && source.toString().indexOf("apache2_0")==-1)
{
File[] filesInDirectory=source.listFiles( );
for(int i=0; i<filesInDirectory.length; i++)
{
File file=filesInDirectory[i];
String name=file.getName( );
int dot=name.lastIndexOf('.');
String ext=null;
if (-1!=dot)
ext=name.substring(dot+1);
if (file.isDirectory( ) && !name.equals(".svn") && !name.equals("apache1_3") && !name.equals("apache2_0"))
{
File newTarget=null;
if (!noTarget)
{
StringTokenizer st=new StringTokenizer(file.getPath( ),
"\\/");
String newdir=null;
while (st.hasMoreTokens( ))
newdir=st.nextToken( );
String targetName=maybeAppendSeparator(target
.toString( ));
newTarget=new File(targetName+newdir);
if (!newTarget.mkdir( ))
Utils.rude("Failed to create target directory "
+newTarget);
}
walkTree(file, newTarget, depth);
}
else
{
if (file.isFile( )
&&(extensions==null||(!file.isHidden( )&&extensions
.contains(ext))))
{
// this is a file and we need to add trace into it !
actor.actOnFile(file, target, depth);
}
}
}
}
else
{
System.out.println( "Not walking "+source.toString());
}
}
else
{
actor.actOnFile(source, target, depth);
}
}