示例#1
0
 /// <summary>
 /// Gets <see cref="IGraphType"/> based on specified name.
 /// </summary>
 /// <param name="provider">The <see cref="IGraphTypeProvider"/>.</param>
 /// <param name="graphTypeName">Name of the graph type.</param>
 /// <returns>The <see cref="IGraphType"/>.</returns>
 public static IGraphType GetGraphType(this IGraphTypeProvider provider, string graphTypeName)
 {
     Guard.ArgumentNotNull(provider, nameof(provider));
     Guard.ArgumentNotNullOrWhiteSpace(graphTypeName, nameof(graphTypeName));
     return(provider.TryGetGraphType(graphTypeName, out var value)
         ? value
         : throw new ArgumentException($"Cannot resolve specified GraphType '{graphTypeName}'", nameof(graphTypeName)));
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="DefaultGraphExecutor" /> class.
        /// </summary>
        /// <param name="graphTypeProvider">The graph type provider.</param>
        /// <param name="logger">The logger.</param>
        public DefaultGraphExecutor(IGraphTypeProvider graphTypeProvider, ILogger <DefaultGraphExecutor> logger)
        {
            _graphTypeProvider = graphTypeProvider ?? throw new ArgumentNullException(nameof(graphTypeProvider));
            _logger            = logger ?? throw new ArgumentNullException(nameof(logger));

            _log4ReturnRoot  = LoggerMessage.Define <DateTimeOffset, string, string>(LogLevel.Trace, 0, "[{0}]Directly return the source object. Operation: {1}. Source type: {2}");
            _log4QueryResult = LoggerMessage.Define <DateTimeOffset, string, string>(LogLevel.Trace, 0, "[{0}]Create dynamically generated class. Operation: {1}. Source type: {2}");
            _log4Error       = LoggerMessage.Define <DateTimeOffset, string, string>(LogLevel.Error, 0, "[{0}]Unhandled exception. Operation: {1}. Detailed information: {2}");
        }
示例#3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="SchemaFactory"/> class.
 /// </summary>
 /// <param name="attributeAccessor">The attribute accessor.</param>
 /// <param name="graphTypeProvider">The graph type provider.</param>
 /// <param name="binderProvider">The binder provider.</param>
 public SchemaFactory(
     IAttributeAccessor attributeAccessor,
     IGraphTypeProvider graphTypeProvider,
     IArgumentBinderProvider binderProvider)
 {
     _attributeAccessor = attributeAccessor ?? throw new ArgumentNullException(nameof(attributeAccessor));
     _graphTypeProvider = graphTypeProvider ?? throw new ArgumentNullException(nameof(graphTypeProvider));
     _binderProvider    = binderProvider ?? throw new ArgumentNullException(nameof(binderProvider));
 }
 public DefaultGraphContextFactory(
     IDocumentBuilder documentBuilder,
     IGraphSchemaProvider schemaProvider,
     IGraphTypeProvider graphTypeProvider,
     IHttpContextAccessor httpContextAccessor,
     ISelectionSetProvider selectionSetProvider,
     IOptions <GraphOptions> optionsAccessor)
 {
     _documentBuilder      = documentBuilder ?? throw new ArgumentNullException(nameof(documentBuilder));
     _schemaProvider       = schemaProvider ?? throw new ArgumentNullException(nameof(schemaProvider));
     _graphTypeProvider    = graphTypeProvider ?? throw new ArgumentNullException(nameof(graphTypeProvider));
     _httpContextAccessor  = httpContextAccessor ?? throw new ArgumentNullException(nameof(httpContextAccessor));
     _selectionSetProvider = selectionSetProvider ?? throw new ArgumentNullException(nameof(selectionSetProvider));
     _options            = Guard.ArgumentNotNull(optionsAccessor, nameof(optionsAccessor)).Value;
     _fieldNameConverter = _options.FieldNameConverter;
 }
示例#5
0
 public SelectionSetProvider(
     IGraphTypeProvider graphTypeProvider,
     IGraphSchemaProvider schemaProvider,
     IQueryResultTypeGenerator typeGenerator,
     ILogger <SelectionSetProvider> logger,
     IOptions <GraphOptions> optionsAccessor)
 {
     Guard.ArgumentNotNull(schemaProvider, nameof(schemaProvider));
     _graphTypeProvider  = graphTypeProvider ?? throw new ArgumentNullException(nameof(graphTypeProvider));
     _selections         = new ConcurrentDictionary <string, ICollection <ISelectionNode> >();
     _typeGenerator      = Guard.ArgumentNotNull(typeGenerator, nameof(typeGenerator));
     _schema             = schemaProvider.Schema;
     _fieldNameConverter = Guard.ArgumentNotNull(optionsAccessor, nameof(optionsAccessor)).Value.FieldNameConverter;
     _logger             = Guard.ArgumentNotNull(logger, nameof(logger));
     _log4MissCache      = LoggerMessage.Define <DateTimeOffset, string, string>(LogLevel.Trace, 0, "[{0}]Selection set cache missing. Operation: {1}; Reason: {2}.");
 }
 public GraphSchemaConverter(IGraphTypeProvider graphTypeProvider)
 {
     _graphTypeProvider = graphTypeProvider ?? throw new ArgumentNullException(nameof(graphTypeProvider));
 }
示例#7
0
 public GraphSchemaConverter(IGraphTypeProvider graphTypeProvider)
 {
     _graphTypeProvider = graphTypeProvider ?? throw new ArgumentNullException(nameof(graphTypeProvider));
     GraphTypeTypeRegistry.Register <Guid, GuidGraphType>();
     GraphTypeTypeRegistry.Register <short, IntGraphType>();
 }
 public GraphSchemaFormatter(IGraphTypeProvider graphTypeProvider, IOptions <GraphOptions> optionsAccessor)
 {
     Guard.ArgumentNotNull(optionsAccessor, nameof(optionsAccessor));
     _fieldNameConverter = optionsAccessor.Value.FieldNameConverter;
     _graphTypeProvider  = graphTypeProvider ?? throw new ArgumentNullException(nameof(graphTypeProvider));
 }