LoadFile
using kCura.WinEDDS.Exporters;
using kCura.WinEDDS.LoadFileEntry;
using Relativity.DataExchange.Export.VolumeManagerV2.Metadata.Writers;
using System.Collections.Generic;
using System.Threading;
namespace Relativity.DataExchange.Export.VolumeManagerV2.Metadata.Natives
{
public class LoadFile : ILoadFile
{
private readonly LoadFileMetadataBuilder _loadFileMetadataBuilder;
private readonly ILoadFileWriter _loadFileWriter;
public LoadFile(LoadFileMetadataBuilder loadFileMetadataBuilder, ILoadFileWriter loadFileWriter)
{
_loadFileMetadataBuilder = loadFileMetadataBuilder;
_loadFileWriter = loadFileWriter;
}
public void Create(ObjectExportInfo[] artifacts, CancellationToken cancellationToken)
{
IDictionary<int, ILoadFileEntry> linesToWrite = _loadFileMetadataBuilder.AddLines(artifacts, cancellationToken);
if (!cancellationToken.IsCancellationRequested)
_loadFileWriter.Write(linesToWrite, artifacts, cancellationToken);
}
}
}