This is an automated email from the ASF dual-hosted git repository.
borinquenkid pushed a change to branch feat/neo4j-gorm-registry-migration
in repository https://gitbox.apache.org/repos/asf/grails-core.git
omit fbc58f3bd1 fix(grails-neo4j-bom): align with 8.0.x derived-BOM pattern
omit 1f08891dc9 Merge branch 'feat/gorm-registry-core-impl' into
feat/neo4j-gorm-registry-migration
omit 0de7360284 fix(grails-datamapping-core): name empty-catch params
'ignored' for CodeNarc
omit 5284c5c206 Merge branch 'feat/gorm-registry-core-impl' into
feat/neo4j-gorm-registry-migration
omit 03eded9c6f Merge remote-tracking branch 'origin/8.0.x' into
feat/gorm-registry-core-impl
omit 7981e42ddd fix(grails-console,grails-core): name empty-catch params
'ignored' for CodeNarc
omit 616339ad5b fix(grails-data-neo4j): BOM-manage neo4j-harness version,
dedupe example-app Jetty config
omit 37c67e5950 test(tck): skip TCK criteria-pagination-without-sort
feature for Neo4j
omit 452449b226 test(tck): skip TCK "Test optimistic locking" for Neo4j
omit b834100aa8 fix(grails-test-examples-neo4j): use ContainerGebSpec in
the restored example apps
omit eeebb0686d fix(grails-data-neo4j): use grails-neo4j-bom platform in
docs module
omit f46c47ae5c fix(grails-forge): update GormImplSpec's stale 'neo4j'
expectation
omit 9f507a7c37 fix(grails-data-neo4j): add missing jakarta.servlet-api
test dep; fix CodeNarc GString nit
omit b0f3371be8 fix(grails-data-neo4j): implement embedded-component
support and fix basic-collection 'in' queries
omit b0a2ba4cbe fix(grails-data-neo4j): remove dead GormEnhancer overrides
in Neo4jDatastore
omit 75a8c1e5ad fix(grails-data-neo4j): scope neo4j-java-driver pin to a
dedicated grails-neo4j-bom
omit 02b12e21b0 refactor(grails-data-neo4j): dedupe test/Jetty/driver build
config, drop redundant BOM force
omit 65e72a57fa fix(grails-test-examples): drop stale
grailsSpringSecurityVersion property in neo4j test-data-service
omit 73f1854883 fix(grails-data-neo4j): resolve all 270 CodeNarc violations
in grails-data-neo4j-core
omit 1989e69dc0 refactor(grails-data-neo4j): rename example apps to
base/hibernate5
omit 00bdb11b4d refactor(grails-data-neo4j): rename
grails-datastore-gorm-neo4j to grails-data-neo4j-core
omit 5e436f2b5e feat(grails-forge): restore Neo4j GORM support
omit ca1cd33df8 feat(grails-data-neo4j): restore test-data-service example
app
omit 53f0bb857f feat(grails-data-neo4j): restore neo4j-standalone example
app
omit 332d13fa3f feat: add dedicated Neo4j functional-test CI job and
publish gating
omit 08698bdb09 fix: rename gorm-neo4j-spring-boot to
grails-data-neo4j-spring-boot
omit 1591129830 fix: BOM-manage neo4j-java-driver with a strictly
constraint, not exclude
omit 1910468aa8 fix: address jdaugherty's review feedback on consolidated
Neo4j PR
omit 6a074bbd7e chore(grails-data-neo4j): clean up Checkstyle/CodeNarc
violations in grails-datastore-gorm-neo4j
omit f2bdfddfc6 fix(grails-data-neo4j): declare intentional
Jetty/neo4j-driver BOM overrides
omit 4904e4c584 feat(grails-data-neo4j): re-add example apps and docs into
monorepo (PR4)
omit 3f6266a2ca feat: wire Neo4j adapter to GormRegistry's GormApiFactory
mechanism
omit 1e440bf5f0 fix: avoid Groovy MOP getProperty interception in
Neo4jDataStoreSpringInitializerSpec
omit 8ae69b9fd0 feat(grails-data-neo4j): fold standalone build into root
settings.gradle
omit 2877865d7e fix: resolve Neo4j regressions surfaced by rebasing onto
Groovy 5
omit 98945fc079 fix: address Copilot review findings on PR #15816
omit 510840db22 feat: migrate grails-data-neo4j to Groovy 4/Jakarta/GORM 8
baseline
omit bf05dfcdac docs: add Neo4j GormRegistry migration plan (PR1 baseline +
PR2 wiring)
omit 184020c5c1 test(neo4j): give OptimisticLockingSpec's cross-thread
heisenbug more headroom
omit e049502377 test(grails-data-mongodb-core): add MongoStaticApiSpec
closing PR #15780 coverage gap
omit 83ea657576 test(grails-datamapping-core): extend
TransactionalTransformSpec closing PR #15780 coverage gap
omit 3e13f3a8bf test(grails-datamapping-core): add
DefaultTransactionTemplateFactorySpec closing PR #15780 coverage gap
omit 560086aac6 test(grails-datamapping-core): add
DefaultTransactionServiceSpec closing PR #15780 coverage gap
omit 13b03398d2 test(grails-datamapping-core): extend
MappingContextTraversableResolverSpec closing PR #15780 coverage gap
omit c5f3841388 test(grails-data-hibernate5-core): add
GrailsDataTckManagerSpec closing PR #15780 coverage gap
omit 0c2816bfdc test(grails-datamapping-core): add
AbstractServiceImplementerCoverageSpec closing PR #15780 coverage gap
omit 1ce31b5e94 test(grails-data-simple): add SimpleMapDatastoreSpec
closing PR #15780 coverage gap
omit e71f238e24 test(grails-datamapping-core): add AbstractDatastoreApiSpec
closing PR #15780 coverage gap
omit 163a9a5dd2 test(grails-datamapping-core): add FindOrSaveByFinderSpec
closing PR #15780 coverage gap
omit 2d05bf1e49 test(grails-datamapping-core): add
FindAllByImplementerCoverageSpec closing PR #15780 coverage gap
omit 9180ddec8a test(grails-datamapping-core): add AbstractFinderSpec
closing PR #15780 coverage gap
omit feeb017850 test(grails-datamapping-core): add
GormValidationApiRegistrySpec and GormInstanceApiRegistrySpec closing PR #15780
coverage gap
omit 14ec1762f2 test(grails-datamapping-core): add
ConnectionSourceNameResolverSpec closing PR #15780 coverage gap
omit 372604de53 test(grails-datamapping-core): add
GormStaticApiRegistrySpec closing PR #15780 coverage gap
omit 7d5809f0ca fix(grails-datamapping-core): guard CriteriaBuilder's
cache/join/select against a null query
omit 938bea4dc0 test(grails-datamapping-core): add
GrailsTransactionTemplateSpec closing PR #15780 coverage gap
omit d7efddc398 test(grails-datamapping-core): add
TenantDelegatingGormOperationsSpec closing PR #15780 coverage gap
omit e8e15d7005 test(grails-datamapping-core): add CurrentTenantHolderSpec
closing PR #15780 coverage gap
omit 045740a725 test(grails-datamapping-core): add DefaultTenantServiceSpec
closing PR #15780 coverage gap
omit e0e9c1fd93 test(grails-datamapping-core): add
AbstractStringQueryImplementerCoverageSpec closing PR #15780 coverage gap
omit cbe8e1b9b4 test(grails-datamapping-core): add
MultiTenantEventListenerSpec closing PR #15780 coverage gap
omit 4e224360b2 test(grails-datamapping-core): add
ServiceTransformationCoverageSpec closing PR #15780 coverage gap
omit e5aec81dc0 test(grails-datamapping-core): add
DynamicFinderCoverageSpec closing PR #15780 coverage gap
omit a0667f9316 test(grails-datamapping-core): add TenantsSpec closing PR
#15780 coverage gap
omit 0e1cb948d5 test(grails-datamapping-core): add AbstractGormApiSpec
closing PR #15780 coverage gap
omit 75ceaa4444 test(grails-datamapping-core): add GormInstanceApiSpec
closing PR #15780 coverage gap
omit dbf1708317 test(grails-datamapping-core): add
GormValidationApiCoverageSpec closing PR #15780 coverage gap
omit b878c85a85 test(grails-datamapping-core): add GormEnhancerCoverageSpec
closing PR #15780 coverage gap
omit 621efb88dc test(grails-datamapping-core): add GormRegistryCoverageSpec
closing PR #15780 coverage gap
omit 24c8518819 fix(grails-datamapping-core): restore saveAll's
persisted-id return value; add GormStaticApiSpec
omit 713b29290b test(grails-datamapping-core): add GormApiResolverSpec
closing PR #15780 coverage gap
omit a8585dbfba fix: restore copyAnnotations dedup guard needed by
ServiceTransformation
omit 41d533c51b test: verify @Service+@CurrentTenant routing in DATABASE
multi-tenancy mode
omit a330c41ee7 fix: address Copilot review findings on PR #15780
omit ca5d6e77db chore: strip scope-creep config noise from the GormRegistry
PR
omit 9b2ab9c06e fix: resolve GORM regressions surfaced by the registry
refactor
omit ca3e87e7ba test: @PendingFeature the pre-existing Mongo count-over-OR
disjunction bug
omit 325f167212 fix: @CurrentTenant data services resolve the primary
datastore for tenant management
omit efbf76cde3 test: isolate Mongo multi-tenancy specs from singleton
GormRegistry pollution
omit 0f78b71b1e fix: MultiTenant.eachTenant must not force current-tenant
resolution
omit 76da056195 fix: H7 disjunction/conjunction/negation operate on
detachedCriteria
omit 09b0a539cb test: align H7 core tests with the GormRegistry rewrite
omit 7acb40fae7 fix: H7 first/last(Map) inherit core's order-aware
implementation
omit 3628b0d118 fix: implement find/findAll-by-example via
findWhere/findAllWhere delegation
omit 5d1df27928 fix: apply pagination args before Query.list() in
findAll-by-example
omit 1da63f2e69 fix: register MongoGormApiFactory so Mongo entities resolve
a MongoStaticApi
omit 1937163907 fix: honor getAll id order, null slots, and id conversion
in Hibernate retrieveAll (H5 core 3→0)
omit 0afca8b287 fix: resolve multi-tenant dynamic finder dispatch and
tenant session passing (H5 core 6→3)
omit a6b1691bd4 fix: clear GormRegistry core-impl regressions (H5 core 42→6)
omit 606ef97cae fix: restore null-tolerant service/datastore contracts in
GormRegistry core
omit 18133aa76f Fix MongoDB functional tests: fall back to enhancer API
factory when no GormApiFactory registered
omit 76f800dcc4 fix: remove redundant this.datastore assignment in
HibernateGormStaticApi
omit 54e1b4d408 fix: resolve null datastore in H5/H7 validation and dynamic
finder dispatch
omit 6c7fab8f4c fix: restore deprecated setDatastore and persistentEntity
for H7 adapter compat
omit 7db88ca741 fix: restore deprecated backward-compat API surface for
adapter modules
omit 96d8e6f986 fix: restore deprecated GormEnhancer extension points for
backward compatibility
omit 93ffb0dee3 style: remove unused ConnectionSource import and fix
consecutive blank lines in HibernateGormEnhancer
omit 6ac608bfe2 fix: register HibernateGormApiFactory in
registerConstraints; update affected tests
omit 974eb55700 fix: mode-aware tenant lookup and bound DatastoreResolvers
in GormRegistry
omit 30e08c99e3 fix: distinguish datasource connection qualifier from
tenant ID in AbstractGormApi.execute()
omit ab58259ece fix: restore registerConstraints hook and fix
MongoStaticApi fields dropped by scaling refactor
omit ea2918717c fix: restore registerConstraints to GormEnhancer dropped in
scaling refactor
omit a5d5d311e7 feat: GORM O(M+N) scaling — GormRegistry, GormEnhancer, and
core API refactor
omit 7e50a21785 test(grails-datastore-core): close Codecov patch-coverage
gap on getTenantId()'s lazy fallback
omit 36179ebc7d fix: address jdaugherty's follow-up review on
SessionResolver/AbstractDatastore
omit 8374bc80e9 fix: guard getTenantId() DISCRIMINATOR mode and close
review-flagged coverage gaps
omit 20966b0380 fix: address review feedback on
SessionResolver/AbstractDatastore architecture
omit c382eed135 fix: address Copilot review findings on PR #15779
omit 9d11da0814 fix: widen MongoMappingContext.initialize visibility to
public
omit eea98724a3 fix: restore concrete Service trait methods to fix
@CompileStatic compilation
omit ab50c393a5 feat: add SessionResolver infrastructure and extend core
datastore APIs
add 592a3fb56c test: reproduce issue 16133
add 274ea82b5d fix: issue 16133
add 5a10ebfac3 test: adapt other tests to fixing issue 16133
add 6948b393a3 chore: whitespace
add f07ddd11b7 test: reset fixtures and UserIntegrationSpec assertions
add 2263394899 fix: initialize `defaultNullable` to `true` in
`AbstractGormMappingFactory`
add 07a30bb3eb fix: preserve bidirectional binding with nullable
associations
add 9cf91149ac test: cover nullable-by-default mapping cases
add baa3a4c0a3 fix: nullable-by-default mapping cases
add cb0db006e0 test: update EnumTypeBinderSpec to handle changed nullable
default
add d76700ae30 docs: update documentation to clarify changes in default
nullability for persistence mapping
add 47cb138493 test: more default nullable test coverage
add cbb9a0de0c Merge branch '8.0.x' into fix/issue-16133
add f8e4485cbe chore: add back import after bad merge
add 3650fdf15a refactor: rename isIdentityOrVersion to notIdentityOrVersion
add eaa0af6867 Merge pull request #16136 from apache/fix/issue-16133
add 98a1acf30b Fix DDL failure for hasMany collections of enums
add 5e05828651 Fix hasMany-of-enum cascade regression and self-encapsulate
to-many cascade rules
add 607ae4e64c Strengthen EnumHasManyDdlSpec assertions and coverage
add c7f4f4e5c8 Replace indirect GrailsPropertyBinder guard with
self-encapsulation
add 70f875107e Close a real branch-coverage gap for HibernateCustomProperty
add a598d287a4 Address round-2 review: scope getTable override, restore
log, harden specs
add deac428c1e Merge pull request #16052 from
apache/fix/enum-hasmany-ddl-16051
add 4ef8cba33f build(test): make isolatedTestsTwo actually run serially
add 13c964143f build(test): stop test forks oversubscribing the machine
add 0f5f5b653a build(test): assert ActiveProcessorCount reaches forks
add ccca92fd4b build(test): qualify configuredTestParallel via
rootProject.ext
add 89e993c3ba Merge pull request #16158 from
apache/fix/test-fork-oversubscription
add 2926a0f644 feat: GORM O(M+N) scaling — GormRegistry, SessionResolver
infrastructure, and core-class tests (consolidates #15779, #15780, #15790)
(#16066)
add 3cd2a97824 test(neo4j): give OptimisticLockingSpec's cross-thread
heisenbug more headroom
add c2f5a4b112 docs: add Neo4j GormRegistry migration plan (PR1 baseline +
PR2 wiring)
add b7c0489f89 feat: migrate grails-data-neo4j to Groovy 4/Jakarta/GORM 8
baseline
add 51c8fda2fe fix: address Copilot review findings on PR #15816
add 593982ddb2 fix: resolve Neo4j regressions surfaced by rebasing onto
Groovy 5
add 4d3fff3530 feat(grails-data-neo4j): fold standalone build into root
settings.gradle
add ea80e63b2e fix: avoid Groovy MOP getProperty interception in
Neo4jDataStoreSpringInitializerSpec
add 4a8ebf3620 feat: wire Neo4j adapter to GormRegistry's GormApiFactory
mechanism
add 61bae65804 feat(grails-data-neo4j): re-add example apps and docs into
monorepo (PR4)
add be8f5c7cd5 fix(grails-data-neo4j): declare intentional
Jetty/neo4j-driver BOM overrides
add 38c59c90dc chore(grails-data-neo4j): clean up Checkstyle/CodeNarc
violations in grails-datastore-gorm-neo4j
add aef0d4f589 fix: address jdaugherty's review feedback on consolidated
Neo4j PR
add 16069b2f08 fix: BOM-manage neo4j-java-driver with a strictly
constraint, not exclude
add 5375caf4c8 fix: rename gorm-neo4j-spring-boot to
grails-data-neo4j-spring-boot
add 3dd0850434 feat: add dedicated Neo4j functional-test CI job and
publish gating
add fae0314806 feat(grails-data-neo4j): restore neo4j-standalone example
app
add ccb0c51a62 feat(grails-data-neo4j): restore test-data-service example
app
add 6202764304 feat(grails-forge): restore Neo4j GORM support
add c091a9580d refactor(grails-data-neo4j): rename
grails-datastore-gorm-neo4j to grails-data-neo4j-core
add e995b9bc22 refactor(grails-data-neo4j): rename example apps to
base/hibernate5
add 65a5186f10 fix(grails-data-neo4j): resolve all 270 CodeNarc violations
in grails-data-neo4j-core
add 89885d5836 fix(grails-test-examples): drop stale
grailsSpringSecurityVersion property in neo4j test-data-service
add 36c91be021 refactor(grails-data-neo4j): dedupe test/Jetty/driver build
config, drop redundant BOM force
add f281a63767 fix(grails-data-neo4j): scope neo4j-java-driver pin to a
dedicated grails-neo4j-bom
add 9668520c82 fix(grails-data-neo4j): remove dead GormEnhancer overrides
in Neo4jDatastore
add 72463be5d0 fix(grails-data-neo4j): implement embedded-component
support and fix basic-collection 'in' queries
add 25db72766a fix(grails-data-neo4j): add missing jakarta.servlet-api
test dep; fix CodeNarc GString nit
add a7638a3bb6 fix(grails-forge): update GormImplSpec's stale 'neo4j'
expectation
add 7afc166f79 fix(grails-data-neo4j): use grails-neo4j-bom platform in
docs module
add c07915f946 fix(grails-test-examples-neo4j): use ContainerGebSpec in
the restored example apps
add 13a8a6271b test(tck): skip TCK "Test optimistic locking" for Neo4j
add c6a0538f98 test(tck): skip TCK criteria-pagination-without-sort
feature for Neo4j
add 8803895ebe fix(grails-data-neo4j): BOM-manage neo4j-harness version,
dedupe example-app Jetty config
add 262f0c03ee [skip ci] Release v8.0.0-M4
add 12ef40975e [skip ci] Bump version to 8.0.0-SNAPSHOT
add a05a7dd8f8 Trigger GitHub mergeability recompute (no content change)
add d1ed0b091b test: add more coverage
add 66abf9014e fix(grails-neo4j-bom): align with 8.0.x derived-BOM pattern
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (fbc58f3bd1)
\
N -- N -- N refs/heads/feat/neo4j-gorm-registry-migration
(66abf9014e)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
build.gradle | 54 +-
gradle/functional-test-config.gradle | 2 +-
gradle/mongodb-forked-test-config.gradle | 4 +-
gradle/publish-root-config.gradle | 2 +-
gradle/test-config.gradle | 38 +-
.../grails/util/ActiveProcessorCountForkTests.java | 58 +
.../grails/util/GrailsUtilStackFiltererSpec.groovy | 10 +-
.../GrailsBootstrapRegistryInitializerSpec.groovy | 6 +-
.../org/grails/gorm/graphql/SchemaSpec.groovy | 6 +-
.../HibernatePersistentGraphQLPropertySpec.groovy | 18 +-
.../EmbeddedInputObjectTypeBuilderSpec.groovy | 2 +-
.../orm/hibernate/HibernateGormEnhancer.groovy | 2 +-
.../org/grails/orm/hibernate/HibernateSession.java | 11 +-
.../hibernate/cfg/HibernateMappingBuilder.groovy | 6 +-
.../orm/hibernate/cfg/HibernateMappingContext.java | 1 +
.../cfg/HibernateMappingContextSpec.groovy | 84 +-
...ationContextDatabaseMigrationCommandSpec.groovy | 9 +
.../orm/hibernate/HibernateGormEnhancer.groovy | 2 +-
.../org/grails/orm/hibernate/HibernateSession.java | 11 +-
.../orm/hibernate/cfg/HibernateMappingContext.java | 1 +
.../cfg/domainbinding/binder/EnumTypeBinder.java | 59 +-
.../domainbinding/binder/GrailsPropertyBinder.java | 6 +-
.../cfg/domainbinding/binder/PropertyBinder.java | 8 +-
.../hibernate/HibernateBasicEnumProperty.java | 80 ++
.../hibernate/HibernateEnumProperty.java | 47 +-
.../hibernate/HibernateMappingFactory.groovy | 7 +-
.../hibernate/HibernateToManyProperty.java | 45 +-
.../secondpass/BasicCollectionElementBinder.java | 9 +-
.../domainbinding/util/CascadeBehaviorFetcher.java | 25 +-
.../cfg/domainbinding/util/GrailsEnumType.java | 40 +-
.../domainbinding/util/TableForManyCalculator.java | 5 +-
.../grails/gorm/tests/EnumHasManyDdlSpec.groovy | 248 ++++
.../gorm/tests/HibernateMappingFactorySpec.groovy | 7 +-
.../tests/hibernatequery/HibernateQuerySpec.groovy | 41 +
.../cfg/GrailsHibernatePersistentEntitySpec.groovy | 3 +
.../cfg/HibernateMappingContextSpec.groovy | 106 +-
.../cfg/domainbinding/EnumTypeBinderSpec.groovy | 52 +-
.../domainbinding/GrailsPropertyBinderSpec.groovy | 68 +
.../cfg/domainbinding/PropertyBinderSpec.groovy | 28 +-
.../TableForManyCalculatorSpec.groovy | 25 +
.../hibernate/HibernateBasicPropertySpec.groovy | 40 +-
.../hibernate/HibernateToManyPropertySpec.groovy | 4 +-
.../BasicCollectionElementBinderSpec.groovy | 11 +-
...ationContextDatabaseMigrationCommandSpec.groovy | 4 +
.../gorm/mongo/MongoGormApiFactory.groovy | 4 +-
.../datastore/gorm/mongo/MongoGormEnhancer.groovy | 4 +-
.../datastore/gorm/mongo/api/MongoStaticApi.groovy | 25 +-
.../mongo/config/MongoMappingContextSpec.groovy | 89 ++
grails-data-neo4j/core/build.gradle | 2 +-
.../gorm/neo4j/Neo4jMappingContextSpec.groovy | 71 ++
grails-data-neo4j/docs/build.gradle | 1 +
.../mapping/simple/SimpleMapDatastore.java | 13 +-
.../mapping/simple/SimpleMapDatastoreSpec.groovy | 9 +-
.../grails/gorm/api/GormStaticOperations.groovy | 16 +-
.../gorm/multitenancy/CurrentTenantHolder.groovy | 23 +-
.../groovy/grails/gorm/multitenancy/Tenants.groovy | 51 +-
.../transactions/GrailsTransactionTemplate.groovy | 19 +-
.../grails/datastore/gorm/AbstractGormApi.groovy | 59 +-
.../datastore/gorm/AbstractGormApiRegistry.groovy | 47 +-
.../gorm/ConnectionSourceNameResolver.groovy | 36 +
.../grails/datastore/gorm/GormApiResolver.groovy | 29 +-
.../org/grails/datastore/gorm/GormEnhancer.groovy | 107 +-
.../org/grails/datastore/gorm/GormEntity.groovy | 15 +-
.../org/grails/datastore/gorm/GormRegistry.groovy | 139 +-
.../org/grails/datastore/gorm/GormStaticApi.groovy | 81 +-
.../grails/datastore/gorm/GormValidationApi.groovy | 6 +-
.../TenantDelegatingGormOperations.groovy | 226 ++--
.../AbstractStringQueryImplementer.groovy | 23 +
.../transform/ServiceTransformation.groovy | 4 +-
...> MultiTenantCurrentTenantTransformSpec.groovy} | 6 +-
.../multitenancy/CurrentTenantHolderSpec.groovy | 30 +
.../grails/gorm/multitenancy/TenantsSpec.groovy | 33 +-
.../transform/ServiceTransformClasses.groovy | 382 ++++++
.../services/transform/ServiceTransformSpec.groovy | 532 ++++++++
.../gorm/AbstractGormApiRegistrySpec.groovy | 239 ++++
.../datastore/gorm/AbstractGormApiSpec.groovy | 20 +-
.../gorm/ActiveSessionDatastoreSelectorSpec.groovy | 73 ++
.../gorm/ConnectionSourceNameResolverSpec.groovy | 51 +
.../gorm/DefaultDatastoreSelectorSpec.groovy | 95 ++
.../gorm/DefaultGormApiFactorySpec.groovy | 63 +
.../datastore/gorm/GormApiFactorySpec.groovy | 132 ++
.../datastore/gorm/GormApiRegistrySpec.groovy | 123 ++
.../datastore/gorm/GormEnhancerCoverageSpec.groovy | 231 +++-
.../gorm/GormRegistryConcurrencySpec.groovy | 139 ++
.../datastore/gorm/GormRegistryCoverageSpec.groovy | 41 +-
.../gorm/GormRegistryEntityRegistrationSpec.groovy | 185 +++
.../datastore/gorm/GormRegistryFactorySpec.groovy | 73 ++
.../grails/datastore/gorm/GormStaticApiSpec.groovy | 46 +-
.../gorm/GormValidationApiCoverageSpec.groovy | 64 +-
.../gorm/PreferredDatastoreSelectorSpec.groovy | 75 ++
.../gorm/QualifiedDatastoreSelectorSpec.groovy | 96 ++
.../gorm/finders/DynamicFinderCoverageSpec.groovy | 29 +-
.../TenantDelegatingGormOperationsSpec.groovy | 1327 +++++++++++++++++++-
.../tck/tests/FirstAndLastMethodSpec.groovy | 2 +-
.../mapping/config/AbstractGormMappingFactory.java | 40 +-
.../datastore/mapping/config/Property.groovy | 11 +-
.../datastore/mapping/core/AbstractDatastore.java | 140 +--
.../grails/datastore/mapping/core/Datastore.java | 11 -
.../datastore/mapping/core/DatastoreUtils.java | 26 +-
.../datastore/mapping/core/SessionResolver.groovy | 41 +-
...ansactionSynchronizationSessionResolver.groovy} | 64 +-
.../AbstractConnectionSourceFactory.java | 11 -
.../ConnectionSourceSettingsBuilder.groovy | 4 -
.../MultipleConnectionSourceCapableDatastore.java | 17 -
...der.java => SingleSessionCapableDatastore.java} | 18 +-
.../mapping/model/AbstractMappingContext.java | 1 +
.../mapping/model/AbstractPersistentEntity.java | 11 +-
.../org/grails/datastore/mapping/query/Query.java | 2 +-
.../datastore/mapping/reflect/AstUtils.groovy | 25 +-
.../datastore/mapping/services/Service.groovy | 1 -
.../CustomizableRollbackTransactionAttribute.java | 47 +-
.../mapping/core/AbstractDatastoreSpec.groovy | 298 ++---
.../mapping/core/DatastoreUtilsSpec.groovy | 45 +
.../core/SessionResolverIntegrationSpec.groovy | 55 +-
.../core/ThreadLocalSessionResolverSpec.groovy | 128 --
...actionSynchronizationSessionResolverSpec.groovy | 254 ++++
.../AbstractConnectionSourceFactorySpec.groovy | 36 +-
.../ConnectionSourceSettingsBuilderSpec.groovy | 40 -
.../config/DocumentMappingContextSpec.groovy | 89 ++
.../mapping/KeyValueMappingFactoryTests.groovy | 53 +-
.../AbstractPersistentEntityGetTenantIdSpec.groovy | 122 --
.../datastore/mapping/reflect/AstUtilsSpec.groovy | 34 +-
.../services/DefaultServiceRegistrySpec.groovy | 4 +-
...omizableRollbackTransactionAttributeSpec.groovy | 102 --
grails-doc/src/en/guide/GORM/multiTenancy.adoc | 129 ++
.../en/guide/GORM/quickStartGuide/basicCRUD.adoc | 38 +
grails-doc/src/en/guide/toc.yml | 1 +
.../src/en/guide/upgrading/upgrading80x.adoc | 125 +-
grails-forge/build.gradle | 28 +-
grails-forge/gradle/test-config.gradle | 2 +-
.../forge/ActiveProcessorCountForkSpec.groovy | 33 +-
grails-gradle/build.gradle | 30 +-
grails-gradle/gradle/test-config.gradle | 2 +-
.../core/ActiveProcessorCountForkSpec.groovy | 38 +
.../domain/grails/test/app/Address.groovy | 3 +
.../grails-app/domain/grails/test/app/User.groovy | 3 +-
.../domain/grails/test/app/UserRole.groovy | 2 +
.../groovy/grails/test/app/pogo/Profile.groovy | 6 +
.../tests/{Person.groovy => Organization.groovy} | 6 +-
.../tests/OrganizationValidationSpec.groovy} | 27 +-
grails-test-examples/neo4j/base/build.gradle | 1 +
grails-test-examples/neo4j/hibernate5/build.gradle | 1 +
grails-test-suite-persistence/build.gradle | 2 +-
.../web/databinding/GrailsWebDataBinderSpec.groovy | 85 +-
grails-test-suite-uber/build.gradle | 15 +-
grails-test-suite-web/build.gradle | 2 +-
.../web/databinding/GrailsWebDataBinder.groovy | 2 +-
grails-web-mvc/build.gradle | 2 +-
.../web/errors/GrailsExceptionResolverSpec.groovy | 68 +-
149 files changed, 7271 insertions(+), 1591 deletions(-)
create mode 100644
grails-core/src/test/groovy/grails/util/ActiveProcessorCountForkTests.java
create mode 100644
grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/hibernate/HibernateBasicEnumProperty.java
create mode 100644
grails-data-hibernate7/core/src/test/groovy/grails/gorm/tests/EnumHasManyDdlSpec.groovy
create mode 100644
grails-data-mongodb/core/src/test/groovy/org/grails/datastore/mapping/mongo/config/MongoMappingContextSpec.groovy
create mode 100644
grails-data-neo4j/core/src/test/groovy/org/grails/datastore/gorm/neo4j/Neo4jMappingContextSpec.groovy
copy
grails-datamapping-core/src/test/groovy/grails/gorm/annotation/multitenancy/{CurrentTenantTransformSpec.groovy
=> MultiTenantCurrentTenantTransformSpec.groovy} (95%)
create mode 100644
grails-datamapping-core/src/test/groovy/grails/gorm/services/transform/ServiceTransformClasses.groovy
create mode 100644
grails-datamapping-core/src/test/groovy/grails/gorm/services/transform/ServiceTransformSpec.groovy
create mode 100644
grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/AbstractGormApiRegistrySpec.groovy
create mode 100644
grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/ActiveSessionDatastoreSelectorSpec.groovy
create mode 100644
grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/DefaultDatastoreSelectorSpec.groovy
create mode 100644
grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/DefaultGormApiFactorySpec.groovy
create mode 100644
grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/GormApiFactorySpec.groovy
create mode 100644
grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/GormApiRegistrySpec.groovy
create mode 100644
grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/GormRegistryConcurrencySpec.groovy
create mode 100644
grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/GormRegistryEntityRegistrationSpec.groovy
create mode 100644
grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/GormRegistryFactorySpec.groovy
create mode 100644
grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/PreferredDatastoreSelectorSpec.groovy
create mode 100644
grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/QualifiedDatastoreSelectorSpec.groovy
rename
grails-datastore-core/src/main/groovy/org/grails/datastore/mapping/core/{ThreadLocalSessionResolver.groovy
=> TransactionSynchronizationSessionResolver.groovy} (56%)
copy
grails-datastore-core/src/main/groovy/org/grails/datastore/mapping/core/connections/{ConnectionSourcesProvider.java
=> SingleSessionCapableDatastore.java} (55%)
delete mode 100644
grails-datastore-core/src/test/groovy/org/grails/datastore/mapping/core/ThreadLocalSessionResolverSpec.groovy
create mode 100644
grails-datastore-core/src/test/groovy/org/grails/datastore/mapping/core/TransactionSynchronizationSessionResolverSpec.groovy
delete mode 100644
grails-datastore-core/src/test/groovy/org/grails/datastore/mapping/core/connections/ConnectionSourceSettingsBuilderSpec.groovy
create mode 100644
grails-datastore-core/src/test/groovy/org/grails/datastore/mapping/document/config/DocumentMappingContextSpec.groovy
delete mode 100644
grails-datastore-core/src/test/groovy/org/grails/datastore/mapping/model/AbstractPersistentEntityGetTenantIdSpec.groovy
delete mode 100644
grails-datastore-core/src/test/groovy/org/grails/datastore/mapping/transactions/CustomizableRollbackTransactionAttributeSpec.groovy
create mode 100644 grails-doc/src/en/guide/GORM/multiTenancy.adoc
copy
grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/Neo4jNameUtilsSpec.groovy
=>
grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/ActiveProcessorCountForkSpec.groovy
(61%)
create mode 100644
grails-gradle/plugins/src/test/groovy/org/grails/gradle/plugin/core/ActiveProcessorCountForkSpec.groovy
copy
grails-test-examples/hibernate5/grails-hibernate/grails-app/domain/functional/tests/{Person.groovy
=> Organization.groovy} (95%)
copy
grails-test-examples/{hibernate7/grails-data-service/src/integration-test/groovy/example/StudentServiceSpec.groovy
=>
hibernate5/grails-hibernate/src/integration-test/groovy/functional/tests/OrganizationValidationSpec.groovy}
(67%)