public class FileTreeUpdater extends Object
   FileTreeUpdater ftu = null;
   try {
     FileTreeUpdater ftu = new FileTreeUpdater("remote URL","local path");
     List lis = ftu.scan();    // find changed files
     if(lis.size() > 0) {      // no changes if empty list returned
       ftu.downloadUpdates();  // download changed files
       ftu.copyUpdates();      // put changed files into place
     }
   }
   catch (IOException e) {
     e.printStackTrace();
   }
 
 A URL example for the SFTP protocol is:
 sftp://[ username[: password]@] hostname[: port][ absolute-path]Example:
sftp://myusername:mypassword@somehost/pub/downloads/somefile.tgzThis url is maintained in file
///AuvWorkbench/configuration/c_app.xml
| Modifier and Type | Class and Description | 
|---|---|
| static interface  | FileTreeUpdater.OpDone | 
| static interface  | FileTreeUpdater.StatusLineOutUsed to receive status updates from a FileTreeUpdater instance. | 
| Modifier and Type | Field and Description | 
|---|---|
| protected org.apache.commons.vfs.FileSystemManager | fsManager | 
| protected String | localPath | 
| protected org.apache.commons.vfs.FileObject | root | 
| protected File | tmpDir | 
| protected String | url | 
| Constructor and Description | 
|---|
| FileTreeUpdater(String _url,
               String _localPath)Construct this class and connect to remote machine. | 
| FileTreeUpdater(String _url,
               String _localPath,
               FileTreeUpdater.StatusLineOut _slo)Constructor with passed object to receive status and error messages | 
| Modifier and Type | Method and Description | 
|---|---|
| void | _copyF(File src,
      File dest) | 
| void | addExcludedName(String name) | 
| void | asyncCopyUpdates(FileTreeUpdater.OpDone od,
                List<String> filteredList) | 
| void | asyncDownloadUpdates(FileTreeUpdater.OpDone od,
                    List<String> filteredList) | 
| void | asyncScan(FileTreeUpdater.OpDone od) | 
| void | cancel()For multi-threaded uses of this class, this will signal the processing loops to stop. | 
| void | clearDownloadCache() | 
| void | close() | 
| void | copyUpdates(List<String> filteredList)Move the downloaded files into place, overwriting existing files. | 
| void | downloadUpdates(List<String> filteredList)Download the changed files into a temporary directory in preparation for overwrite
 of local tree. | 
| File | getDownloadCacheRoot() | 
| int | getFileCount() | 
| int | getScanListCount() | 
| List<String> | scan()Perform a scan of the remote machine. | 
protected String url
protected String localPath
protected File tmpDir
protected org.apache.commons.vfs.FileSystemManager fsManager
protected org.apache.commons.vfs.FileObject root
public FileTreeUpdater(String _url, String _localPath) throws Exception
_url - URL string with scheme and user:password if required_localPath - local path to updateException - if network errorpublic FileTreeUpdater(String _url, String _localPath, FileTreeUpdater.StatusLineOut _slo) throws Exception
_url - see FileTreeUpdater(String,String)._localPath - see FileTreeUpdater(String,String)._slo - see StatusLineOut interface.Exception - see FileTreeUpdater(String,String).public int getFileCount()
public void cancel()
public void addExcludedName(String name)
public int getScanListCount()
public List<String> scan() throws IOException
IOExceptionpublic void asyncScan(FileTreeUpdater.OpDone od)
public void downloadUpdates(List<String> filteredList) throws IOException
filteredList - IOException - last error seenpublic void asyncDownloadUpdates(FileTreeUpdater.OpDone od, List<String> filteredList)
public void copyUpdates(List<String> filteredList) throws IOException
downloadUpdates(java.util.List<java.lang.String>).filteredList - IOException - last error seenpublic void clearDownloadCache()
public File getDownloadCacheRoot()
public void asyncCopyUpdates(FileTreeUpdater.OpDone od, List<String> filteredList)
public void close()
public void _copyF(File src, File dest) throws IOException
IOException