feat(orm): add mysql-socket dependecy by yurem · Pull Request #12824 · JanssenProject/jans (original) (raw)
📝 Walkthrough
Walkthrough
Externalized MySQL and PostgreSQL dependency versions as BOM properties (mysql.version, mysql-socket.version, postgresql.version). Replaced protobuf-java dependency with mysql-socket-factory-connector-j-8 across BOM and SQL module. Added a new SQL sample class demonstrating complex filter queries against a user directory.
Changes
| Cohort / File(s) | Summary |
|---|---|
| BOM dependency managementjans-bom/pom.xml | Added three version properties: mysql.version, mysql-socket.version, postgresql.version. Updated mysql-connector-j to reference mysql.version,replacedprotobuf−java−baseddependencywithmysql−socket−factory−connector−j−8using{mysql.version}, replaced protobuf-java-based dependency with mysql-socket-factory-connector-j-8 using mysql.version,replacedprotobuf−java−baseddependencywithmysql−socket−factory−connector−j−8using{mysql-socket.version}, and updated postgresql to reference ${postgresql.version}. |
| SQL module dependency updatejans-orm/sql/pom.xml | Replaced com.google.protobuf:protobuf-java dependency with com.google.cloud.sql:mysql-socket-factory-connector-j-8. |
| SQL sample classjans-orm/sql-sample/src/main/java/io/jans/orm/sql/SqlComplexFilterSample.java | Added new public final sample class demonstrating complex filter construction and execution using SqlEntryManager, including substring filters and OR filter composition against "ou=people,o=jans". |
Estimated code review effort
🎯 3 (Moderate) | ⏱️ ~20 minutes
- Dependency replacement compatibility: The swap from
protobuf-javatomysql-socket-factory-connector-j-8is a significant change that requires verification it resolves the linked issue regarding missing component logs without introducing new incompatibilities. - New sample class logic: Review the SqlComplexFilterSample implementation for correct filter construction patterns, entry manager usage, and adherence to codebase conventions.
- Version property propagation: Confirm the new BOM properties are correctly referenced across dependent modules and that version alignment is maintained.
Pre-merge checks and finishing touches
❌ Failed checks (1 warning, 1 inconclusive)
| Check name | Status | Explanation | Resolution |
|---|---|---|---|
| Out of Scope Changes check | ⚠️ Warning | The addition of SqlComplexFilterSample.java appears unrelated to the mysql-socket dependency change and logging issue fix addressed by issue #12823. | Remove the SqlComplexFilterSample.java file or move it to a separate PR if it addresses a different objective, as it is unrelated to the mysql-socket dependency changes. |
| Description check | ❓ Inconclusive | The description references the target issue (#12823) and confirms no documentation impact, but lacks implementation details explaining why the dependency change fixes the logging issue. | Add implementation details explaining how replacing protobuf-java with mysql-socket-factory-connector-j-8 resolves the missing logs issue mentioned in #12823. |
✅ Passed checks (3 passed)
| Check name | Status | Explanation |
|---|---|---|
| Title check | ✅ Passed | The title 'feat(orm): add mysql-socket dependecy' clearly summarizes the main change: adding mysql-socket dependency and replacing protobuf-java with mysql-socket-factory-connector-j-8. |
| Linked Issues check | ✅ Passed | The changes replace protobuf-java with mysql-socket-factory-connector-j-8 in dependency management, which directly addresses the cloudsql-socket-factory JAR integration mentioned in issue #12823. |
| Docstring Coverage | ✅ Passed | No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. |
✨ Finishing touches
- 📝 Generate docstrings 🧪 Generate unit tests (beta)
- Create PR with unit tests
- Post copyable unit tests in a comment
- Commit unit tests in branch
mysql-socket
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
❤️ Share
Comment @coderabbitai help to get the list of available commands and usage tips.