Commit e020b0d
Phase 1: Extract Mapper interface and add MapperType config option (#4193)
* Phase 1: extract Mapper interface, add MapperType config option
- Convert Mapper.java from class to interface (@MorphiaInternal)
- Extract AbstractMapper with shared entity registration/lookup logic
- Create ReflectiveMapper extends AbstractMapper (current implementation)
- Add MapperType enum (LEGACY, CRITTER) to dev.morphia.mapping
- Add mapper() method to MorphiaConfig with default LEGACY
- Update ManualMorphiaConfig to copy/store mapper field
- Update MorphiaDatastore to use createMapper() factory (CRITTER branch throws UnsupportedOperationException until Phase 4)
- Add invalid.mapper.config message to sofia.properties
- Fix TestMapper to use mapper.copy() instead of new Mapper(mapper)
All existing tests pass (1166 run, 1 skipped).
Closes #4184
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Fix critter-core Mapper instantiation after interface extraction
Generators.kt and TestEntityModelGenerator.kt were calling new Mapper(config)
directly, which no longer compiles now that Mapper is an interface.
Updated both to use ReflectiveMapper(config) instead.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Fix progress tracking formula: parent % based on all tasks, not phases
Parent issue percentage is now (completed_tasks_across_all_phases / 53) * 100
instead of (completed_phases / 7) * 100. Clarifies that the parent title
should be updated after every individual task completion.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Address PR review comments
- tryGetEntityModel: map actual (unwrapped) type not proxy type
- isMappable: add null guard before isAssignableFrom to avoid NPE
- createMapper: replace hard-coded string with Sofia.mapperNotYetAvailable()
and throw MappingException instead of UnsupportedOperationException
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Remove unused invalid.mapper.config sofia key
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Add update-progress skill and workflow for critter integration tracking
- .github/scripts/update-critter-progress.sh: reusable script that fetches
checkbox state from all 7 phase issues, computes phase % and parent %
(total_done/53), updates issue titles, closes completed phases, and
checks their boxes in #4179
- .github/workflows/update-critter-progress.yml: triggers on any merged PR
or any edit to issues #4179/#4184-#4190 (e.g. checkbox ticked)
- .claude/skills/update-progress/SKILL.md: Claude-invocable skill for
manual progress updates with formula reference and phase table
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Fix checkbox matching to be case-insensitive (- [X] and - [x])
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* update script updated
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>1 parent 80b787d commit e020b0d
File tree
13 files changed
+712
-362
lines changed- .claude/skills/update-progress
- .github
- scripts
- workflows
- core/src
- main
- java/dev/morphia
- mapping
- resources
- test/java/dev/morphia/test/mapping
- critter/core/src
- main/kotlin/dev/morphia/critter/parser
- test/kotlin/dev/morphia/critter/parser
- docs
- modules/ROOT/examples
13 files changed
+712
-362
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
| 52 | + | |
52 | 53 | | |
53 | 54 | | |
54 | 55 | | |
| |||
124 | 125 | | |
125 | 126 | | |
126 | 127 | | |
127 | | - | |
| 128 | + | |
128 | 129 | | |
129 | 130 | | |
130 | 131 | | |
| |||
234 | 235 | | |
235 | 236 | | |
236 | 237 | | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
237 | 245 | | |
238 | 246 | | |
239 | 247 | | |
| |||
0 commit comments