FieldFileExportRequestBuilder
using Castle.Core;
using kCura.WinEDDS;
using kCura.WinEDDS.Exporters;
using Relativity.DataExchange.Export.VolumeManagerV2.Directories;
using Relativity.DataExchange.Export.VolumeManagerV2.Statistics;
using Relativity.Logging;
namespace Relativity.DataExchange.Export.VolumeManagerV2.Download
{
public class FieldFileExportRequestBuilder : ExportRequestBuilder
{
private readonly FieldFileExportRequestFactory _requestFactory;
public FieldFileExportRequestBuilder(NativeFilePathProvider filePathProvider, IFileNameProvider fileNameProvider, IExportFileValidator validator, IFileProcessingStatistics fileProcessingStatistics, ILog logger, FieldFileExportRequestFactory requestFactory)
: base(filePathProvider, fileNameProvider, validator, fileProcessingStatistics, logger)
{
_requestFactory = requestFactory;
}
[DoNotSelect]
public FieldFileExportRequestBuilder(IFilePathProvider filePathProvider, IFileNameProvider fileNameProvider, IExportFileValidator validator, IFileProcessingStatistics fileProcessingStatistics, ILog logger, FieldFileExportRequestFactory requestFactory)
: base(filePathProvider, fileNameProvider, validator, fileProcessingStatistics, logger)
{
_requestFactory = requestFactory;
}
protected override ExportRequest CreateExportRequest(ObjectExportInfo artifact, string destinationLocation)
{
return _requestFactory.Create(artifact, destinationLocation);
}
protected override bool IsFileToExport(ObjectExportInfo artifact)
{
if (artifact.FileID > 0)
return !string.IsNullOrWhiteSpace(artifact.NativeSourceLocation);
return false;
}
}
}