Exemple #1
0
        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();
        }
Exemple #2
0
 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));
 }
Exemple #3
0
 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();
        }
Exemple #5
0
 public JobMetadataBuilderFactory(ILogger <JobMetadataBuilderFactory> logger, IDicomToolkit dicomToolkit)
 {
     _logger       = logger ?? throw new ArgumentNullException(nameof(logger));
     _dicomToolkit = dicomToolkit ?? throw new ArgumentNullException(nameof(dicomToolkit));
 }