DownloadTapiBridge2
Represents a class object to provide a download bridge from the Transfer API to existing import/export components. This class cannot be inherited, backwards compatibility isn't guaranteed, and should never be consumed by API users.
using Relativity.DataExchange.Resources;
using Relativity.DataExchange.Service;
using Relativity.Logging;
using Relativity.Transfer;
using Relativity.Transfer.Aspera;
using System;
using System.Threading;
namespace Relativity.DataExchange.Transfer
{
public sealed class DownloadTapiBridge2 : TapiBridgeBase2
{
private readonly DownloadTapiBridgeParameters2 parameters;
public DownloadTapiBridge2(DownloadTapiBridgeParameters2 parameters, ILog logger, CancellationToken token, bool useLegacyWebApi, IRelativityManagerServiceFactory relativityManagerServiceFactory)
: this(new TapiObjectService(relativityManagerServiceFactory, useLegacyWebApi), parameters, logger, useLegacyWebApi, token)
{
}
public DownloadTapiBridge2(ITapiObjectService factory, DownloadTapiBridgeParameters2 parameters, ILog logger, bool useLegacyWebApi, CancellationToken token)
: this(factory, parameters, null, logger, useLegacyWebApi, token)
{
}
public DownloadTapiBridge2(ITapiObjectService factory, DownloadTapiBridgeParameters2 parameters, TransferContext context, ILog logger, bool useLegacyWebApi, CancellationToken token)
: base(factory, parameters, 2, context, logger, useLegacyWebApi, token)
{
this.parameters = parameters;
}
protected override string TransferFileFatalMessage()
{
return Strings.TransferFileDownloadFatalMessage;
}
protected override TransferRequest CreateTransferRequestForJob(TransferContext context)
{
return TransferRequest.ForDownloadJob(base.TargetPath, context);
}
protected override void SetupRemotePathResolvers(ITransferRequest request)
{
if (request == null)
throw new ArgumentNullException("request");
IRemotePathResolver val = null;
if (base.ClientId.ToString().ToUpperInvariant() == "812A70A5-7311-46CC-BE53-07BB8C5F9A7D")
val = new AsperaUncPathResolver(parameters.FileShare, parameters.AsperaDocRootLevels, base.TransferLog);
request.set_SourcePathResolver(val);
}
}
}