Skip to content

Helidon data Repository #9993

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 38 commits into
base: main
Choose a base branch
from
Open

Helidon data Repository #9993

wants to merge 38 commits into from

Conversation

Tomas-Kraus
Copy link
Member

@Tomas-Kraus Tomas-Kraus commented Apr 11, 2025

Helidon data introduction into Helidon v 4

  • API
  • Jakarta persistence based implementation of repository pattern
  • Transaction API
  • Data source API

API:

  • data/data
  • transaction/transaction

Implementation:

  • all modules under data except for codegen
  • all modules under transaction except for codegen

Codegen:

  • code generation modules

Tests that show usage:

  • data/tests/model - entities
  • data/tests/repository - API usage to create repositories
  • data/tests/common - test classes used from all test modules
  • data/tests/eclipselink/mysql - and other modules in the same directory - tests using direct JDBC connection, data sources, JTA etc.

@Tomas-Kraus Tomas-Kraus self-assigned this Apr 11, 2025
@oracle-contributor-agreement oracle-contributor-agreement bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label Apr 11, 2025
@Tomas-Kraus Tomas-Kraus force-pushed the features/helidon-data branch 2 times, most recently from 6023a5d to 5f35edc Compare April 16, 2025 12:05
@Tomas-Kraus Tomas-Kraus force-pushed the features/helidon-data branch from 5f35edc to 51639bf Compare May 7, 2025 14:11
@Tomas-Kraus Tomas-Kraus force-pushed the features/helidon-data branch 2 times, most recently from defebbd to 18d7cf9 Compare May 20, 2025 12:11
@Tomas-Kraus Tomas-Kraus force-pushed the features/helidon-data branch 2 times, most recently from abb2524 to 546c88a Compare June 5, 2025 12:19
@Tomas-Kraus Tomas-Kraus changed the title WIP: Verify merge of features/helidon-data into main [WIP] Helidon data Repository Jun 10, 2025
@tomas-langer tomas-langer marked this pull request as ready for review June 10, 2025 14:07
@tomas-langer tomas-langer added this to the 4.3.0 milestone Jun 10, 2025
@tomas-langer tomas-langer added declarative Helidon Declarative data Helidon Data (SE feature) enhancement New feature or request dependencies Pull requests that update a dependency file labels Jun 10, 2025
@Tomas-Kraus Tomas-Kraus force-pushed the features/helidon-data branch from de9d83e to 3ab7417 Compare June 11, 2025 13:10
@Tomas-Kraus Tomas-Kraus changed the title [WIP] Helidon data Repository Helidon data Repository Jun 11, 2025
Copy link
Member

@ljnelson ljnelson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was requested to review this. I've left my comments just as comments so as not to block anything. Because the PR was three hundred and ninety three files, I restricted most of my comments to the public API areas and tended to skip things. In general everything is very underspecified. I'm sure it all works.

// this is most likely a type that is generated,
// so there is a good chance it was generated before, let's try
// with package name(s) of the generated types
// default (empty) package should not be used by programs, so we can make this bold assumption
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems worthy of a release note

Copy link
Member Author

@Tomas-Kraus Tomas-Kraus Jul 15, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tomas-langer This is one of yours changesets, please have a look at this.

// DataSourceProviderConfig

/**
* Provider specific configuration.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What rules does this interface add to NamedService? If the answer is "none", why does this interface exist? If the answer is not "none", then describe them here.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tomas-langer Those config blueprints is your concept.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When used, we want to only permit ProviderConfig instances, not any NamedService out there.

Tomas-Kraus and others added 25 commits July 17, 2025 14:32
Signed-off-by: Tomáš Kraus <[email protected]>
Signed-off-by: Tomáš Kraus <[email protected]>
- fix versions in bom pom
- remove versions from all pom
- remove gapi module
- update entity provider codegen, remove Class.forName
- renamed connection string in SqlConfigBlueprint to connection uri
- added version management for commons-compress and related libraries
- register JNDI in component using it

Other updates:
- added connection config blueprint used from providers and data sources
- removed data source common module
- changed the configuration structure to use `connection` for providers (not when using data source)
Signed-off-by: Tomáš Kraus <[email protected]>
Fix for Hikari provider service, to use the data source config create by teh data source config factory
Fix to allow usage of Suite in MP (setting system property)
Signed-off-by: Tomáš Kraus <[email protected]>
* Refactored:
- data, removed the data registry abstraction
- sql data source testing
- sql data source tests
- added support for JDBC based data source (no pooling)

* Eclipselink tests all fixed
Hibernate work in progress

* Update of all tests to work with the new approach.

* Spotbugs exclude.
Signed-off-by: Tomáš Kraus <[email protected]>
Signed-off-by: Tomáš Kraus <[email protected]>
Signed-off-by: Tomáš Kraus <[email protected]>
@Tomas-Kraus Tomas-Kraus force-pushed the features/helidon-data branch from 592fa41 to 1f5b94b Compare July 17, 2025 12:34
@Tomas-Kraus Tomas-Kraus force-pushed the features/helidon-data branch from 158cb93 to 0089bae Compare July 18, 2025 14:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
data Helidon Data (SE feature) declarative Helidon Declarative dependencies Pull requests that update a dependency file enhancement New feature or request OCA Verified All contributors have signed the Oracle Contributor Agreement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants