• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ExpediaGroup / bull / #1368
100%

Build:
DEFAULT BRANCH: master
Ran 28 Mar 2026 05:16PM UTC
Jobs 1
Files 60
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

28 Mar 2026 05:13PM UTC coverage: 100.0%. Remained the same
#1368

push

web-flow
fix: resolve MissingFieldException when mapping primitive field into … (#641)

* fix: resolve MissingFieldException when mapping primitive field into nested object (#559)

When using withFieldMapping to map a root-level source field into a nested
destination field (e.g. "x" -> "nestedObject.x"), the transformer incorrectly
looked for the field in the nested source object instead of the root source.

The fix stores the root source object in a ThreadLocal during transformation
and uses it to resolve field mappings that reference breadcrumb-qualified
destination paths. This ensures root-level source fields are correctly
accessible when processing nested destination objects.

Closes #559

* refactor: address review feedback — extract helper, remove Optional no-op, add test coverage

- Extract resolveEffectiveSource() helper to centralize breadcrumb-based
  mapping resolution, eliminating duplication between getConstructorArgsValues
  and getFieldValue
- Remove unnecessary Optional wrapping (ofNullable(...).orElse(null)) in
  favor of direct Map.get()
- Add Javadoc note about ThreadLocal reentrant edge case
- Add test: mutable bean setter-injection path
- Add test: differing source/destination field names (x -> nestedObject.y)
- Add test: zero/default primitive value maps correctly
- Add test: no-mapping throws MissingFieldException
- Add test: multiple root fields mapped into same nested object

* chore: add changelog entries and remove unused method

- Add changelog entries for #559 fix in CHANGELOG.md and CHANGELOG-JDK11.md
- Remove unused getSourceFieldName(String, String) two-arg overload

* fix: replace record with inner class to satisfy JaCoCo method coverage

Record auto-generates equals/hashCode/toString that are not exercised
by tests, causing JaCoCo method coverage to drop below the required
100% threshold.

* fix: resolve checkstyle errors in EffectiveSource inner class

- Add Javadoc comments to fields
- Rename constructor params to avoid Hidd... (continued)

36 of 36 new or added lines in 1 file covered. (100.0%)

1224 of 1224 relevant lines covered (100.0%)

1.95 hits per line

Jobs
ID Job ID Ran Files Coverage
1 #1368.1 28 Mar 2026 05:16PM UTC 60
100.0
Source Files on build #1368
  • Tree
  • List 60
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 6fa0d967 on github
  • Prev Build on master
  • Next Build on master
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc