Beispiel #1
0
 public IgnoreRelationshipsResponseResourceObjectBuilder(ILinkBuilder linkBuilder,
                                                         IIncludedResourceObjectBuilder includedBuilder, IEnumerable <IQueryConstraintProvider> constraintProviders,
                                                         IResourceContextProvider resourceContextProvider, IResourceDefinitionAccessor resourceDefinitionAccessor,
                                                         IResourceObjectBuilderSettingsProvider settingsProvider)
     : base(linkBuilder, includedBuilder, constraintProviders, resourceContextProvider,
            resourceDefinitionAccessor, settingsProvider)
 {
 }
 public IncludedResourceObjectBuilder(IFieldsToSerialize fieldsToSerialize,
                                      ILinkBuilder linkBuilder,
                                      IResourceContextProvider provider,
                                      IResourceObjectBuilderSettingsProvider settingsProvider)
     : base(provider, settingsProvider.Get())
 {
     _included          = new HashSet <ResourceObject>(new ResourceObjectComparer());
     _fieldsToSerialize = fieldsToSerialize;
     _linkBuilder       = linkBuilder;
 }
 public IncludedResourceObjectBuilder(IFieldsToSerialize fieldsToSerialize,
                                      ILinkBuilder linkBuilder,
                                      IResourceContextProvider resourceContextProvider,
                                      IResourceObjectBuilderSettingsProvider settingsProvider)
     : base(resourceContextProvider, settingsProvider.Get())
 {
     _included          = new HashSet <ResourceObject>(ResourceIdentifierObjectComparer.Instance);
     _fieldsToSerialize = fieldsToSerialize ?? throw new ArgumentNullException(nameof(fieldsToSerialize));
     _linkBuilder       = linkBuilder ?? throw new ArgumentNullException(nameof(linkBuilder));
 }
Beispiel #4
0
 public ResponseResourceObjectBuilder(ILinkBuilder linkBuilder,
                                      IIncludedResourceObjectBuilder includedBuilder,
                                      IIncludeService includeService,
                                      IResourceContextProvider provider,
                                      IResourceObjectBuilderSettingsProvider settingsProvider)
     : base(provider, settingsProvider.Get())
 {
     _linkBuilder     = linkBuilder;
     _includedBuilder = includedBuilder;
     _includeService  = includeService;
 }
Beispiel #5
0
        private IncludedResourceObjectBuilder GetBuilder()
        {
            IFieldsToSerialize          fields = GetSerializableFields();
            ILinkBuilder                links  = GetLinkBuilder();
            IResourceDefinitionAccessor resourceDefinitionAccessor = new Mock <IResourceDefinitionAccessor>().Object;
            var queryStringAccessor = new FakeRequestQueryStringAccessor();
            IResourceObjectBuilderSettingsProvider resourceObjectBuilderSettingsProvider = GetSerializerSettingsProvider();

            return(new IncludedResourceObjectBuilder(fields, links, ResourceGraph, Enumerable.Empty <IQueryConstraintProvider>(), resourceDefinitionAccessor,
                                                     queryStringAccessor, resourceObjectBuilderSettingsProvider));
        }
 public ResponseResourceObjectBuilder(ILinkBuilder linkBuilder,
                                      IIncludedResourceObjectBuilder includedBuilder,
                                      IEnumerable <IQueryConstraintProvider> constraintProviders,
                                      IResourceContextProvider provider,
                                      IResourceObjectBuilderSettingsProvider settingsProvider)
     : base(provider, settingsProvider.Get())
 {
     _linkBuilder         = linkBuilder;
     _includedBuilder     = includedBuilder;
     _constraintProviders = constraintProviders;
 }
Beispiel #7
0
        private IIncludedResourceObjectBuilder GetIncludedBuilder(bool hasIncludeQueryString)
        {
            IFieldsToSerialize                     fieldsToSerialize                     = GetSerializableFields();
            ILinkBuilder                           linkBuilder                           = GetLinkBuilder();
            IResourceDefinitionAccessor            resourceDefinitionAccessor            = GetResourceDefinitionAccessor();
            IRequestQueryStringAccessor            queryStringAccessor                   = new FakeRequestQueryStringAccessor(hasIncludeQueryString ? "include=" : null);
            IResourceObjectBuilderSettingsProvider resourceObjectBuilderSettingsProvider = GetSerializerSettingsProvider();

            return(new IncludedResourceObjectBuilder(fieldsToSerialize, linkBuilder, ResourceGraph, Enumerable.Empty <IQueryConstraintProvider>(),
                                                     resourceDefinitionAccessor, queryStringAccessor, resourceObjectBuilderSettingsProvider));
        }
Beispiel #8
0
 public ResponseResourceObjectBuilder(ILinkBuilder linkBuilder,
                                      IIncludedResourceObjectBuilder includedBuilder,
                                      IEnumerable <IQueryConstraintProvider> constraintProviders,
                                      IResourceContextProvider resourceContextProvider,
                                      IResourceObjectBuilderSettingsProvider settingsProvider)
     : base(resourceContextProvider, settingsProvider.Get())
 {
     _linkBuilder         = linkBuilder ?? throw new ArgumentNullException(nameof(linkBuilder));
     _includedBuilder     = includedBuilder ?? throw new ArgumentNullException(nameof(includedBuilder));
     _constraintProviders = constraintProviders ?? throw new ArgumentNullException(nameof(constraintProviders));
 }
Beispiel #9
0
 public ResponseResourceObjectBuilder(ILinkBuilder linkBuilder,
                                      IIncludedResourceObjectBuilder includedBuilder,
                                      IEnumerable <IQueryConstraintProvider> constraintProviders,
                                      IResourceContextProvider resourceContextProvider,
                                      IResourceDefinitionAccessor resourceDefinitionAccessor,
                                      IResourceObjectBuilderSettingsProvider settingsProvider)
     : base(resourceContextProvider, settingsProvider.Get())
 {
     _linkBuilder                = linkBuilder ?? throw new ArgumentNullException(nameof(linkBuilder));
     _includedBuilder            = includedBuilder ?? throw new ArgumentNullException(nameof(includedBuilder));
     _constraintProviders        = constraintProviders ?? throw new ArgumentNullException(nameof(constraintProviders));
     _resourceDefinitionAccessor = resourceDefinitionAccessor ?? throw new ArgumentNullException(nameof(resourceDefinitionAccessor));
     _sparseFieldSetCache        = new SparseFieldSetCache(constraintProviders, resourceDefinitionAccessor);
 }
 public IncludedResourceObjectBuilder(IFieldsToSerialize fieldsToSerialize,
                                      ILinkBuilder linkBuilder,
                                      IResourceContextProvider resourceContextProvider,
                                      IEnumerable <IQueryConstraintProvider> constraintProviders,
                                      IResourceDefinitionAccessor resourceDefinitionAccessor,
                                      IResourceObjectBuilderSettingsProvider settingsProvider)
     : base(resourceContextProvider, settingsProvider.Get())
 {
     _included                   = new HashSet <ResourceObject>(ResourceIdentifierObjectComparer.Instance);
     _fieldsToSerialize          = fieldsToSerialize ?? throw new ArgumentNullException(nameof(fieldsToSerialize));
     _linkBuilder                = linkBuilder ?? throw new ArgumentNullException(nameof(linkBuilder));
     _resourceDefinitionAccessor = resourceDefinitionAccessor ?? throw new ArgumentNullException(nameof(resourceDefinitionAccessor));
     _sparseFieldSetCache        = new SparseFieldSetCache(constraintProviders, resourceDefinitionAccessor);
 }
 public ResponseResourceObjectBuilder(IFieldsToSerialize fieldsToSerialize,
                                      ILinkBuilder linkBuilder,
                                      IIncludedResourceObjectBuilder includedBuilder,
                                      IIncludeService includeService,
                                      IResourceContextProvider provider,
                                      IResourceObjectBuilderSettingsProvider settingsProvider,
                                      ILoggerFactory loggerFactory)
     : base(provider, settingsProvider.Get())
 {
     _logger            = loggerFactory.CreateLogger <ResponseResourceObjectBuilder>();
     _linkBuilder       = linkBuilder;
     _includedBuilder   = includedBuilder;
     _includeService    = includeService;
     _fieldsToSerialize = fieldsToSerialize;
 }
        protected ResponseSerializer <T> GetResponseSerializer <T>(IEnumerable <IEnumerable <RelationshipAttribute> > inclusionChains = null,
                                                                   Dictionary <string, object> metaDict = null, TopLevelLinks topLinks = null, ResourceLinks resourceLinks = null,
                                                                   RelationshipLinks relationshipLinks  = null)
            where T : class, IIdentifiable
        {
            IMetaBuilder meta = GetMetaBuilder(metaDict);
            ILinkBuilder link = GetLinkBuilder(topLinks, resourceLinks, relationshipLinks);
            IEnumerable <IQueryConstraintProvider> includeConstraints = GetIncludeConstraints(inclusionChains);
            IIncludedResourceObjectBuilder         includedBuilder    = GetIncludedBuilder();
            IFieldsToSerialize fieldsToSerialize = GetSerializableFields();

            IResourceDefinitionAccessor resourceDefinitionAccessor = GetResourceDefinitionAccessor();

            IResourceObjectBuilderSettingsProvider settingsProvider = GetSerializerSettingsProvider();

            var resourceObjectBuilder = new ResponseResourceObjectBuilder(link, includedBuilder, includeConstraints, ResourceGraph, resourceDefinitionAccessor,
                                                                          settingsProvider);

            var jsonApiOptions = new JsonApiOptions();

            return(new ResponseSerializer <T>(meta, link, includedBuilder, fieldsToSerialize, resourceObjectBuilder, resourceDefinitionAccessor, jsonApiOptions));
        }
Beispiel #13
0
        public ResponseResourceObjectBuilder(ILinkBuilder linkBuilder, IIncludedResourceObjectBuilder includedBuilder,
                                             IEnumerable <IQueryConstraintProvider> constraintProviders, IResourceContextProvider resourceContextProvider,
                                             IResourceDefinitionAccessor resourceDefinitionAccessor, IResourceObjectBuilderSettingsProvider settingsProvider,
                                             IEvaluatedIncludeCache evaluatedIncludeCache)
            : base(resourceContextProvider, settingsProvider.Get())
        {
            ArgumentGuard.NotNull(linkBuilder, nameof(linkBuilder));
            ArgumentGuard.NotNull(includedBuilder, nameof(includedBuilder));
            ArgumentGuard.NotNull(constraintProviders, nameof(constraintProviders));
            ArgumentGuard.NotNull(resourceDefinitionAccessor, nameof(resourceDefinitionAccessor));
            ArgumentGuard.NotNull(evaluatedIncludeCache, nameof(evaluatedIncludeCache));

            _linkBuilder                = linkBuilder;
            _includedBuilder            = includedBuilder;
            _resourceDefinitionAccessor = resourceDefinitionAccessor;
            _evaluatedIncludeCache      = evaluatedIncludeCache;
            _sparseFieldSetCache        = new SparseFieldSetCache(constraintProviders, resourceDefinitionAccessor);
        }
        public IncludedResourceObjectBuilder(IFieldsToSerialize fieldsToSerialize, ILinkBuilder linkBuilder, IResourceContextProvider resourceContextProvider,
                                             IEnumerable <IQueryConstraintProvider> constraintProviders, IResourceDefinitionAccessor resourceDefinitionAccessor,
                                             IRequestQueryStringAccessor queryStringAccessor, IResourceObjectBuilderSettingsProvider settingsProvider)
            : base(resourceContextProvider, settingsProvider.Get())
        {
            ArgumentGuard.NotNull(fieldsToSerialize, nameof(fieldsToSerialize));
            ArgumentGuard.NotNull(linkBuilder, nameof(linkBuilder));
            ArgumentGuard.NotNull(constraintProviders, nameof(constraintProviders));
            ArgumentGuard.NotNull(resourceDefinitionAccessor, nameof(resourceDefinitionAccessor));
            ArgumentGuard.NotNull(queryStringAccessor, nameof(queryStringAccessor));

            _included                   = new HashSet <ResourceObject>(ResourceIdentifierObjectComparer.Instance);
            _fieldsToSerialize          = fieldsToSerialize;
            _linkBuilder                = linkBuilder;
            _resourceDefinitionAccessor = resourceDefinitionAccessor;
            _queryStringAccessor        = queryStringAccessor;
            _sparseFieldSetCache        = new SparseFieldSetCache(constraintProviders, resourceDefinitionAccessor);
        }