protected override IFileSynchronizer CreateFileSynchronizer(FullFileSpecification fileInfo, ClusterAuthenticationCredentials credentials) { SftpFullNameSynchronizer synchronizer = (SftpFullNameSynchronizer)_synchronizerFactory.CreateFileSynchronizer(fileInfo, credentials); synchronizer.ConnectionPool = _connectionPool; return(synchronizer); }
protected virtual ICollection <JobFileContent> PerformSynchronizationForType(SubmittedJobInfo jobInfo, SynchronizableFiles fileType) { List <JobFileContent> result = new List <JobFileContent>(); if (!_fileSynchronizers.ContainsKey(fileType)) { _fileSynchronizers[fileType] = new Dictionary <string, IFileSynchronizer>(jobInfo.Tasks.Count); } foreach (SubmittedTaskInfo taskInfo in jobInfo.Tasks) { string jobClusterDirectoryPath = FileSystemUtils.GetJobClusterDirectoryPath(_fileSystem.Cluster.LocalBasepath, jobInfo.Specification); string taskClusterDirectoryPath = FileSystemUtils.GetTaskClusterDirectoryPath(jobClusterDirectoryPath, taskInfo.Specification); FullFileSpecification fileInfo = CreateSynchronizableFileInfoForType(taskInfo.Specification, taskClusterDirectoryPath, fileType); string sourceFilePath = FileSystemUtils.ConcatenatePaths(fileInfo.SourceDirectory, fileInfo.RelativePath); if (!_fileSynchronizers[fileType].ContainsKey(sourceFilePath)) { _fileSynchronizers[fileType][sourceFilePath] = CreateFileSynchronizer(fileInfo, jobInfo.Specification.ClusterUser); } ICollection <JobFileContent> subresult = _fileSynchronizers[fileType][sourceFilePath].SynchronizeFiles(); if (subresult != null) { foreach (JobFileContent content in subresult) { content.FileType = fileType; content.SubmittedTaskInfoId = taskInfo.Id; result.Add(content); } } } return(result); }
protected virtual FullFileSpecification CreateSynchronizableFileInfoForType(TaskSpecification task, string taskClusterDirectoryPath, SynchronizableFiles fileType) { FullFileSpecification fileInfo = new FullFileSpecification { DestinationDirectory = task.LocalDirectory, SourceDirectory = taskClusterDirectoryPath, }; CompleteFileInfoForType(fileInfo, task, fileType); return(fileInfo); }
protected virtual void CreateSynchronizersForType(JobSpecification jobSpecification, SynchronizableFiles fileType) { _fileSynchronizers[fileType] = new Dictionary <string, IFileSynchronizer>(jobSpecification.Tasks.Count); foreach (TaskSpecification task in jobSpecification.Tasks) { string jobClusterDirectoryPath = FileSystemUtils.GetJobClusterDirectoryPath(_fileSystem.Cluster.LocalBasepath, jobSpecification); string taskClusterDirectoryPath = FileSystemUtils.GetTaskClusterDirectoryPath(jobClusterDirectoryPath, task); FullFileSpecification fileInfo = CreateSynchronizableFileInfoForType(task, taskClusterDirectoryPath, fileType); string sourceFilePath = FileSystemUtils.ConcatenatePaths(fileInfo.SourceDirectory, fileInfo.RelativePath); if (!_fileSynchronizers[fileType].ContainsKey(sourceFilePath)) { _fileSynchronizers[fileType][sourceFilePath] = CreateFileSynchronizer(fileInfo, jobSpecification.ClusterUser); } } }
public virtual ICollection <JobFileContent> DownloadPartOfJobFileFromCluster(SubmittedTaskInfo taskInfo, SynchronizableFiles fileType, long offset) { string jobClusterDirectoryPath = FileSystemUtils.GetJobClusterDirectoryPath(_fileSystem.Cluster.LocalBasepath, taskInfo.Specification.JobSpecification); string taskClusterDirectoryPath = FileSystemUtils.GetTaskClusterDirectoryPath(jobClusterDirectoryPath, taskInfo.Specification); FullFileSpecification fileInfo = CreateSynchronizableFileInfoForType(taskInfo.Specification, taskClusterDirectoryPath, fileType); IFileSynchronizer synchronizer = CreateFileSynchronizer(fileInfo, taskInfo.Specification.JobSpecification.ClusterUser); synchronizer.Offset = offset; synchronizer.SyncFileInfo.DestinationDirectory = null; ICollection <JobFileContent> result = synchronizer.SynchronizeFiles(); if (result != null) { foreach (JobFileContent content in result) { content.FileType = fileType; content.SubmittedTaskInfoId = taskInfo.Id; } } return(result); }
public SftpFullNameSynchronizer(FullFileSpecification syncFile, ClusterAuthenticationCredentials credentials) { _credentials = credentials; SyncFileInfo = syncFile; Offset = 0; }
internal override IFileSynchronizer CreateFileSynchronizer(FullFileSpecification syncFile, ClusterAuthenticationCredentials credentials) { return(syncFile.NameSpecification switch { FileNameSpecification.FullName => new NetworkShareFullNameSynchronizer(syncFile), _ => default,
internal abstract IFileSynchronizer CreateFileSynchronizer(FullFileSpecification syncFile, ClusterAuthenticationCredentials credentials);
protected override IFileSynchronizer CreateFileSynchronizer(FullFileSpecification fileInfo, ClusterAuthenticationCredentials credentials) { return(_synchronizerFactory.CreateFileSynchronizer(fileInfo, credentials)); }
public NetworkShareFullNameSynchronizer(FullFileSpecification syncFile) { SyncFileInfo = syncFile; Offset = 0; }
protected abstract IFileSynchronizer CreateFileSynchronizer(FullFileSpecification fileInfo, ClusterAuthenticationCredentials credentials);