Skip to content

refactor(api): replace com.fasterxml.jackson with tools.jackson (Jackson 2 to Jackson 3 namespace.) - #7444

Merged
Frooodle merged 5 commits into
Stirling-Tools:mainfrom
balazs-szucs:jackson3-migration
Aug 29, 2026
Merged

refactor(api): replace com.fasterxml.jackson with tools.jackson (Jackson 2 to Jackson 3 namespace.)#7444
Frooodle merged 5 commits into
Stirling-Tools:mainfrom
balazs-szucs:jackson3-migration

Conversation

@balazs-szucs

@balazs-szucs balazs-szucs commented Aug 11, 2026

Copy link
Copy Markdown
Collaborator

Description of Changes

Should yield no behavioral change. Please use Jackson 3 namespace NOT Jackson 2. We only pulling Jackson transitively, it would be nice once everything settles to migrate fully to Jackson 3 with nothing pulling in Jackson 2, still no reason to use Jackson 2.

Changes:

  • Updated catch blocks from JsonProcessingException to JacksonException, since Jackson 3 removes the former in favor of the latter (now unchecked, extends RuntimeException).
  • Verified no ObjectMapper post-construction mutation call sites remain (Jackson 3's mapper is immutable/builder-based).
  • Some transitive dependencies (e.g. Stripe, Keygen, Jinja and so on.) still pull Jackson 2 but not much we can do there.

Checklist

General

Documentation

Translations (if applicable)

UI Changes (if applicable)

  • Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR)

Testing (if applicable)

  • I have run task check to verify linters, typechecks, and tests pass
  • I have tested my changes locally. Refer to the Testing Guide for more details.

@balazs-szucs
balazs-szucs requested review from a team and Ludy87 as code owners August 11, 2026 22:36
Copilot AI lite review requested due to automatic review settings August 11, 2026 22:36
@dosubot dosubot Bot added the size:M This PR changes 30-99 lines ignoring generated files. label Aug 11, 2026
@stirlingbot stirlingbot Bot added Java Pull requests that update Java code API API-related issues or pull requests Test Testing-related issues or pull requests refactor Code changes that neither fix a bug nor add a feature labels Aug 11, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Refactors selected SaaS + proprietary Java classes to use the Jackson 3 tools.jackson.* namespace (instead of com.fasterxml.jackson.*), including updating exception handling to JacksonException, in line with the repo’s Jackson 3 migration direction.

Changes:

  • Switched ObjectMapper / JsonNode imports from com.fasterxml.jackson.* to tools.jackson.* in multiple controllers/services/tests.
  • Replaced JsonProcessingException catch blocks with JacksonException where JSON (de)serialization is handled.
  • Updated supporting JSON utilities (e.g., JPA converter and Valkey job store) to the tools.jackson.* types.

Reviewed changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
app/saas/src/test/java/stirling/software/saas/payg/entitlement/EntitlementGuardTest.java Updates test imports to tools.jackson (ObjectMapper, JsonNode).
app/saas/src/main/java/stirling/software/saas/procurement/service/ProcurementService.java Uses tools.jackson and updates serialization exception catch to JacksonException.
app/saas/src/main/java/stirling/software/saas/procurement/license/KeygenEnterpriseLicenseService.java Switches JSON types to tools.jackson namespace.
app/saas/src/main/java/stirling/software/saas/procurement/legal/AgreementAssembler.java Switches ObjectMapper import to tools.jackson.
app/saas/src/main/java/stirling/software/saas/procurement/api/ProcurementController.java Switches ObjectMapper import to tools.jackson.
app/saas/src/main/java/stirling/software/saas/payg/entitlement/EntitlementGuard.java Switches ObjectMapper import to tools.jackson.
app/saas/src/main/java/stirling/software/saas/legal/LegalDocumentRegistry.java Switches JSON types to tools.jackson namespace.
app/saas/src/main/java/stirling/software/saas/billing/service/StripeUsageReportingService.java Switches ObjectMapper import to tools.jackson.
app/saas/src/main/java/stirling/software/saas/ai/controller/AiCreateInternalController.java Switches to tools.jackson and updates JSON error handling to JacksonException.
app/saas/src/main/java/stirling/software/saas/ai/controller/AiCreateController.java Switches to tools.jackson and updates JSON error handling to JacksonException.
app/proprietary/src/main/java/stirling/software/proprietary/workflow/util/WorkflowMapper.java Switches ObjectMapper import to tools.jackson.
app/proprietary/src/main/java/stirling/software/proprietary/workflow/controller/SigningSessionController.java Switches ObjectMapper import to tools.jackson.
app/proprietary/src/main/java/stirling/software/proprietary/storage/converter/JsonMapConverter.java Switches JSON types to tools.jackson and updates exception handling to JacksonException.
app/proprietary/src/main/java/stirling/software/proprietary/cluster/valkey/ValkeyJobStore.java Switches JSON types to tools.jackson and updates exception handling to JacksonException.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@dosubot dosubot Bot added size:L This PR changes 100-499 lines ignoring generated files. and removed size:M This PR changes 30-99 lines ignoring generated files. labels Aug 11, 2026
@Frooodle
Frooodle merged commit 8c00fff into Stirling-Tools:main Aug 29, 2026
39 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

API API-related issues or pull requests Java Pull requests that update Java code refactor Code changes that neither fix a bug nor add a feature size:L This PR changes 100-499 lines ignoring generated files. Test Testing-related issues or pull requests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants