<PackageReference Include="Relativity.Server.Import.SDK" Version="2.9.2" />

DownloadTapiBridgeWithEncodingConversion

using Relativity.DataExchange.Export.VolumeManagerV2.Statistics; using Relativity.DataExchange.Transfer; using Relativity.Logging; using Relativity.Transfer; using System; namespace Relativity.DataExchange.Export.VolumeManagerV2.Download.TapiHelpers { public class DownloadTapiBridgeWithEncodingConversion : DownloadTapiBridgeAdapter { private bool _initialized; public DownloadTapiBridgeWithEncodingConversion(ITapiBridge downloadTapiBridge, IProgressHandler progressHandler, IMessagesHandler messagesHandler, ITransferStatistics transferStatistics, ILog logger) : base(downloadTapiBridge, progressHandler, messagesHandler, transferStatistics, logger) { _initialized = false; } public override string QueueDownload(TransferPath transferPath) { _initialized = true; return base.TapiBridge.AddPath(transferPath); } public override void WaitForTransfers() { if (_initialized) try { base.TapiBridge.WaitForTransfers("Waiting for all long files to download...", "Long file downloads completed.", "Failed to wait for all pending long file downloads.", false); } catch (Exception ex) { _logger.LogError(ex, "Error occurred when trying to stop LongText encoding conversion after TAPI client failure.", Array.Empty<object>()); throw; } else _logger.LogVerbose("Long text transfer bridge hasn't been initialized or there is no request for long text download in the batch, so skipping waiting.", Array.Empty<object>()); } } }