adutra opened a new pull request, #3669: URL: https://github.com/apache/polaris/pull/3669
This PR attempts to reduce the "giant constructor" symptoms in catalog adapters and handlers. It combines two techniques: * The injectable runtime dependencies were grouped together in a "runtime" object, inspired by the "Parameter Object" pattern. These objects are `@PolarisImmutable` objects, and thus can leverage the generated builder to create instances without the need for big constructors. * The runtime object is then produced by a new factory, which is a CDI request-scoped bean with direct field injection to avoid constructor injection. <!-- ๐ Describe what changes you're proposing, especially breaking or user-facing changes. ๐ See https://github.com/apache/polaris/blob/main/CONTRIBUTING.md for more. --> ## Checklist - [ ] ๐ก๏ธ Don't disclose security issues! (contact [email protected]) - [ ] ๐ Clearly explained why the changes are needed, or linked related issues: Fixes # - [ ] ๐งช Added/updated tests with good coverage, or manually tested (and explained how) - [ ] ๐ก Added comments for complex logic - [ ] ๐งพ Updated `CHANGELOG.md` (if needed) - [ ] ๐ Updated documentation in `site/content/in-dev/unreleased` (if needed) -- 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]
