feat(java): complete GraphAr metadata API parity - #956
Conversation
SemyonSinchenko
left a comment
There was a problem hiding this comment.
For me it looks like without equals for PropertyGroup it won't work correctly.
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #956 +/- ##
============================================
+ Coverage 77.40% 77.59% +0.18%
- Complexity 621 682 +61
============================================
Files 84 85 +1
Lines 8972 9091 +119
Branches 1074 1098 +24
============================================
+ Hits 6945 7054 +109
+ Misses 1785 1780 -5
- Partials 242 257 +15
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Expose the indexed lookups and immutable property-group removal operations that match the C++ GraphInfo metadata surface.\n\nConstraint: Product-fork slice only; Phase 3 io-api remains owned by the parallel session.
e47fc30 to
91018d0
Compare
|
@SemyonSinchenko спасибо за конкретные замечания — все три исправил в
Заодно объединил это с близким metadata round-trip slice: labels, Отдельно открыл небольшой независимый Java API PR #958 (issue #957): только storage interfaces, без adapter implementation и без зависимости от этого PR. Буду рад твоему ревью, когда будет время. |
Reason for this PR
Completes the dependency-light Java metadata API compatibility work tracked by #955 and relates to the metadata-round-trip umbrella #944. The PR is deliberately limited to
graphar-info; it adds no physical IO, storage, Arrow, or query-engine dependency.What changes are included in this PR?
extra_info, and typedlist<T>values through YAML loading and saving.PropertyandPropertyGroupvalue equality and hash codes, so removal works for an equivalent deserialized property group rather than only the same object reference.IllegalArgumentException, matching existing Java lookup APIs.Are these changes tested?
Yes, against current
upstream/mainwithGAR_TEST_DATA=testing:mvn --no-transfer-progress -P!nexus-download -pl info -am spotless:checkmvn --no-transfer-progress -P!nexus-download -pl info -am clean verify -Dspotless.check.skip=true— 133 tests, 0 failures/errors/skips.pre-commit run --filesfor all 23 changed Java files, andgit diff --check.Are there any user-facing changes?
Yes. The Java metadata API gains immutable lookup/removal and full GraphAr metadata round-trip support; no on-disk topology or storage behavior changes.
Checklist
make cpplintbefore submitting when changed files are in thecppdirectory.pre-commit runbefore commit the changed files.