public ExtensionsOpenApiContentProvider(IDomainModelProvider domainModelProvider, IResourceModelProvider resourceModelProvider, ISchemaNameMapProvider schemaNameMapProvider) { _domainModelProvider = Preconditions.ThrowIfNull(domainModelProvider, nameof(domainModelProvider)); _resourceModelProvider = Preconditions.ThrowIfNull(resourceModelProvider, nameof(resourceModelProvider)); _schemaNameMapProvider = Preconditions.ThrowIfNull(schemaNameMapProvider, nameof(schemaNameMapProvider)); }
public ValidatingProfileMetadataProvider(string profilePath, IResourceModelProvider resourceModelProvider) { if (profilePath == null) { throw new ArgumentNullException(nameof(profilePath)); } if (!Directory.Exists(profilePath)) { throw new DirectoryNotFoundException($"{profilePath} not found"); } if (resourceModelProvider == null) { throw new ArgumentNullException(nameof(resourceModelProvider)); } _resourceModel = resourceModelProvider.GetResourceModel(); _profileDefinitionByName = new Lazy <IDictionary <string, XElement> >(LazyInitializeProfileDefinitions); _profileXDoc = new Lazy <XDocument>(() => MetadataHelper.GetProfilesXDocument(profilePath)); _profileResources = new Lazy <List <ProfileAndResourceNames> >(LazyInitializeProfileResources); _codeGenProfiles = new Lazy <Profile[]>( () => MetadataHelper.GetProfiles(ProfileXDocument) .Profile); }
public CompositesOpenApiContentProvider(ICompositesMetadataProvider compositesMetadataProvider, IResourceModelProvider resourceModelProvider) { _compositesMetadataProvider = Preconditions.ThrowIfNull( compositesMetadataProvider, nameof(compositesMetadataProvider)); _resourceModelProvider = Preconditions.ThrowIfNull(resourceModelProvider, nameof(resourceModelProvider)); }
public ProfileResourceModelProvider( IResourceModelProvider resourceModelProvider, IProfileMetadataProvider profileMetadataProvider) { _profileMetadataProvider = profileMetadataProvider; _resourceModel = new Lazy <ResourceModel>(resourceModelProvider.GetResourceModel); }
public ExtensionsOpenApiContentProvider(IDomainModelProvider domainModelProvider, IResourceModelProvider resourceModelProvider, ISchemaNameMapProvider schemaNameMapProvider, IOpenApiMetadataDocumentFactory documentFactory) { _domainModelProvider = Preconditions.ThrowIfNull(domainModelProvider, nameof(domainModelProvider)); _resourceModelProvider = Preconditions.ThrowIfNull(resourceModelProvider, nameof(resourceModelProvider)); _schemaNameMapProvider = Preconditions.ThrowIfNull(schemaNameMapProvider, nameof(schemaNameMapProvider)); _openApiMetadataDocumentFactory = Preconditions.ThrowIfNull(documentFactory, nameof(documentFactory)); }
public LegacyOpenApiMetadataCacheProvider( IDomainModelProvider domainModelProvider, IResourceModelProvider resourceModelProvider, IProfileResourceModelProvider profileResourceModelProvider, IProfileResourceNamesProvider profileResourceNamesProvider, ICompositesMetadataProvider compositesMetadataProvider, ISchemaNameMapProvider schemaNameMapProvider, IOpenApiMetadataRouteProvider openApiMetadataRouteProvider, IOpenApiContentProvider[] openApiContentProviders) { _domainModelProvider = domainModelProvider; _resourceModelProvider = resourceModelProvider; _compositesMetadataProvider = compositesMetadataProvider; _schemaNameMapProvider = schemaNameMapProvider; _openApiMetadataRouteProvider = openApiMetadataRouteProvider; _profileResourceModelProvider = profileResourceModelProvider; _profileResourceNamesProvider = profileResourceNamesProvider; _openApiMetadataResourceFilters = new Dictionary <string, IOpenApiMetadataResourceStrategy>(StringComparer.InvariantCultureIgnoreCase) { { Descriptors, new SwaggerUiDescriptorOnlyStrategy() }, { Resources, new SwaggerUiResourceOnlyStrategy() }, { Extensions, new SdkGenExtensionResourceStrategy() }, { EdFi, new SdkGenAllEdFiResourceStrategy() }, { Profiles, new OpenApiProfileStrategy() }, { Composites, new OpenApiCompositeStrategy(_compositesMetadataProvider) }, { All, new SdkGenAllResourceStrategy() } }; _openApiMetadataSectionByRoute = new Dictionary <string, Func <IEnumerable <OpenApiContent> > > { { MetadataRouteConstants.Schema, CreateSchemaSpecificSections }, { MetadataRouteConstants.All, CreateSdkGenAllSection }, { MetadataRouteConstants.Profiles, CreateProfileSection }, { MetadataRouteConstants.Composites, CreateCompositeSection }, { MetadataRouteConstants.ResourceTypes, CreateSwaggerUiSection } }; foreach (var openApiContentProvider in openApiContentProviders) { var routeName = openApiContentProvider.RouteName; if (_openApiMetadataSectionByRoute.ContainsKey(routeName)) { throw new InvalidOperationException( $"Duplicate metadata route '{routeName}' encountered during initialization. Source: {openApiContentProvider.GetType().FullName}"); } _openApiMetadataSectionByRoute.Add(routeName, openApiContentProvider.GetOpenApiContent); } _swaggerMetadataCache = new ConcurrentDictionary <string, OpenApiContent>(StringComparer.InvariantCultureIgnoreCase); }
public ProfilesOpenApiContentProvider(IProfileResourceModelProvider profileResourceModelProvider, IProfileResourceNamesProvider profileResourceNamesProvider, IResourceModelProvider resourceModelProvider, IOpenApiMetadataDocumentFactory documentFactory) { _profileResourceModelProvider = Preconditions.ThrowIfNull(profileResourceModelProvider, nameof(profileResourceModelProvider)); _profileResourceNamesProvider = Preconditions.ThrowIfNull(profileResourceNamesProvider, nameof(profileResourceNamesProvider)); _resourceModelProvider = Preconditions.ThrowIfNull(resourceModelProvider, nameof(resourceModelProvider)); _openApiMetadataDocumentFactory = Preconditions.ThrowIfNull(documentFactory, nameof(documentFactory)); }
public CompositesOpenApiContentProvider(ICompositesMetadataProvider compositesMetadataProvider, IResourceModelProvider resourceModelProvider, IOpenApiMetadataDocumentFactory openApiMetadataDocumentFactory) { _compositesMetadataProvider = Preconditions.ThrowIfNull( compositesMetadataProvider, nameof(compositesMetadataProvider)); _resourceModelProvider = Preconditions.ThrowIfNull(resourceModelProvider, nameof(resourceModelProvider)); _openApiMetadataDocumentFactory = Preconditions.ThrowIfNull( openApiMetadataDocumentFactory, nameof(openApiMetadataDocumentFactory)); }
public ProfilesOpenApiContentProvider(IProfileResourceModelProvider profileResourceModelProvider, IProfileResourceNamesProvider profileResourceNamesProvider, IResourceModelProvider resourceModelProvider) { _profileResourceModelProvider = Preconditions.ThrowIfNull(profileResourceModelProvider, nameof(profileResourceModelProvider)); _profileResourceNamesProvider = Preconditions.ThrowIfNull(profileResourceNamesProvider, nameof(profileResourceNamesProvider)); _resourceModelProvider = Preconditions.ThrowIfNull(resourceModelProvider, nameof(resourceModelProvider)); }
public object Generate(TemplateContext templateContext) { TemplateContext = Preconditions.ThrowIfNull(templateContext, nameof(templateContext)); ResourceModelProvider = new ResourceModelProvider(TemplateContext.DomainModelProvider); ValidatingProfileMetadataProvider = new ValidatingProfileMetadataProvider(TemplateContext.ProjectPath, ResourceModelProvider); ProfileResourceNamesProvider = ValidatingProfileMetadataProvider; ProfileResourceModelProvider = new ProfileResourceModelProvider(ResourceModelProvider, ValidatingProfileMetadataProvider); ProjectHasProfileDefinition = ValidatingProfileMetadataProvider.HasProfileData; Configure(); return(Build()); }
public CompositeResourceResponseProvider( ISessionFactory sessionFactory, ICompositeDefinitionProcessor <HqlBuilderContext, CompositeQuery> compositeDefinitionProcessor, IResourceModelProvider resourceModelProvider, IPersonUniqueIdToUsiCache personUniqueIdToUsiCache, IFieldsExpressionParser fieldsExpressionParser, IProfileResourceModelProvider profileResourceModelProvider) { _sessionFactory = sessionFactory; _compositeDefinitionProcessor = compositeDefinitionProcessor; _resourceModelProvider = resourceModelProvider; _personUniqueIdToUsiCache = personUniqueIdToUsiCache; _fieldsExpressionParser = fieldsExpressionParser; _profileResourceModelProvider = profileResourceModelProvider; }
protected override void Arrange() { resourceModelProvider = A.Fake <IResourceModelProvider>(); profileMetadaProvider = A.Fake <IProfileMetadataProvider>(); A.CallTo(() => profileMetadaProvider.GetProfileDefinition("Profile1")) .Returns( XElement.Parse( @" <Profile name='Profile1'> <Resource name='TestEntity1' logicalSchema='schema1'> <ReadContentType memberSelection='IncludeOnly'> <Property name='StringProperty1' /> </ReadContentType> <WriteContentType memberSelection='IncludeOnly'> <Property name='DateProperty1' /> </WriteContentType> </Resource> </Profile>")); A.CallTo(() => profileMetadaProvider.GetProfileDefinition("Profile2")) .Returns( XElement.Parse( @" <Profile name='Profile2'> <Resource name='TestEntity2' logicalSchema='schema1'> <ReadContentType memberSelection='IncludeOnly'> <Property name='StringProperty1' /> </ReadContentType> </Resource> <Resource name='TestEntity3' logicalSchema='schema1'> <WriteContentType memberSelection='IncludeOnly'> <Property name='DateProperty1' /> </WriteContentType> </Resource> </Profile>")); A.CallTo(() => profileMetadaProvider.GetProfileDefinition("ProfileX")) .Throws(new KeyNotFoundException()); A.CallTo(() => resourceModelProvider.GetResourceModel()) .Returns(GetTestResourceModel()); profileresourceModelProvider = new ProfileResourceModelProvider(resourceModelProvider, profileMetadaProvider); }
public ResourceProfileProvider( IResourceModelProvider resourceModelProvider, TemplateContext templateContext) { var validatingProfileMetadataProvider = new ValidatingProfileMetadataProvider( templateContext.ProjectPath, resourceModelProvider); _profileResourceNamesProvider = validatingProfileMetadataProvider; _profileResourceModelProvider = new ProfileResourceModelProvider( resourceModelProvider, validatingProfileMetadataProvider); ProjectHasProfileDefinition = validatingProfileMetadataProvider.HasProfileData; ResourceModel = resourceModelProvider.GetResourceModel(); }
public OpenApiMetadataCacheProvider(IResourceModelProvider resourceModelProvider, IOpenApiMetadataRouteProvider openApiMetadataRouteProvider, IOpenApiContentProvider[] openApiContentProviders) { _openApiContentProviders = Preconditions.ThrowIfNull(openApiContentProviders, nameof(openApiContentProviders)); _resourceModelProvider = Preconditions.ThrowIfNull(resourceModelProvider, nameof(resourceModelProvider)); _openApiMetadataRouteProvider = Preconditions.ThrowIfNull( openApiMetadataRouteProvider, nameof(openApiMetadataRouteProvider)); _openApiMetadataResourceFilters = new Dictionary <string, IOpenApiMetadataResourceStrategy>(StringComparer.InvariantCultureIgnoreCase) { { Descriptors, new SwaggerUiDescriptorOnlyStrategy() }, { Resources, new SwaggerUiResourceOnlyStrategy() }, { All, new SdkGenAllResourceStrategy() } }; _swaggerMetadataCache = new ConcurrentDictionary <string, OpenApiContent>(StringComparer.InvariantCultureIgnoreCase); }
public OpenApiMetadataCacheProvider( IResourceModelProvider resourceModelProvider, IList <IOpenApiMetadataRouteInformation> openApiMetadataRouteInformations, IList <IOpenApiContentProvider> openApiContentProviders, IOpenApiMetadataDocumentFactory openApiMetadataDocumentFactory) { _openApiMetadataRouteInformations = openApiMetadataRouteInformations; _openApiContentProviders = openApiContentProviders; _resourceModelProvider = resourceModelProvider; _openApiMetadataResourceFilters = new Dictionary <string, IOpenApiMetadataResourceStrategy>(StringComparer.InvariantCultureIgnoreCase) { { Descriptors, new OpenApiMetadataUiDescriptorOnlyStrategy() }, { Resources, new OpenApiMetadataUiResourceOnlyStrategy() }, { All, new SdkGenAllResourceStrategy() } }; _openApiMetadataMetadataCache = new ConcurrentDictionary <string, OpenApiContent>(StringComparer.InvariantCultureIgnoreCase); _openApiMetadataDocumentFactory = openApiMetadataDocumentFactory; }
public EdFiOpenApiContentProvider(IResourceModelProvider resourceModelProvider, IOpenApiMetadataDocumentFactory documentFactory) { _resourceModelProvider = Preconditions.ThrowIfNull(resourceModelProvider, nameof(resourceModelProvider)); _openApiMetadataDocumentFactory = Preconditions.ThrowIfNull(documentFactory, nameof(documentFactory)); }
public EdFiOpenApiContentProvider(IResourceModelProvider resourceModelProvider) { _resourceModelProvider = Preconditions.ThrowIfNull(resourceModelProvider, nameof(resourceModelProvider)); }
public ResourceLoadGraphFactory(IResourceModelProvider resourceModelProvider, IResourceLoadGraphTransformer[] graphTransformers) { _resourceModelProvider = resourceModelProvider; _graphTransformers = graphTransformers; }