public AeTitleJobProcessor( ClaraApplicationEntity configuration, IInstanceStoredNotificationService instanceStoredNotificationService, ILoggerFactory loggerFactory, IJobRepository jobStore, IInstanceCleanupQueue cleanupQueue, IDicomToolkit dicomToolkit, CancellationToken cancellationToken) : base(instanceStoredNotificationService, loggerFactory, jobStore, cleanupQueue, cancellationToken) { if (loggerFactory is null) { throw new ArgumentNullException(nameof(loggerFactory)); } _configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); _dicomToolkit = dicomToolkit ?? throw new ArgumentNullException(nameof(dicomToolkit)); _collections = new Dictionary <string, InstanceCollection>(); _pipelines = new Dictionary <string, string>(); _logger = loggerFactory.CreateLogger <AeTitleJobProcessor>(); _timer = new System.Timers.Timer(1000); _timer.AutoReset = false; _timer.Elapsed += OnTimedEvent; _timer.Enabled = true; _jobs = new BlockingCollection <InstanceCollection>(); InitializeSettings(); _jobProcessingTask = ProcessJobs(); }
public DataRetrievalService( IDicomWebClientFactory dicomWebClientFactory, ILogger <DataRetrievalService> logger, IInferenceRequestStore inferenceRequestStore, IFileSystem fileSystem, IDicomToolkit dicomToolkit, IJobStore jobStore) { _dicomWebClientFactory = dicomWebClientFactory ?? throw new ArgumentNullException(nameof(dicomWebClientFactory)); _inferenceRequestStore = inferenceRequestStore ?? throw new ArgumentNullException(nameof(inferenceRequestStore)); _fileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem)); _dicomToolkit = dicomToolkit ?? throw new ArgumentNullException(nameof(dicomToolkit)); _jobStore = jobStore ?? throw new ArgumentNullException(nameof(jobStore)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); }
public DataRetrievalService( ILoggerFactory loggerFactory, IHttpClientFactory httpClientFactory, ILogger <DataRetrievalService> logger, IFileSystem fileSystem, IDicomToolkit dicomToolkit, IServiceScopeFactory serviceScopeFactory, IInstanceCleanupQueue cleanupQueue, IStorageInfoProvider storageInfoProvider) { _loggerFactory = loggerFactory ?? throw new ArgumentNullException(nameof(loggerFactory)); _httpClientFactory = httpClientFactory ?? throw new ArgumentNullException(nameof(httpClientFactory)); _fileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem)); _dicomToolkit = dicomToolkit ?? throw new ArgumentNullException(nameof(dicomToolkit)); _serviceScopeFactory = serviceScopeFactory ?? throw new ArgumentNullException(nameof(serviceScopeFactory)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _cleanupQueue = cleanupQueue ?? throw new ArgumentNullException(nameof(cleanupQueue)); _storageInfoProvider = storageInfoProvider ?? throw new ArgumentNullException(nameof(storageInfoProvider)); }
/// <summary> /// Constructor. /// </summary> /// <param name="serviceProvider">Instance of IServiceProvide for dependency injection.</param> /// <param name="applicationEntity">ClaraApplicationEntity configuration to be used.</param> /// <param name="storageRootFullPath">Temporary storage path location</param> /// <param name="iFileSystem">instance of IFileSystem</param> public ApplicationEntityHandler(IServiceProvider serviceProvider, ClaraApplicationEntity applicationEntity, string storageRootFullPath, CancellationToken cancellationToken, IFileSystem iFileSystem) { Guard.Against.NullOrWhiteSpace(storageRootFullPath, nameof(storageRootFullPath)); _serviceProvider = serviceProvider ?? throw new ArgumentNullException(nameof(serviceProvider)); Configuration = applicationEntity ?? throw new ArgumentNullException(nameof(applicationEntity)); _loggerFactory = _serviceProvider.GetService <ILoggerFactory>(); _logger = _loggerFactory.CreateLogger <ApplicationEntityHandler>(); _dicomToolkit = _serviceProvider.GetService <IDicomToolkit>(); _cancellationToken = cancellationToken; _fileSystem = iFileSystem ?? throw new ArgumentNullException(nameof(iFileSystem)); AeStorageRootFullPath = _fileSystem.Path.Combine(storageRootFullPath, applicationEntity.AeTitle.RemoveInvalidPathChars()); _instanceStoredNotificationService = (IInstanceStoredNotificationService)serviceProvider.GetService(typeof(IInstanceStoredNotificationService)) ?? throw new ArgumentNullException("IInstanceStoredNotificationService service not configured"); _jobProcessor = typeof(JobProcessorBase).CreateInstance <JobProcessorBase>(serviceProvider, Configuration.Processor, Configuration, _cancellationToken); _logger.Log(LogLevel.Information, "Clara AE Title {0} configured with temporary storage location {1}", applicationEntity.AeTitle, AeStorageRootFullPath); CleanRootPath(); }
public JobMetadataBuilderFactory(ILogger <JobMetadataBuilderFactory> logger, IDicomToolkit dicomToolkit) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _dicomToolkit = dicomToolkit ?? throw new ArgumentNullException(nameof(dicomToolkit)); }