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; }
/// <summary> /// Initializes a new instance of the <see cref="ExpressionParser"/> class. /// </summary> /// <param name="searchParameterDefinitionManagerResolver">The search parameter definition manager.</param> /// <param name="searchParameterExpressionParser">The parser used to parse the search value into a search expression.</param> public ExpressionParser( ISearchParameterDefinitionManager.SearchableSearchParameterDefinitionManagerResolver searchParameterDefinitionManagerResolver, ISearchParameterExpressionParser searchParameterExpressionParser) { EnsureArg.IsNotNull(searchParameterDefinitionManagerResolver, nameof(searchParameterDefinitionManagerResolver)); EnsureArg.IsNotNull(searchParameterExpressionParser, nameof(searchParameterExpressionParser)); _searchParameterDefinitionManager = searchParameterDefinitionManagerResolver(); _searchParameterExpressionParser = searchParameterExpressionParser; }
public SearchParameterExpressionParser( ISearchParameterDefinitionManager.SearchableSearchParameterDefinitionManagerResolver searchParameterDefinitionManagerResolver, IReferenceSearchValueParser referenceSearchValueParser) { EnsureArg.IsNotNull(searchParameterDefinitionManagerResolver, nameof(searchParameterDefinitionManagerResolver)); EnsureArg.IsNotNull(referenceSearchValueParser, nameof(referenceSearchValueParser)); _searchParameterDefinitionManager = searchParameterDefinitionManagerResolver(); _parserDictionary = new (SearchParamType type, Func <string, ISearchValue> parser)[]
public PartitionEliminationRewriter( ISqlServerFhirModel model, SchemaInformation schemaInformation, ISearchParameterDefinitionManager.SearchableSearchParameterDefinitionManagerResolver searchParameterDefinitionManagerResolver) { EnsureArg.IsNotNull(model, nameof(model)); EnsureArg.IsNotNull(schemaInformation, nameof(schemaInformation)); EnsureArg.IsNotNull(searchParameterDefinitionManagerResolver, nameof(searchParameterDefinitionManagerResolver)); _model = model; _schemaInformation = schemaInformation; _resourceTypeSearchParameter = searchParameterDefinitionManagerResolver.Invoke().GetSearchParameter(KnownResourceTypes.Resource, SearchParameterNames.ResourceType); }
public SystemConformanceProvider( IModelInfoProvider modelInfoProvider, ISearchParameterDefinitionManager.SearchableSearchParameterDefinitionManagerResolver searchParameterDefinitionManagerResolver, Func <IScoped <IEnumerable <IProvideCapability> > > capabilityProviders) { EnsureArg.IsNotNull(modelInfoProvider, nameof(modelInfoProvider)); EnsureArg.IsNotNull(searchParameterDefinitionManagerResolver, nameof(searchParameterDefinitionManagerResolver)); EnsureArg.IsNotNull(capabilityProviders, nameof(capabilityProviders)); _modelInfoProvider = modelInfoProvider; _searchParameterDefinitionManager = searchParameterDefinitionManagerResolver(); _capabilityProviders = capabilityProviders; }
public SearchOptionsFactory( IExpressionParser expressionParser, ISearchParameterDefinitionManager.SearchableSearchParameterDefinitionManagerResolver searchParameterDefinitionManagerResolver, ILogger <SearchOptionsFactory> logger) { EnsureArg.IsNotNull(expressionParser, nameof(expressionParser)); EnsureArg.IsNotNull(searchParameterDefinitionManagerResolver, nameof(searchParameterDefinitionManagerResolver)); EnsureArg.IsNotNull(logger, nameof(logger)); _expressionParser = expressionParser; _searchParameterDefinitionManager = searchParameterDefinitionManagerResolver(); _logger = logger; _resourceTypeSearchParameter = _searchParameterDefinitionManager.GetSearchParameter(ResourceType.Resource.ToString(), SearchParameterNames.ResourceType); }
public SearchOptionsFactory( IExpressionParser expressionParser, ISearchParameterDefinitionManager.SearchableSearchParameterDefinitionManagerResolver searchParameterDefinitionManagerResolver, IOptions <CoreFeatureConfiguration> featureConfiguration, ILogger <SearchOptionsFactory> logger) { EnsureArg.IsNotNull(expressionParser, nameof(expressionParser)); EnsureArg.IsNotNull(searchParameterDefinitionManagerResolver, nameof(searchParameterDefinitionManagerResolver)); EnsureArg.IsNotNull(featureConfiguration?.Value, nameof(featureConfiguration)); EnsureArg.IsNotNull(logger, nameof(logger)); _expressionParser = expressionParser; _searchParameterDefinitionManager = searchParameterDefinitionManagerResolver(); _logger = logger; _featureConfiguration = featureConfiguration.Value; _resourceTypeSearchParameter = _searchParameterDefinitionManager.GetSearchParameter(ResourceType.Resource.ToString(), SearchParameterNames.ResourceType); }
public SystemConformanceProvider( IModelInfoProvider modelInfoProvider, ISearchParameterDefinitionManager.SearchableSearchParameterDefinitionManagerResolver searchParameterDefinitionManagerResolver, Func <IScoped <IEnumerable <IProvideCapability> > > capabilityProviders, IOptions <CoreFeatureConfiguration> configuration, IKnowSupportedProfiles supportedProfiles) { EnsureArg.IsNotNull(modelInfoProvider, nameof(modelInfoProvider)); EnsureArg.IsNotNull(searchParameterDefinitionManagerResolver, nameof(searchParameterDefinitionManagerResolver)); EnsureArg.IsNotNull(capabilityProviders, nameof(capabilityProviders)); EnsureArg.IsNotNull(configuration, nameof(configuration)); EnsureArg.IsNotNull(supportedProfiles, nameof(supportedProfiles)); _modelInfoProvider = modelInfoProvider; _searchParameterDefinitionManager = searchParameterDefinitionManagerResolver(); _capabilityProviders = capabilityProviders; _configuration = configuration; _supportedProfiles = supportedProfiles; }
public SearchParameterExpressionParser( ISearchParameterDefinitionManager.SearchableSearchParameterDefinitionManagerResolver searchParameterDefinitionManagerResolver, IReferenceSearchValueParser referenceSearchValueParser) { EnsureArg.IsNotNull(searchParameterDefinitionManagerResolver, nameof(searchParameterDefinitionManagerResolver)); EnsureArg.IsNotNull(referenceSearchValueParser, nameof(referenceSearchValueParser)); _searchParameterDefinitionManager = searchParameterDefinitionManagerResolver(); _parserDictionary = new Dictionary <SearchParamType, Func <string, ISearchValue> >() { { SearchParamType.Date, DateTimeSearchValue.Parse }, { SearchParamType.Number, NumberSearchValue.Parse }, { SearchParamType.Quantity, QuantitySearchValue.Parse }, { SearchParamType.Reference, referenceSearchValueParser.Parse }, { SearchParamType.String, StringSearchValue.Parse }, { SearchParamType.Token, TokenSearchValue.Parse }, { SearchParamType.Uri, UriSearchValue.Parse }, }; }
public SqlServerSearchService( ISearchOptionsFactory searchOptionsFactory, IFhirDataStore fhirDataStore, ISqlServerFhirModel model, SqlRootExpressionRewriter sqlRootExpressionRewriter, ChainFlatteningRewriter chainFlatteningRewriter, SortRewriter sortRewriter, PartitionEliminationRewriter partitionEliminationRewriter, SqlConnectionWrapperFactory sqlConnectionWrapperFactory, SchemaInformation schemaInformation, RequestContextAccessor <IFhirRequestContext> requestContextAccessor, ISearchParameterDefinitionManager.SearchableSearchParameterDefinitionManagerResolver searchParameterDefinitionManagerResolver, ILogger <SqlServerSearchService> logger) : base(searchOptionsFactory, fhirDataStore) { EnsureArg.IsNotNull(sqlRootExpressionRewriter, nameof(sqlRootExpressionRewriter)); EnsureArg.IsNotNull(chainFlatteningRewriter, nameof(chainFlatteningRewriter)); EnsureArg.IsNotNull(sqlConnectionWrapperFactory, nameof(sqlConnectionWrapperFactory)); EnsureArg.IsNotNull(schemaInformation, nameof(schemaInformation)); EnsureArg.IsNotNull(partitionEliminationRewriter, nameof(partitionEliminationRewriter)); EnsureArg.IsNotNull(requestContextAccessor, nameof(requestContextAccessor)); EnsureArg.IsNotNull(searchParameterDefinitionManagerResolver, nameof(searchParameterDefinitionManagerResolver)); EnsureArg.IsNotNull(logger, nameof(logger)); _model = model; _sqlRootExpressionRewriter = sqlRootExpressionRewriter; _sortRewriter = sortRewriter; _partitionEliminationRewriter = partitionEliminationRewriter; _chainFlatteningRewriter = chainFlatteningRewriter; _sqlConnectionWrapperFactory = sqlConnectionWrapperFactory; _logger = logger; _schemaInformation = schemaInformation; _requestContextAccessor = requestContextAccessor; _searchParameterDefinitionManagerResolver = searchParameterDefinitionManagerResolver; }