Skip to content

Consolidate unwrapped input-name collection on SettableBeanProperty - #6415

Closed
wozhenbang2004 wants to merge 1 commit into
FasterXML:3.xfrom
wozhenbang2004:refactor/unwrapped-input-names-6413
Closed

wozhenbang2004 wants to merge 1 commit into
FasterXML:3.xfrom
wozhenbang2004:refactor/unwrapped-input-names-6413

Conversation

@wozhenbang2004

Copy link
Copy Markdown
Contributor

Closes #6413.

Moves effective input-name collection to SettableBeanProperty.collectValuePropertyNamesTo(), with UnwrappedPropertyHandler delegating to it. This keeps the existing any-setter short circuit, per-property opaque-deserializer detection, and PROPERTY/EXISTING_PROPERTY type-id handling. Type-id names are still not transformed by unwrapping prefixes or suffixes.

Adds helper contract tests and a nested-unwrapped routing test that also checks ordinary nested values stay nested. Existing alias and polymorphic-unwrapped regression tests remain unchanged.

Validation on JDK 25:

  • ./mvnw -B -ntp clean verify: 7,811 tests, 0 failures/errors, 1 skipped.
  • After the final Javadoc clarification, ./mvnw -B -ntp test -Dtest='Unwrapped*Test': 107 tests passed.
  • git diff --check: passed.

@gitar-bot

gitar-bot Bot commented Nov 8, 2026 •

Copy link
Copy Markdown
Code Review ✅ Approved

🟡 Medium risk · Consolidating unwrapped input-name collection changes deserialization field routing; incorrect collected names could misroute or reject valid nested properties.

Moves effective input-name collection for unwrapped properties onto SettableBeanProperty.collectValuePropertyNamesTo(), with UnwrappedPropertyHandler now delegating to it while preserving the any-setter short circuit, opaque-deserializer detection, and PROPERTY/EXISTING_PROPERTY type-id handling. No issues found.

Verification

Rules No rules evaluated

Functional validation Not enabled

Set up

For more verification details, comment gitar display:verbose.

Options

Auto-apply is off → Gitar will not commit updates to this branch.
Display: compact → Showing compact verification results.

Comment with these commands to change the behavior for this request:

Auto-apply Compact
gitar auto-apply:on         
gitar display:verbose         

Was this helpful? React with 👍 / 👎 | Powered by Gitar — free for open source

@github-actions

github-actions Bot commented Nov 8, 2026

Copy link
Copy Markdown

🧪 Code Coverage Report

Metric Coverage Change
Instructions coverage 83.18% 📈 +0.000%
Branches branches 77.44% 📈 +0.030%

Coverage data generated from JaCoCo test results

@cowtowncoder

Copy link
Copy Markdown
Member

Thank you! Continuing in #6420, which contains your commit unchanged plus a merge of the latest 3.x and release notes for #6413 (this PR does not allow maintainer edits, so I could not push those here).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3.4 cla-received PR already covered by CLA (optional label)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Consolidate "effective input names" for @JsonUnwrapped properties (include polymorphic type id) instead of special-casing in UnwrappedPropertyHandler

2 participants