Skip to content

SAIF.Data.NHibernate dependencies

SAIF.Data.NHibernate references SAIF.Data directly for entities and repository interfaces, reaches SAIF.Data.Guidewire transitively through SAIF.Data's ICCClaimApiService, and depends on the SAIF.Framework persistence family, NHibernate/FluentNHibernate, and Oracle's managed data-access driver (saif-data-nhibernate-analysis.md).

Internal dependencies

Dependency Reference Type Usage
SAIF.Data Project Reference Supplies the entities, repository interfaces, and ICCClaimApiService that ClaimBillEntryRepository delegates to (saif-data-nhibernate-analysis.md Dependencies)
SAIF.Framework.Data.NHibernate NuGet Package Session/unit-of-work infrastructure (NHibernateUnitOfWork, OracleUnitOfWorkFactory, OracleConfigurationFactory)
SAIF.Framework.Core NuGet Package Enforce.ArgumentNotNull and IUnitOfWork abstractions
SAIF.Framework.Common NuGet Package Shared framework base types

External dependencies

Dependency Version Usage
NHibernate 4.0.3 ORM engine underlying the LINQ query providers and named/inline SQL execution
FluentNHibernate 2.0.1 ClassMap<T>/SubclassMap<T> mapping DSL
Iesi.Collections 4.0.1 NHibernate collection support
Oracle.ManagedDataAccess 21.5.0 (assembly 4.122.21.1) ODP.NET driver backing the Oracle-mapped entities
Autofac — Present in packages.config; there are no Autofac registrations in this library, registration happens in consuming DependencyMaps (saif-data-nhibernate-analysis.md Dependency injection summary)*
log4net — Present in packages.config, transitive with SAIF.Data; no confirmed direct usage in this library's persistence code*
Newtonsoft.Json — Present in packages.config, transitive with SAIF.Data; no confirmed direct usage in this library's persistence code*
Polly — Present in packages.config, transitive with SAIF.Data; no confirmed direct usage in this library's persistence code*
Microsoft.Extensions.* 8.0.x Present in packages.config, transitive with SAIF.Data; no confirmed direct usage in this library's persistence code*

Transitive dependencies

Dependencies in this section are inherited from dependency framework libraries. They are not directly referenced by this library but are required at runtime through framework packages.

Dependency Source framework Type Usage
SAIF.Data.Guidewire SAIF.Data Transitive Supplies the Guidewire HTTP client types reachable through SAIF.Data's ICCClaimApiService, which ClaimBillEntryRepository calls for bill-queue processing (saif-data-nhibernate-analysis.md Dependencies)*

Dependency risks and notes

  • ClaimScoreRepository requires a second, SQL Server session factory for bp_clm_segmntn_complexity_score; which factory or connection consumers configure for it is unknown (saif-data-nhibernate-analysis.md Open questions item 2)**.
  • Oracle.ManagedDataAccess is referenced by the project but not declared as a nuspec dependency; whether consumers receive it transitively from SAIF.Framework.Data.NHibernate is unknown (saif-data-nhibernate-analysis.md Open questions item 6)**.
  • The Edi maps bind to the personal Oracle schema OPS$JIMMIL, implying the application account needs grants on an individual's schema — a least-privilege and portability concern (SC-SDN-04, saif-data-nhibernate-security-analysis.md).
  • PolicyOutputDocumentExtensions is duplicated across SAIF.Data and SAIF.Data.NHibernate with divergent members (AgencyDeleted/NotAgencyDeleted exist only here), risking ambiguity when both namespaces are imported (saif-data-nhibernate-analysis.md Open questions item 9).
  • Unused legacy named queries (ClaimBillEntry_GetNextBillFromQueue, ClaimBillEntry_RestoreBillToQueue, Collections_ApplyPayments) are candidates for cleanup (saif-data-nhibernate-analysis.md Open questions item 5).
  • GroupImageRepository's deleted-image visibility filter is logically inverted, an authorization bypass reported as High severity (SC-SDN-01, saif-data-nhibernate-security-analysis.md).

Sources

  • Data/SAIF.Data.NHibernate/SAIF.Data.NHibernate.csproj
  • Data/SAIF.Data.NHibernate/packages.config
  • Data/SAIF.Data.NHibernate/Repositories/ClaimBillEntryRepository.cs
  • Data/SAIF.Data.NHibernate/Repositories/Claims/Information/ClaimScoreRepository.cs
  • Data/SAIF.Data.NHibernate/Mappings/Edi/EdiElementMap.cs