public DeleteService( IIndexDataStore indexDataStore, IMetadataStore metadataStore, IFileStore fileStore, IOptions <DeletedInstanceCleanupConfiguration> deletedInstanceCleanupConfiguration, ITransactionHandler transactionHandler, ILogger <DeleteService> logger, IDicomRequestContextAccessor contextAccessor) { EnsureArg.IsNotNull(indexDataStore, nameof(indexDataStore)); EnsureArg.IsNotNull(metadataStore, nameof(metadataStore)); EnsureArg.IsNotNull(fileStore, nameof(fileStore)); EnsureArg.IsNotNull(deletedInstanceCleanupConfiguration?.Value, nameof(deletedInstanceCleanupConfiguration)); EnsureArg.IsNotNull(transactionHandler, nameof(transactionHandler)); EnsureArg.IsNotNull(logger, nameof(logger)); EnsureArg.IsNotNull(contextAccessor, nameof(contextAccessor)); _indexDataStore = indexDataStore; _metadataStore = metadataStore; _fileStore = fileStore; _deletedInstanceCleanupConfiguration = deletedInstanceCleanupConfiguration.Value; _transactionHandler = transactionHandler; _logger = logger; _contextAccessor = contextAccessor; }
public DeleteServiceTests() { _indexDataStore = Substitute.For <IIndexDataStore>(); _metadataStore = Substitute.For <IMetadataStore>(); _fileDataStore = Substitute.For <IFileStore>(); _indexDataStoreFactory = Substitute.For <IIndexDataStoreFactory>(); _deleteConfiguration = new DeletedInstanceCleanupConfiguration { DeleteDelay = TimeSpan.FromDays(1), BatchSize = 10, MaxRetries = 5, PollingInterval = TimeSpan.FromSeconds(1), RetryBackOff = TimeSpan.FromDays(4), }; IOptions <DeletedInstanceCleanupConfiguration> deletedInstanceCleanupConfigurationOptions = Substitute.For <IOptions <DeletedInstanceCleanupConfiguration> >(); deletedInstanceCleanupConfigurationOptions.Value.Returns(_deleteConfiguration); ITransactionHandler transactionHandler = Substitute.For <ITransactionHandler>(); _transactionScope = Substitute.For <ITransactionScope>(); transactionHandler.BeginTransaction().Returns(_transactionScope); _indexDataStoreFactory.GetInstance().Returns(_indexDataStore); _deleteService = new DeleteService(_indexDataStoreFactory, _metadataStore, _fileDataStore, deletedInstanceCleanupConfigurationOptions, transactionHandler, NullLogger <DeleteService> .Instance); }
public DeleteServiceTests() { _indexDataStore = Substitute.For <IIndexDataStore>(); _metadataStore = Substitute.For <IMetadataStore>(); _fileDataStore = Substitute.For <IFileStore>(); _deleteConfiguration = new DeletedInstanceCleanupConfiguration { DeleteDelay = TimeSpan.FromDays(1), BatchSize = 10, MaxRetries = 5, PollingInterval = TimeSpan.FromSeconds(1), RetryBackOff = TimeSpan.FromDays(4), }; IOptions <DeletedInstanceCleanupConfiguration> deletedInstanceCleanupConfigurationOptions = Substitute.For <IOptions <DeletedInstanceCleanupConfiguration> >(); deletedInstanceCleanupConfigurationOptions.Value.Returns(_deleteConfiguration); ITransactionHandler transactionHandler = Substitute.For <ITransactionHandler>(); _transactionScope = Substitute.For <ITransactionScope>(); transactionHandler.BeginTransaction().Returns(_transactionScope); _dicomRequestContextAccessor = Substitute.For <IDicomRequestContextAccessor>(); _dicomRequestContextAccessor.RequestContext.DataPartitionEntry = new PartitionEntry(DefaultPartition.Key, DefaultPartition.Name); _deleteService = new DeleteService(_indexDataStore, _metadataStore, _fileDataStore, deletedInstanceCleanupConfigurationOptions, transactionHandler, NullLogger <DeleteService> .Instance, _dicomRequestContextAccessor); }
/// <summary> /// Deletes the instance index with no back off on cleaning up the underlying files. /// </summary> /// <param name="indexDataStore">The IIndexDataStore.</param> /// <param name="instanceIdentifier">The instance to delete.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>A task representing the asynchronous delete command.</returns> public static async Task DeleteInstanceIndexAsync(this IIndexDataStore indexDataStore, InstanceIdentifier instanceIdentifier, CancellationToken cancellationToken = default) { EnsureArg.IsNotNull(indexDataStore, nameof(indexDataStore)); EnsureArg.IsNotNull(instanceIdentifier, nameof(instanceIdentifier)); await indexDataStore.DeleteInstanceIndexAsync( instanceIdentifier.PartitionKey, instanceIdentifier.StudyInstanceUid, instanceIdentifier.SeriesInstanceUid, instanceIdentifier.SopInstanceUid, Clock.UtcNow, cancellationToken); }
public LoggingIndexDataStore(IIndexDataStore indexDataStore, ILogger <LoggingIndexDataStore> logger) { EnsureArg.IsNotNull(indexDataStore, nameof(indexDataStore)); EnsureArg.IsNotNull(logger, nameof(logger)); IndexDataStore = indexDataStore; _logger = logger; }
public InstanceStoreTests(SqlDataStoreTestsFixture fixture) { _instanceStore = EnsureArg.IsNotNull(fixture?.InstanceStore, nameof(fixture.InstanceStore)); _indexDataStore = EnsureArg.IsNotNull(fixture?.IndexDataStore, nameof(fixture.IndexDataStore)); _extendedQueryTagStore = EnsureArg.IsNotNull(fixture?.ExtendedQueryTagStore, nameof(fixture.ExtendedQueryTagStore)); _indexDataStoreTestHelper = EnsureArg.IsNotNull(fixture?.IndexDataStoreTestHelper, nameof(fixture.IndexDataStoreTestHelper)); _extendedQueryTagStoreTestHelper = EnsureArg.IsNotNull(fixture?.ExtendedQueryTagStoreTestHelper, nameof(fixture.ExtendedQueryTagStoreTestHelper)); _partitionStore = EnsureArg.IsNotNull(fixture?.PartitionStore, nameof(fixture.PartitionStore)); }
public IndexDataStoreTests(SqlDataStoreTestsFixture fixture) { EnsureArg.IsNotNull(fixture, nameof(fixture)); EnsureArg.IsNotNull(fixture.IndexDataStore, nameof(fixture.IndexDataStore)); EnsureArg.IsNotNull(fixture.TestHelper, nameof(fixture.IndexDataStore)); EnsureArg.IsNotNull(fixture.ExtendedQueryTagStore, nameof(fixture.ExtendedQueryTagStore)); _indexDataStore = fixture.IndexDataStore; _testHelper = fixture.TestHelper; _extendedQueryTagStore = fixture.ExtendedQueryTagStore; }
public ExtendedQueryTagErrorStoreTests(SqlDataStoreTestsFixture fixture) { EnsureArg.IsNotNull(fixture, nameof(fixture)); _extendedQueryTagStore = EnsureArg.IsNotNull(fixture.ExtendedQueryTagStore, nameof(fixture.ExtendedQueryTagStore)); _extendedQueryTagErrorStore = EnsureArg.IsNotNull(fixture.ExtendedQueryTagErrorStore, nameof(fixture.ExtendedQueryTagErrorStore)); _tagStoreTestHelper = EnsureArg.IsNotNull(fixture.ExtendedQueryTagStoreTestHelper, nameof(fixture.ExtendedQueryTagStoreTestHelper)); _indexDataStore = EnsureArg.IsNotNull(fixture.IndexDataStore, nameof(fixture.IndexDataStore)); _errorStoreTestHelper = EnsureArg.IsNotNull(fixture.ExtendedQueryTagErrorStoreTestHelper, nameof(fixture.ExtendedQueryTagErrorStoreTestHelper)); _indexDataStoreTestHelper = EnsureArg.IsNotNull(fixture.IndexDataStoreTestHelper, nameof(fixture.IndexDataStoreTestHelper)); }
public InstanceReindexer( IMetadataStore metadataStore, IIndexDataStore indexDataStore, IReindexDatasetValidator dicomDatasetReindexValidator, ILogger <InstanceReindexer> logger) { _metadataStore = EnsureArg.IsNotNull(metadataStore, nameof(metadataStore)); _indexDataStore = EnsureArg.IsNotNull(indexDataStore, nameof(indexDataStore)); _dicomDatasetReindexValidator = EnsureArg.IsNotNull(dicomDatasetReindexValidator, nameof(dicomDatasetReindexValidator)); _logger = EnsureArg.IsNotNull(logger, nameof(logger)); }
public RetrieveResourceServiceTests(DataStoreTestsFixture blobStorageFixture, SqlDataStoreTestsFixture sqlIndexStorageFixture) { _indexDataStore = sqlIndexStorageFixture.IndexDataStore; _instanceStore = sqlIndexStorageFixture.InstanceStore; _fileStore = blobStorageFixture.FileStore; _retrieveTranscoder = Substitute.For <ITranscoder>(); _frameHandler = Substitute.For <IFrameHandler>(); _retrieveTransferSyntaxHandler = new RetrieveTransferSyntaxHandler(NullLogger <RetrieveTransferSyntaxHandler> .Instance); _recyclableMemoryStreamManager = blobStorageFixture.RecyclableMemoryStreamManager; _retrieveResourceService = new RetrieveResourceService( _instanceStore, _fileStore, _retrieveTranscoder, _frameHandler, _retrieveTransferSyntaxHandler, blobStorageFixture.RecyclableMemoryStreamManager, NullLogger <RetrieveResourceService> .Instance); }
public StoreOrchestrator( IDicomRequestContextAccessor contextAccessor, IFileStore fileStore, IMetadataStore metadataStore, IIndexDataStore indexDataStore, IDeleteService deleteService, IQueryTagService queryTagService) { _contextAccessor = EnsureArg.IsNotNull(contextAccessor, nameof(contextAccessor)); _fileStore = EnsureArg.IsNotNull(fileStore, nameof(fileStore)); _metadataStore = EnsureArg.IsNotNull(metadataStore, nameof(metadataStore)); _indexDataStore = EnsureArg.IsNotNull(indexDataStore, nameof(indexDataStore)); _deleteService = EnsureArg.IsNotNull(deleteService, nameof(deleteService)); _queryTagService = EnsureArg.IsNotNull(queryTagService, nameof(queryTagService)); }
public BackgroundServiceHealthCheck( IIndexDataStoreFactory indexDataStoreFactory, IOptions <DeletedInstanceCleanupConfiguration> deletedInstanceCleanupConfiguration, TelemetryClient telemetryClient, BackgroundServiceHealthCheckCache backgroundServiceHealthCheckCache) { EnsureArg.IsNotNull(indexDataStoreFactory, nameof(indexDataStoreFactory)); EnsureArg.IsNotNull(deletedInstanceCleanupConfiguration?.Value, nameof(deletedInstanceCleanupConfiguration)); EnsureArg.IsNotNull(telemetryClient, nameof(telemetryClient)); EnsureArg.IsNotNull(backgroundServiceHealthCheckCache, nameof(backgroundServiceHealthCheckCache)); _indexDataStore = indexDataStoreFactory.GetInstance(); _deletedInstanceCleanupConfiguration = deletedInstanceCleanupConfiguration.Value; _telemetryClient = telemetryClient; _backgroundServiceHealthCheckCache = backgroundServiceHealthCheckCache; }
public StoreOrchestrator( IFileStore fileStore, IMetadataStore metadataStore, IIndexDataStore indexDataStore, IDeleteService deleteService) { EnsureArg.IsNotNull(fileStore, nameof(fileStore)); EnsureArg.IsNotNull(metadataStore, nameof(metadataStore)); EnsureArg.IsNotNull(indexDataStore, nameof(indexDataStore)); EnsureArg.IsNotNull(deleteService, nameof(deleteService)); _fileStore = fileStore; _metadataStore = metadataStore; _indexDataStore = indexDataStore; _deleteService = deleteService; }
public RetrieveResourceServiceTests(DataStoreTestsFixture blobStorageFixture, SqlDataStoreTestsFixture sqlIndexStorageFixture) { EnsureArg.IsNotNull(sqlIndexStorageFixture, nameof(sqlIndexStorageFixture)); EnsureArg.IsNotNull(blobStorageFixture, nameof(blobStorageFixture)); _instanceStore = sqlIndexStorageFixture.InstanceStore; _indexDataStore = sqlIndexStorageFixture.IndexDataStore; _fileStore = blobStorageFixture.FileStore; _retrieveTranscoder = Substitute.For <ITranscoder>(); _frameHandler = Substitute.For <IFrameHandler>(); _dicomRequestContextAccessor = Substitute.For <IDicomRequestContextAccessor>(); _dicomRequestContextAccessor.RequestContext.DataPartitionEntry = new PartitionEntry(DefaultPartition.Key, DefaultPartition.Name); _retrieveTransferSyntaxHandler = new RetrieveTransferSyntaxHandler(NullLogger <RetrieveTransferSyntaxHandler> .Instance); _recyclableMemoryStreamManager = blobStorageFixture.RecyclableMemoryStreamManager; _retrieveResourceService = new RetrieveResourceService( _instanceStore, _fileStore, _retrieveTranscoder, _frameHandler, _retrieveTransferSyntaxHandler, _dicomRequestContextAccessor, NullLogger <RetrieveResourceService> .Instance); }
public BackgroundServiceHealthCheck( IIndexDataStore indexDataStore, IOptions <DeletedInstanceCleanupConfiguration> deletedInstanceCleanupConfiguration, TelemetryClient telemetryClient, BackgroundServiceHealthCheckCache backgroundServiceHealthCheckCache, ILogger <BackgroundServiceHealthCheck> logger) { EnsureArg.IsNotNull(indexDataStore, nameof(indexDataStore)); EnsureArg.IsNotNull(deletedInstanceCleanupConfiguration?.Value, nameof(deletedInstanceCleanupConfiguration)); EnsureArg.IsNotNull(telemetryClient, nameof(telemetryClient)); EnsureArg.IsNotNull(backgroundServiceHealthCheckCache, nameof(backgroundServiceHealthCheckCache)); EnsureArg.IsNotNull(logger, nameof(logger)); _indexDataStore = indexDataStore; _deletedInstanceCleanupConfiguration = deletedInstanceCleanupConfiguration.Value; _telemetryClient = telemetryClient; _backgroundServiceHealthCheckCache = backgroundServiceHealthCheckCache; _logger = logger; }
public StoreOrchestrator( IFileStore fileStore, IMetadataStore metadataStore, IIndexDataStoreFactory indexDataStoreFactory, IDeleteService deleteService, IQueryTagService queryTagService) { EnsureArg.IsNotNull(fileStore, nameof(fileStore)); EnsureArg.IsNotNull(metadataStore, nameof(metadataStore)); EnsureArg.IsNotNull(indexDataStoreFactory, nameof(indexDataStoreFactory)); EnsureArg.IsNotNull(deleteService, nameof(deleteService)); EnsureArg.IsNotNull(queryTagService, nameof(queryTagService)); _fileStore = fileStore; _metadataStore = metadataStore; _deleteService = deleteService; _queryTagService = queryTagService; _indexDataStore = indexDataStoreFactory.GetInstance(); }
public DeleteService( IIndexDataStoreFactory indexDataStoreFactory, IMetadataStore metadataStore, IFileStore fileStore, IOptions <DeletedInstanceCleanupConfiguration> deletedInstanceCleanupConfiguration, ITransactionHandler transactionHandler, ILogger <DeleteService> logger) { EnsureArg.IsNotNull(indexDataStoreFactory, nameof(indexDataStoreFactory)); EnsureArg.IsNotNull(metadataStore, nameof(metadataStore)); EnsureArg.IsNotNull(fileStore, nameof(fileStore)); EnsureArg.IsNotNull(deletedInstanceCleanupConfiguration?.Value, nameof(deletedInstanceCleanupConfiguration)); EnsureArg.IsNotNull(transactionHandler, nameof(transactionHandler)); EnsureArg.IsNotNull(logger, nameof(logger)); _indexDataStore = indexDataStoreFactory.GetInstance(); _metadataStore = metadataStore; _fileStore = fileStore; _deletedInstanceCleanupConfiguration = deletedInstanceCleanupConfiguration.Value; _transactionHandler = transactionHandler; _logger = logger; }
public static Task EndCreateInstanceIndexAsync(this IIndexDataStore indexDataStore, int partitionKey, DicomDataset dicomDataset, long watermark, CancellationToken cancellationToken = default) => indexDataStore.EndCreateInstanceIndexAsync(partitionKey, dicomDataset, watermark, Array.Empty <QueryTag>(), true, cancellationToken);
public IndexDataStoreTests(SqlDataStoreTestsFixture fixture) { _indexDataStore = fixture.IndexDataStore; _testHelper = fixture.TestHelper; }
public static Task <long> CreateInstanceIndexAsync(this IIndexDataStore indexDataStore, DicomDataset dicomDataset, CancellationToken cancellationToken = default) { return(indexDataStore.CreateInstanceIndexAsync(dicomDataset, Array.Empty <QueryTag>(), cancellationToken)); }
public IndexParser(IIndexDataStore indexDataStore) { _indexDataStore = indexDataStore; }
public IndexDataStoreTests(SqlDataStoreTestsFixture fixture) { EnsureArg.IsNotNull(fixture, nameof(fixture)); _indexDataStore = fixture.IndexDataStore; _testHelper = fixture.TestHelper; }
public static Task <long> BeginCreateInstanceIndexAsync(this IIndexDataStore indexDataStore, int partitionKey, DicomDataset dicomDataset, CancellationToken cancellationToken = default) => indexDataStore.BeginCreateInstanceIndexAsync(partitionKey, dicomDataset, Array.Empty <QueryTag>(), cancellationToken);