File propFile, DataFilesInfo dfi, DataFileToPropFileLinker linker)
throws Exception {
RemoteSite remoteSite;
// parse property file
VirtualFileStructure vfs = propFileParser.parse(new FileInputStream(
propFile));
// determine RemoteSite
DownloadInfo di = dfi.getDownloadInfo();
if (!di.isAllowAliasOverride()
|| (remoteSite = vfs.getRemoteSite()) == null)
remoteSite = di.getRemoteSite();
// modify vfs to be root based if HOME directory based
if (!vfs.isRootBased()) {
String homeDirPath = frs.getHomeDir(remoteSite).getProtocolPath()
.getPathString();
VirtualFile root = new VirtualFile(homeDirPath, true);
root.addChild(vfs.getRootVirtualFile());
vfs = new VirtualFileStructure(homeDirPath + "/"
+ vfs.getPathToRoot(), root.getRootDir());
frs.changeToHOME(remoteSite);
}
// initialize variables
final String initialCdPath = vfs.getPathToRoot();
final VirtualFile vf = vfs.getRootVirtualFile();
// change to initial directory (takes care of Linux auto-mounting)
frs.changeToDir(initialCdPath, remoteSite);
// add starting directory to stack