コード例 #1
0
        public TypedElementSearchIndexerTests()
        {
            var supportedSearchParameterDefinitionManager = Substitute.For <ISupportedSearchParameterDefinitionManager>();
            var typedElementToSearchValueConverterManager = GetTypeConverterAsync().Result;
            var referenceToElementResolver = Substitute.For <IReferenceToElementResolver>();
            var modelInfoProvider          = ModelInfoProvider.Instance;
            var logger = Substitute.For <ILogger <TypedElementSearchIndexer> >();

            _searchIndexer = new TypedElementSearchIndexer(supportedSearchParameterDefinitionManager, typedElementToSearchValueConverterManager, referenceToElementResolver, modelInfoProvider, logger);

            List <string> baseResourceTypes = new List <string>()
            {
                "Resource"
            };
            List <string> targetResourceTypes = new List <string>()
            {
                "Coverage", "Observation", "Claim", "Patient"
            };

            statusSearchParameterInfo = new SearchParameterInfo("_status", "_status", (ValueSets.SearchParamType)SearchParamType.Token, new Uri(ResourceStaus), expression: CoverageStausExpression, targetResourceTypes: targetResourceTypes, baseResourceTypes: baseResourceTypes);
            var searchParameterInfos = new[]
            {
                statusSearchParameterInfo,
                new SearchParameterInfo("_status", "_status", (ValueSets.SearchParamType)SearchParamType.Token, new Uri(ResourceStaus), expression: ObservationStausExpression, targetResourceTypes: targetResourceTypes, baseResourceTypes: baseResourceTypes),
                new SearchParameterInfo("_use", "_use", (ValueSets.SearchParamType)SearchParamType.Token, new Uri(ResourceUse), expression: ClaimUseExpression, targetResourceTypes: targetResourceTypes, baseResourceTypes: baseResourceTypes),
                new SearchParameterInfo("name", "name", (ValueSets.SearchParamType)SearchParamType.String, new Uri(ResourceName), expression: PatientNameExpression, targetResourceTypes: targetResourceTypes, baseResourceTypes: baseResourceTypes),
            };

            supportedSearchParameterDefinitionManager.GetSearchParameters(Arg.Any <string>()).Returns(searchParameterInfos);
        }
コード例 #2
0
        public MemberMatchService(
            Func <IScoped <ISearchService> > searchServiceFactory,
            IResourceDeserializer resourceDeserializer,
            ISearchIndexer searchIndexer,
            ISearchParameterDefinitionManager.SearchableSearchParameterDefinitionManagerResolver searchParameterDefinitionManagerResolver,
            IExpressionParser expressionParser,
            ILogger <MemberMatchService> logger)
        {
            EnsureArg.IsNotNull(searchServiceFactory, nameof(searchServiceFactory));
            EnsureArg.IsNotNull(resourceDeserializer, nameof(resourceDeserializer));
            EnsureArg.IsNotNull(searchIndexer, nameof(searchIndexer));
            EnsureArg.IsNotNull(searchParameterDefinitionManagerResolver, nameof(searchParameterDefinitionManagerResolver));
            EnsureArg.IsNotNull(expressionParser, nameof(expressionParser));
            EnsureArg.IsNotNull(logger, nameof(logger));

            _searchServiceFactory = searchServiceFactory;
            _resourceDeserializer = resourceDeserializer;
            _searchIndexer        = searchIndexer;
            _expressionParser     = expressionParser;
            var searchParameterDefinition = searchParameterDefinitionManagerResolver();

            _coverageBeneficiaryParameter = searchParameterDefinition.GetSearchParameter("Coverage", "beneficiary");
            _resourceTypeSearchParameter  = searchParameterDefinition.GetSearchParameter(ResourceType.Resource.ToString(), SearchParameterNames.ResourceType);
            _logger = logger;
        }
コード例 #3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ResourceWrapperFactory"/> class.
        /// </summary>
        /// <param name="rawResourceFactory">The raw resource factory.</param>
        /// <param name="fhirRequestContextAccessor">The FHIR request context accessor.</param>
        /// <param name="searchIndexer">The search indexer used to generate search indices.</param>
        /// <param name="claimsExtractor">The claims extractor used to extract claims.</param>
        /// <param name="compartmentIndexer">The compartment indexer.</param>
        /// <param name="searchParameterDefinitionManager"> The search parameter definition manager.</param>
        /// <param name="resourceDeserializer">Resource deserializer</param>
        public ResourceWrapperFactory(
            IRawResourceFactory rawResourceFactory,
            IFhirRequestContextAccessor fhirRequestContextAccessor,
            ISearchIndexer searchIndexer,
            IClaimsExtractor claimsExtractor,
            ICompartmentIndexer compartmentIndexer,
            ISearchParameterDefinitionManager searchParameterDefinitionManager,
            IResourceDeserializer resourceDeserializer)
        {
            EnsureArg.IsNotNull(rawResourceFactory, nameof(rawResourceFactory));
            EnsureArg.IsNotNull(searchIndexer, nameof(searchIndexer));
            EnsureArg.IsNotNull(fhirRequestContextAccessor, nameof(fhirRequestContextAccessor));
            EnsureArg.IsNotNull(claimsExtractor, nameof(claimsExtractor));
            EnsureArg.IsNotNull(compartmentIndexer, nameof(compartmentIndexer));
            EnsureArg.IsNotNull(searchParameterDefinitionManager, nameof(searchParameterDefinitionManager));
            EnsureArg.IsNotNull(resourceDeserializer, nameof(resourceDeserializer));

            _rawResourceFactory               = rawResourceFactory;
            _searchIndexer                    = searchIndexer;
            _fhirRequestContextAccessor       = fhirRequestContextAccessor;
            _claimsExtractor                  = claimsExtractor;
            _compartmentIndexer               = compartmentIndexer;
            _searchParameterDefinitionManager = searchParameterDefinitionManager;
            _resourceDeserializer             = resourceDeserializer;
        }
コード例 #4
0
 public SearchIndexerTests()
 {
     _indexer = new SearchIndexer(
         () => SearchParameterFixtureData.SearchDefinitionManager,
         SearchParameterFixtureData.Manager,
         new LightweightReferenceToElementResolver(new ReferenceSearchValueParser(new FhirRequestContextAccessor()), ModelInfoProvider.Instance),
         NullLogger <SearchIndexer> .Instance);
 }
コード例 #5
0
        public IndexerService(StatelessServiceContext context, ISearchIndexer searchIndexer, IOptions <QueueOptions> options)
            : base(context)
        {
            this.searchIndexer = searchIndexer;

            var storageAccount = CloudStorageAccount.Parse(options.Value.ConnectionString);
            var queueClient    = storageAccount.CreateCloudQueueClient();

            queue = queueClient.GetQueueReference(options.Value.SearchIndexQueueName);
            queue.CreateIfNotExistsAsync().Wait();
        }
コード例 #6
0
        public ReindexUtilities(
            Func <IScoped <IFhirDataStore> > fhirDataStoreFactory,
            ISearchIndexer searchIndexer,
            ResourceDeserializer deserializer)
        {
            EnsureArg.IsNotNull(fhirDataStoreFactory, nameof(fhirDataStoreFactory));
            EnsureArg.IsNotNull(searchIndexer, nameof(searchIndexer));
            EnsureArg.IsNotNull(deserializer, nameof(deserializer));

            _fhirDataStoreFactory = fhirDataStoreFactory;
            _searchIndexer        = searchIndexer;
            _deserializer         = deserializer;
        }
コード例 #7
0
 public PackageIndexingService(
     IPackageService packages,
     IPackageStorageService storage,
     ISearchIndexer search,
     IOptionsSnapshot <BaGetOptions> options,
     ILogger <PackageIndexingService> logger)
 {
     _packages = packages ?? throw new ArgumentNullException(nameof(packages));
     _storage  = storage ?? throw new ArgumentNullException(nameof(storage));
     _search   = search ?? throw new ArgumentNullException(nameof(search));
     _options  = options ?? throw new ArgumentNullException(nameof(options));
     _logger   = logger ?? throw new ArgumentNullException(nameof(logger));
 }
コード例 #8
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ResourceWrapperWithSearchIndicesFactory"/> class.
        /// </summary>
        /// <param name="rawResourceFactory">The raw resource factory.</param>
        /// <param name="fhirRequestContextAccessor">The FHIR request context accessor.</param>
        /// <param name="searchIndexer">The search indexer used to generate search indices.</param>
        /// <param name="claimsIndexer">The claims indexer used to generate claims indices.</param>
        /// <param name="compartmentIndexer">The compartment indexer.</param>
        public ResourceWrapperWithSearchIndicesFactory(IRawResourceFactory rawResourceFactory, IFhirRequestContextAccessor fhirRequestContextAccessor, ISearchIndexer searchIndexer, IClaimsIndexer claimsIndexer, ICompartmentIndexer compartmentIndexer)
        {
            EnsureArg.IsNotNull(rawResourceFactory, nameof(rawResourceFactory));
            EnsureArg.IsNotNull(searchIndexer, nameof(searchIndexer));
            EnsureArg.IsNotNull(fhirRequestContextAccessor, nameof(fhirRequestContextAccessor));
            EnsureArg.IsNotNull(claimsIndexer, nameof(claimsIndexer));
            EnsureArg.IsNotNull(compartmentIndexer, nameof(compartmentIndexer));

            _rawResourceFactory         = rawResourceFactory;
            _searchIndexer              = searchIndexer;
            _fhirRequestContextAccessor = fhirRequestContextAccessor;
            _claimsIndexer              = claimsIndexer;
            _compartmentIndexer         = compartmentIndexer;
        }
コード例 #9
0
        public ReindexSingleResourceRequestHandler(
            IAuthorizationService <DataActions> authorizationService,
            IFhirDataStore fhirDataStore,
            ISearchIndexer searchIndexer,
            IResourceDeserializer deserializer)
        {
            EnsureArg.IsNotNull(authorizationService, nameof(authorizationService));
            EnsureArg.IsNotNull(fhirDataStore, nameof(fhirDataStore));
            EnsureArg.IsNotNull(searchIndexer, nameof(searchIndexer));
            EnsureArg.IsNotNull(deserializer, nameof(deserializer));

            _authorizationService = authorizationService;
            _fhirDataStore        = fhirDataStore;
            _searchIndexer        = searchIndexer;
            _resourceDeserializer = deserializer;
        }
        public ReindexSingleResourceRequestHandlerTests()
        {
            _authorizationService = Substitute.For <IFhirAuthorizationService>();
            _fhirDataStore        = Substitute.For <IFhirDataStore>();
            _searchIndexer        = Substitute.For <ISearchIndexer>();
            _resourceDeserializer = Substitute.For <IResourceDeserializer>();
            _cancellationToken    = CancellationToken.None;

            _authorizationService.CheckAccess(Arg.Is(DataActions.Reindex)).Returns(DataActions.Reindex);

            _reindexHandler = new ReindexSingleResourceRequestHandler(
                _authorizationService,
                _fhirDataStore,
                _searchIndexer,
                _resourceDeserializer);
        }
コード例 #11
0
        public ResourceWrapperFactoryTests()
        {
            var serializer = new FhirJsonSerializer();

            _rawResourceFactory = new RawResourceFactory(serializer);

            var dummyRequestContext = new FhirRequestContext(
                "POST",
                "https://localhost/Patient",
                "https://localhost/",
                Guid.NewGuid().ToString(),
                new Dictionary <string, StringValues>(),
                new Dictionary <string, StringValues>());

            _fhirRequestContextAccessor = Substitute.For <RequestContextAccessor <IFhirRequestContext> >();
            _fhirRequestContextAccessor.RequestContext.Returns(dummyRequestContext);

            _claimsExtractor    = Substitute.For <IClaimsExtractor>();
            _compartmentIndexer = Substitute.For <ICompartmentIndexer>();
            _searchIndexer      = Substitute.For <ISearchIndexer>();

            _searchParameterDefinitionManager = Substitute.For <ISearchParameterDefinitionManager>();
            _searchParameterDefinitionManager.GetSearchParameterHashForResourceType(Arg.Any <string>()).Returns("hash");

            _resourceWrapperFactory = new ResourceWrapperFactory(
                _rawResourceFactory,
                _fhirRequestContextAccessor,
                _searchIndexer,
                _claimsExtractor,
                _compartmentIndexer,
                _searchParameterDefinitionManager,
                Deserializers.ResourceDeserializer);

            _nameSearchParameterInfo = new SearchParameterInfo("name", "name", ValueSets.SearchParamType.String, new Uri("https://localhost/searchParameter/name"))
            {
                SortStatus = SortParameterStatus.Enabled
            };
            _addressSearchParameterInfo = new SearchParameterInfo("address-city", "address-city", ValueSets.SearchParamType.String, new Uri("https://localhost/searchParameter/address-city"))
            {
                SortStatus = SortParameterStatus.Enabled
            };
            _ageSearchParameterInfo = new SearchParameterInfo("age", "age", ValueSets.SearchParamType.Number, new Uri("https://localhost/searchParameter/age"))
            {
                SortStatus = SortParameterStatus.Supported
            };
        }
コード例 #12
0
        protected async Task CreateIndex()
        {
            ISearchIndexer indexer = null;

            try
            {
                indexer = GetSearchIndexer();
            }
            catch (Exception ex)
            {
                Console.WriteLine("Failed to get indexer..." + ex.Message);
            }

            if (indexer != null)
            {
                await CreateIndex(indexer);
            }
        }
コード例 #13
0
        public ReindexUtilities(
            Func <IScoped <IFhirDataStore> > fhirDataStoreFactory,
            ISearchIndexer searchIndexer,
            ResourceDeserializer deserializer,
            ISupportedSearchParameterDefinitionManager searchParameterDefinitionManager,
            ISearchParameterRegistry searchParameterRegistry)
        {
            EnsureArg.IsNotNull(fhirDataStoreFactory, nameof(fhirDataStoreFactory));
            EnsureArg.IsNotNull(searchIndexer, nameof(searchIndexer));
            EnsureArg.IsNotNull(deserializer, nameof(deserializer));
            EnsureArg.IsNotNull(searchParameterDefinitionManager, nameof(searchParameterDefinitionManager));
            EnsureArg.IsNotNull(searchParameterRegistry, nameof(searchParameterRegistry));

            _fhirDataStoreFactory             = fhirDataStoreFactory;
            _searchIndexer                    = searchIndexer;
            _deserializer                     = deserializer;
            _searchParameterDefinitionManager = searchParameterDefinitionManager;
            _searchParameterRegistry          = searchParameterRegistry;
        }
コード例 #14
0
        public ReindexSingleResourceRequestHandlerTests()
        {
            _authorizationService = Substitute.For <IAuthorizationService <DataActions> >();
            _fhirDataStore        = Substitute.For <IFhirDataStore>();
            _searchIndexer        = Substitute.For <ISearchIndexer>();
            _resourceDeserializer = Substitute.For <IResourceDeserializer>();
            _cancellationToken    = CancellationToken.None;

            _authorizationService.CheckAccess(Arg.Is(DataActions.Reindex), Arg.Any <CancellationToken>()).Returns(DataActions.Reindex);

            var searchParameterOperations        = Substitute.For <ISearchParameterOperations>();
            var searchParameterDefinitionManager = Substitute.For <ISearchParameterDefinitionManager>();

            _reindexHandler = new ReindexSingleResourceRequestHandler(
                _authorizationService,
                _fhirDataStore,
                _searchIndexer,
                _resourceDeserializer,
                searchParameterOperations,
                searchParameterDefinitionManager);
        }
コード例 #15
0
 public UpdateAccommodationCommandHandler(ISearchIndexer searchIndexer, IConfiguration configuration)
 {
     this.searchIndexer = searchIndexer;
     this.configuration = configuration;
 }
コード例 #16
0
 public RemoveAccommodationCommandHandler(ISearchIndexer searchIndexer)
 {
     this.searchIndexer = searchIndexer;
 }
コード例 #17
0
ファイル: SearchService.cs プロジェクト: EYHN/Anything
 public SearchService(ISearchIndexer indexer)
 {
     _indexer = indexer;
 }
コード例 #18
0
ファイル: SearchService.cs プロジェクト: EYHN/Anything
 public FileEventHandler(IFileService fileService, ISearchIndexer indexer, IEnumerable <ISearchCrawler> crawlers)
 {
     _fileService = fileService;
     _indexer     = indexer;
     _crawlers    = crawlers.ToArray();
 }
コード例 #19
0
 public UpdateAccommodationCommandHandler(ISearchIndexer searchIndexer, IApiClientFactory <IBookFastFacilityAPI> apiClientFactory)
 {
     this.searchIndexer    = searchIndexer;
     this.apiClientFactory = apiClientFactory;
 }
コード例 #20
0
 public DeleteActiveUserHandler(ISearchIndexerFactory searchIndexerFactory)
 {
     _searchIndexer = searchIndexerFactory.GetSearchIndexer("activeusers");
 }
コード例 #21
0
ファイル: IndexerTests.cs プロジェクト: EYHN/Anything
 private static async Task TestIndexer(ISearchIndexer indexer)
 {
コード例 #22
0
 public AccommodationService(IAccommodationDataSource accommodationDataSource, IFacilityService facilityService, ISearchIndexer searchIndexer)
 {
     this.accommodationDataSource = accommodationDataSource;
     this.facilityService         = facilityService;
     this.searchIndexer           = searchIndexer;
 }
コード例 #23
0
 protected virtual async Task CreateIndex(ISearchIndexer indexer)
 {
     throw new NotImplementedException("CreateIndex(ISearchIndexer indexer) needs to be implemented.");
 }
コード例 #24
0
 public IndexSearchDataController(ISearchIndexer indexer, IIndexedSearchService searchService)
 {
     _indexer       = indexer;
     _searchService = searchService;
 }