TapiBridgeFactory
Represents a class to create TapiBridgeBase2 instances.
using Relativity.DataExchange.Service;
using Relativity.Logging;
using Relativity.Transfer;
using System;
using System.Threading;
namespace Relativity.DataExchange.Transfer
{
internal static class TapiBridgeFactory
{
internal static bool? UseLegacyWebApiInTests { get; set; }
public static UploadTapiBridge2 CreateUploadBridge(UploadTapiBridgeParameters2 parameters, ILog logger, IAuthenticationTokenProvider authenticationTokenProvider, CancellationToken token, Func<string> getCorrelationId, IWebApiVsKeplerFactory webApiVsKeplerFactory, IRelativityManagerServiceFactory relativityManagerServiceFactory)
{
bool useLegacyWebApi = UseLegacyWebApi(parameters, webApiVsKeplerFactory, getCorrelationId);
return new UploadTapiBridge2(parameters, logger, authenticationTokenProvider, token, useLegacyWebApi, relativityManagerServiceFactory);
}
public static DownloadTapiBridge2 CreateDownloadBridge(DownloadTapiBridgeParameters2 parameters, ILog logger, CancellationToken token, Func<string> getCorrelationId, IWebApiVsKeplerFactory webApiVsKeplerFactory, IRelativityManagerServiceFactory relativityManagerServiceFactory)
{
bool useLegacyWebApi = UseLegacyWebApi(parameters, webApiVsKeplerFactory, getCorrelationId);
return new DownloadTapiBridge2(parameters, logger, token, useLegacyWebApi, relativityManagerServiceFactory);
}
private static bool UseLegacyWebApi(TapiBridgeParameters2 parameters, IWebApiVsKeplerFactory webApiVsKeplerFactory, Func<string> getCorrelationId)
{
if (UseLegacyWebApiInTests.HasValue)
return UseLegacyWebApiInTests.Value;
return !webApiVsKeplerFactory.Create(new Uri(AppSettings.Instance.WebApiServiceUrl), parameters.Credentials, getCorrelationId).UseKepler();
}
}
}