Commit 8faad2a
Merge Java conformance follow-up: origin metatype + loader warnings infra
Issue A — port the origin metatype family to Java (MetaOrigin abstract +
passthrough/aggregate/collection subtypes), accept origin as a child of field.*,
ValidationPhase.validateOrigins enforces @agg vocabulary (ERR_BAD_ATTR_VALUE)
and @via dotted-path traversal through declared relationships (ERR_INVALID_ORIGIN).
Mirrors the TS/C# implementations. Closes 8 conformance ledger entries
(origin-passthrough-simple, origin-aggregate-count, origin-aggregate-sum,
origin-collection-simple, origin-multi-level-via, source-db-view-projection,
error-origin-bad-aggregate-fn, error-origin-bad-via-path).
Issue B — loader warnings surface on MetaDataLoader + missing-primary-identity
warning emitted by ValidationPhase.validateEntityHasPrimaryIdentity.
ConformanceTest honors expected-warnings.json via multiset-equality. Aligns
with TS subtype-rules / C# ValidationPasses (no "has any field" guard — any
concrete entity without primary identity warns). Closes
subtype-entity-missing-primary-warning.
Net: Java conformance ledger 39 → 30 (9 entries closed); ConformanceTest 168/0/0;
metadata 614/0/0; full reactor green.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>14 files changed
Lines changed: 1099 additions & 18 deletions
File tree
- server/java/metadata
- src
- main
- java/com/metaobjects
- field
- loader
- parser
- origin
- util
- resources/META-INF/services
- test/java/com/metaobjects
- conformance
- loader
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
22 | | - | |
23 | 21 | | |
24 | 22 | | |
25 | 23 | | |
| |||
29 | 27 | | |
30 | 28 | | |
31 | 29 | | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | 30 | | |
38 | | - | |
39 | | - | |
40 | 31 | | |
41 | 32 | | |
42 | 33 | | |
| |||
Lines changed: 4 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| 16 | + | |
16 | 17 | | |
17 | 18 | | |
18 | 19 | | |
| |||
120 | 121 | | |
121 | 122 | | |
122 | 123 | | |
123 | | - | |
| 124 | + | |
124 | 125 | | |
125 | 126 | | |
126 | | - | |
| 127 | + | |
| 128 | + | |
127 | 129 | | |
128 | 130 | | |
129 | 131 | | |
| |||
Lines changed: 64 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
| 31 | + | |
31 | 32 | | |
32 | 33 | | |
33 | 34 | | |
| |||
111 | 112 | | |
112 | 113 | | |
113 | 114 | | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
114 | 130 | | |
115 | 131 | | |
116 | 132 | | |
| |||
245 | 261 | | |
246 | 262 | | |
247 | 263 | | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
248 | 304 | | |
249 | 305 | | |
250 | 306 | | |
| |||
805 | 861 | | |
806 | 862 | | |
807 | 863 | | |
| 864 | + | |
| 865 | + | |
| 866 | + | |
| 867 | + | |
808 | 868 | | |
809 | 869 | | |
810 | 870 | | |
| |||
830 | 890 | | |
831 | 891 | | |
832 | 892 | | |
833 | | - | |
834 | | - | |
| 893 | + | |
| 894 | + | |
| 895 | + | |
| 896 | + | |
835 | 897 | | |
836 | 898 | | |
837 | 899 | | |
| |||
0 commit comments