codeconsole commented on PR #16237: URL: https://github.com/apache/grails-core/pull/16237#issuecomment-5744477687
@matrei Addressed [Review round 3](https://github.com/apache/grails-core/pull/16237#issuecomment-5726461771) in [d95b438c24](https://github.com/apache/grails-core/commit/d95b438c2407c36ace2fde0c3231894ffbdac007). ### XML initialization and GSP lookup - The XML renderer now resolves the GSP locator and renderer registry lazily when rendering. Deferring the registry is also necessary: its locator injection otherwise closes the same cycle when creation starts from `mimeTypeResolver`. - Added regression coverage that destroys the relevant singletons, recreates them starting from either `xmlRenderer` or `mimeTypeResolver`, and calls `preInstantiateSingletons()`. - Added coverage for XML responses finding GSP views registered after renderer creation. - `PersonControllerHibernateSpec` now passes. Its fixture saves use `failOnError: true` so initialization failures surfaced as validation errors cannot silently turn into an empty result assertion. ### Scalar JSON and documentation - `PrettyPrintJSONWriter` now accepts a scalar root and transitions to `DONE`. - The scalar/second-root rejection table runs against both writers. Controller coverage exercises pretty-printed strings, GStrings, enums, numbers, booleans, and direct conversion of null. - Rewrote upgrade-guide section 25 to describe enum-name strings and scalar roots. It also clarifies using `new JSON(value)` for strings and numbers, whose built-in Groovy casts do not support `as JSON`. ### Minor items - Guarded optional converters-plugin loading with `ClassUtils.isPresent`. - Removed the registry monitor around mapper supplier calls, retaining the volatile cache and retry after absence. Added a concurrent-first-write regression test. - Moved `PROBLEM_JSON` above instance fields. ### Validation - Clean aggregate style checks, core test aggregation, web checks, and guide build passed: `clean aggregateViolations :grails-test-report:check :grails-test-suite-web:check :grails-doc:publishGuide -x aggregateGroovydoc --continue -PonlyCoreTests --max-workers=2 -PmaxTestParallel=1 --no-daemon`. - Combined report: **8,377 tests, 0 failures/errors, 33 skipped**. - Full `:grails-test-examples-hibernate7-demo33:test`: **79 tests, 0 failures/errors, 3 skipped**, including the reported controller regression. - Checkstyle and CodeNarc reports are clean. PMD and SpotBugs were not enabled. The core-only sweep excludes the remaining database and functional suites. The PR remains targeted at Grails 8. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
