LongTextTapiBridgeFactory
using kCura.WinEDDS.Service.Kepler;
using Relativity.DataExchange.Service;
using Relativity.DataExchange.Transfer;
using Relativity.Logging;
using System;
using System.Threading;
namespace Relativity.DataExchange.Export.VolumeManagerV2.Download.TapiHelpers
{
public class LongTextTapiBridgeFactory : ITapiBridgeFactory
{
private readonly ILog _logger;
private readonly TapiBridgeParametersFactory _tapiBridgeParametersFactory;
private readonly IAppSettings _settings;
private readonly CancellationToken _token;
private Func<string> _getCorrelationId;
public LongTextTapiBridgeFactory(TapiBridgeParametersFactory tapiBridgeParametersFactory, ILog logger, CancellationToken token, Func<string> getCorrelationId)
: this(tapiBridgeParametersFactory, logger, AppSettings.Instance, token)
{
_getCorrelationId = getCorrelationId;
}
public LongTextTapiBridgeFactory(TapiBridgeParametersFactory tapiBridgeParametersFactory, ILog logger, IAppSettings settings, CancellationToken token)
{
_tapiBridgeParametersFactory = tapiBridgeParametersFactory.ThrowIfNull("tapiBridgeParametersFactory");
_logger = logger.ThrowIfNull<ILog>("logger");
_settings = settings.ThrowIfNull("settings");
_token = token;
}
public ITapiBridge Create()
{
DownloadTapiBridgeParameters2 downloadTapiBridgeParameters = _tapiBridgeParametersFactory.CreateTapiBridgeParametersFromConfiguration();
downloadTapiBridgeParameters.ForceAsperaClient = false;
downloadTapiBridgeParameters.ForceClientCandidates = string.Empty;
downloadTapiBridgeParameters.ForceFileShareClient = false;
downloadTapiBridgeParameters.ForceHttpClient = true;
downloadTapiBridgeParameters.TimeoutSeconds = _settings.HttpExtractedTextTimeoutSeconds;
return TapiBridgeFactory.CreateDownloadBridge(downloadTapiBridgeParameters, _logger, _token, _getCorrelationId, new WebApiVsKeplerFactory(_logger), new RelativityManagerServiceFactory());
}
}
}