RSDEV-1253: Adding related identifiers field - #6
Conversation
There was a problem hiding this comment.
Pull request overview
This PR extends the DataCite DOI attributes model to support DataCite’s relatedIdentifiers field, and adds tests to validate serialization/deserialization behavior for that new field.
Changes:
- Add
relatedIdentifiers(and aRelatedIdentifiernested type) toDataCiteDoiAttributes. - Add unit tests covering round-trip JSON serialization and tolerance of unknown response properties for related identifiers.
- Update the Maven project version string in
pom.xml.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| src/main/java/com/researchspace/datacite/model/DataCiteDoiAttributes.java | Adds relatedIdentifiers support and a corresponding model type with unknown-property tolerance. |
| src/test/java/com/researchspace/datacite/model/DataCiteDoiTest.java | Adds tests for relatedIdentifiers round-trip and unknown-property tolerance. |
| pom.xml | Changes project version to a ticket-specific snapshot string. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
|
||
| <artifactId>datacite-java-client</artifactId> | ||
| <version>1.0.0</version> | ||
| <version>RSDEV-1253-datacite-SNAPSHOT</version> |
There was a problem hiding this comment.
Skipping this one deliberately, leaving the thread open for the human reviewer.
RSDEV-1253-datacite-SNAPSHOT is a temporary cross-repo pin, not the version this branch ships. rspace-web PR 1054 needs the new relatedIdentifiers field, and the branch-named SNAPSHOT is how the two in-flight branches are paired while both are under review. Before either merges, this goes back to a released semver (1.1.0) and the rspace-web pom is bumped to it, so nothing branch-named reaches a consumer or the release automation.
…bstrings Copilot review: substring matching on the serialized JSON can produce false positives and breaks on harmless serialization changes. Reading the JSON back into a JsonNode and asserting the property paths keeps the part that matters - the wire property names DataCite reads - while making field order and whitespace irrelevant. Asserting only on the deserialized model, as suggested, would not have kept that: a renamed property still round-trips through Jackson symmetrically, so the wire contract would go unchecked. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
parent PR: rspace-os/rspace-web#1054