AsperaPathValidationFactory
namespace Relativity.Transfer.Aspera
{
internal class AsperaPathValidationFactory : IPathValidationFactory
{
private ITransferLog log;
public AsperaClientConfiguration Configuration { get; set; }
public AsperaPathValidationFactory(ITransferLog log, ClientConfiguration configuration)
{
this.log = log;
Configuration = ((configuration as AsperaClientConfiguration) ?? new AsperaClientConfiguration(configuration));
}
public IPathValidationProvider CreatePathValidationProvider()
{
IFileSystemService service = ServiceObjectLocator.GetService<IFileSystemService>();
AsperaClientLimits clientLimits = new AsperaClientLimits();
IPathValidationProvider pathValidationProvider = new PathValidationProvider();
IPathValidator pathValidator = new FileTypeValidator(Configuration);
IPathValidator pathValidator2 = new PathLengthValidator(clientLimits, service, log);
pathValidationProvider.Register(pathValidator2);
pathValidationProvider.Register(pathValidator);
return pathValidationProvider;
}
}
}