Updates for Senzing 4.3 staging on Darwin using /opt/homebrew/lib in library path#227
Updates for Senzing 4.3 staging on Darwin using /opt/homebrew/lib in library path#227barrycaceres merged 12 commits intomainfrom
Conversation
🤖 Claude Code ReviewPR Code ReviewCode Quality✅ No commented-out code — No commented-out code found in the diff. ✅ Meaningful variable names — Variable names are clear and descriptive. ✅ DRY principle followed — The
✅ Style guide — The ✅ No security vulnerabilities — No injection or security issues found. Testing❌ No tests for the path change — The change to N/A — No new functions or API endpoints introduced. Documentation✅ No README changes required — This is a tooling/configuration change. ✅ Inline comments — The ❌ CHANGELOG.md — No CHANGELOG.md update is included. If the project maintains a changelog, this should document the formatter configuration addition and the macOS library path fix. Security✅ No hardcoded credentials — None found. ✅ No sensitive data in logs — Not applicable to this diff. ✅ No license files — No Summary
Critical Issue: The hardcoded
|
Super-linter summary
Super-linter detected linting errors For more information, see the GitHub Actions workflow run Powered by Super-linter TRIVY |
🤖 Claude Code ReviewHere is my code review of this PR: Code ReviewSummaryThis PR updates Java formatting/style tooling (Eclipse formatter XML, Checkstyle config), updates the macOS CI workflow and test script to use Code Quality❌ Hardcoded
✅ No commented-out code ✅ Meaningful variable names ✅ DRY principle followed
❌ CLAUDE.md contains branch/session-specific content Per the review checklist, This is session/branch-specific state, not general project guidance. It should be removed from Testing✅ No new functional logic introduced requiring unit tests — changes are tooling/config only, except for the
Documentation❌ No CHANGELOG.md update
✅ No README changes needed — the new ✅ No API documentation impact Security✅ No hardcoded credentials ✅ No sensitive data in logs ✅ No license files ( ✅ No input validation concerns — changes are configuration only Summary of Issues
Automated code review analyzing defects and coding standards |
Super-linter summary
Super-linter detected linting errors For more information, see the GitHub Actions workflow run Powered by Super-linter TRIVY |
…ms and updated dependencies for version 2.0.0-beta.2.2 Fixed SQLiteUri.parse() to use direct File construction instead of java.net.URI which rejected unencoded spaces (e.g. macOS ~/Library/Application Support/). Fixed SQLiteUri.toString() to emit raw file paths without URL encoding since the Senzing engine treats paths literally. Added path validation for non-Windows paths to reject backslashes and require absolute or relative path prefixes. Updated dependencies including jackson-bom, armeria-bom, netty-bom, sqlite-jdbc, sqs, amqp-client, embedded-postgres, and Maven plugins.
🤖 Claude Code ReviewNow I have enough context for a thorough review. PR Code Review:
|
| Area | Status |
|---|---|
| Code style | ✅ |
| No commented-out code | ✅ |
| Meaningful names | ✅ |
| DRY | ✅ |
| Defects / edge cases | ❌ CHANGELOG version mismatches; % in path round-trip risk |
| Tests | ❌ Missing direct parse() tests for space paths |
| Documentation | |
| Security | ✅ |
Blocking issues before merge:
- Fix the three CHANGELOG inaccuracies (wrong prior versions for
sqlite-jdbcandsqs; add thepostgresqlupdate entry). - Consider adding
parse()round-trip tests for paths with spaces (both encoded and unencoded forms).
Non-blocking suggestions:
- Address the
%in filename edge case inparse()(either document it as unsupported or add a guard).
Automated code review analyzing defects and coding standards
Super-linter summary
All files and directories linted successfully For more information, see the GitHub Actions workflow run Powered by Super-linter |
…issing entries Added comment in maven-darwin.yaml noting /opt/homebrew/lib is ARM64-only. Updated CHANGELOG.md to include the macOS CI workflow library path change and the Java code style/formatting configuration updates.
🤖 Claude Code ReviewPR Code Review: 2.0.0-beta.2.2Code Quality✅ No commented-out code ✅ Meaningful variable names ✅ DRY principle followed ✅ Defects / Logic Analysis
✅ No security vulnerabilities introduced ✅ CLAUDE.md update Testing✅ Unit tests for new paths with spaces
Documentation✅ CHANGELOG.md updated — Version 2.0.0-beta.2.2 entry is detailed and accurate. ✅ Trailing whitespace fix in CHANGELOG.md ✅ Inline comments for complex logic
But Also CHANGELOG mentions:
But These should be corrected to match the actual Security✅ No hardcoded credentials ✅ No license files (.lic) with
throw new IllegalArgumentException("Inconsistent user credentials. Either both or neither "
+ "should be null. unusedUser=[ " + unusedUser + " ], unusedPassword=[ " + unusedPassword + " ]");The comment added in this PR explicitly justifies logging the password field. Even though it's documented as a placeholder, embedding a field named Summary of Issues
The core bug fixes are sound and the logic is correct. The main actionable items are the CHANGELOG version inaccuracies and the optional test coverage gaps.Automated code review analyzing defects and coding standards |
Super-linter summary
All files and directories linted successfully For more information, see the GitHub Actions workflow run Powered by Super-linter |
…aces Corrected CHANGELOG "from" versions for sqlite-jdbc (3.51.1.0) and sqs (2.41.22) to match the 2.0.0-beta.2.1 release. Added missing postgresql 42.7.9 to 42.7.10 update entry. Added testParseEncodedSpaces test to verify parse() decodes %20 in paths and toString() emits raw unencoded paths.
🤖 Claude Code ReviewPR Code ReviewCode Quality✅ Code style guide - The changes follow Java conventions with proper indentation, spacing, and formatting consistent with the project's style. ✅ No commented-out code - Comments added are explanatory (e.g., ✅ Meaningful variable names - ✅ DRY principle - The duplicate URL-decode path in
✅ No bugs/logic errors - The ✅ CLAUDE.md is general-purpose - The branch-specific lines ( Testing✅ Unit tests for new functions - New ✅ New bad-URI test case - ✅ Constructor test cases - Paths with spaces added in
Documentation✅ CHANGELOG.md updated - Version ✅ Inline comments for complex logic - The ✅ README not required - No public API or user-facing interface changes warrant README updates.
Security✅ No hardcoded credentials - The ✅ Input validation - New path validation in ✅ No sensitive data in logs - The error messages in ✅ No hardcoded credentials or license files - No ✅ Proper error handling - Summary
Recommended fixes before merge:
Automated code review analyzing defects and coding standards |
Super-linter summary
All files and directories linted successfully For more information, see the GitHub Actions workflow run Powered by Super-linter |
Code Coverage
|
On Windows, java.io.File converts forward slashes to backslashes, causing Unix-style path test parameters to produce backslash paths that fail parsing and assertion checks. Wrapped Unix path test parameters in a platform check and added @DisabledOnOs(OS.WINDOWS) to testParseEncodedSpaces.
🤖 Claude Code ReviewCode Review: PR to
|
| Category | Status |
|---|---|
| Code style | ✅ Pass |
| No commented-out code | ✅ Pass |
| Meaningful names | ✅ Pass |
| DRY | ✅ Pass |
| Defects | ✅ None found |
| CLAUDE.md appropriateness | ✅ Pass |
| Tests for new code | ✅ Pass |
| Backslash-rejection test | |
| CHANGELOG updated | ✅ Pass |
| CHANGELOG SQS version | ❌ Incorrect (2.41.22 should be 2.41.25) |
| netty-bom in pom.xml | |
| Security | ✅ Pass |
Required fix: Correct the SQS "from" version in CHANGELOG.md from 2.41.22 to 2.41.25.
Recommended: Fix the misleading "logging" word in the SQLiteUri.java:228 comment, and add a test case for backslash rejection on non-Windows.
Automated code review analyzing defects and coding standards
Super-linter summary
All files and directories linted successfully For more information, see the GitHub Actions workflow run Powered by Super-linter |
SQLiteUri.parse()to handle file paths containing spaces on non-Windowsplatforms (e.g.: macOS
~/Library/Application Support/). Previously, thenon-Windows code path routed through
java.net.URIwhich rejected unencodedspaces with
URISyntaxException.SQLiteUri.toString()to emit raw file paths without URL encoding onnon-Windows platforms. Previously,
urlEncodeUtf8()encoded spaces as+(form-encoding) which is invalid for URI paths and not recognized by the
native Senzing engine.
SQLiteUri.parse()for non-Windows paths to rejectbackslashes and require absolute (
/) or explicitly relative (./,../)path prefixes.
jackson-bomfrom version2.21.0to2.21.2armeria-bomfrom version1.36.0to1.37.0netty-bomfrom version4.2.9.Finalto4.2.10.Finalsqlite-jdbcfrom version3.51.2.0to3.51.3.0amqp-clientfrom version5.28.0to5.29.0sqsfrom version2.41.28to2.42.18embedded-postgresfrom version2.2.0to2.2.2jackson-datatype-joda(now managed byjackson-bom)maven-resources-pluginfrom version3.4.0to3.5.0maven-shade-pluginfrom version3.6.1to3.6.2maven-surefire-pluginfrom version3.5.4to3.5.5