Skip to content

CLARIN-DSpace v9/Fix report-diff licence field mapping so the licences row is not silently dropped - #1433

Merged
milanmajchrak merged 1 commit into
dtq-dev-9-basefrom
ufal/fix-report-diff-license-name-9-base
Sep 10, 2026
Merged

CLARIN-DSpace v9/Fix report-diff licence field mapping so the licences row is not silently dropped#1433
milanmajchrak merged 1 commit into
dtq-dev-9-basefrom
ufal/fix-report-diff-license-name-9-base

Conversation

@milanmajchrak

Copy link
Copy Markdown
Collaborator

References

Follow-up to #1425 (card X-01), which brought report-diff-fields.json across whole.

Description

That resource maps [name=License summary], but 9-base's healthcheck.cfg names the check License.
The mapping can therefore never match, and report-diff silently drops the licences row — no error, no
warning, just a missing line in every diff report.

Two keys changed, in fieldMappings and fieldOrder. healthcheck.cfg is deliberately not touched: the
shipped check names are the 9-base ones by an earlier decision (card BE-13), so the resource is what has to
follow. This is also kept out of BE-13's own branch, because BE-13 must not modify this file — its acceptance
criterion would become vacuous.

Instructions for Reviewers

mvn clean install -P-assembly -DskipTests    BUILD SUCCESS, 15/15 "0 Checkstyle violations"
python -c "import json;json.load(open('dspace-api/src/main/resources/report-diff-fields.json'))"   # parses, 26/26 entries
git diff origin/dtq-dev-9-base HEAD --stat   # report-diff-fields.json | 4 ++--

Known, not fixed here

The same resource carries a second dead mapping, [name=Metadata check] ×2. org.dspace.health.MetadataCheck
exists on origin/dtq-dev and is absent from dtq-dev-9-base — that is a dropped fork class, and card
BE-13 is the one that brings it back. Fixing the mapping before the class exists would just move the dead
reference, so it is left for BE-13.

🤖 Generated with Claude Code

report-diff-fields.json addresses the licence row as
/checks/[name=License summary]/report/licenses, but dtq-dev-9-base ships
that check as "License":

  dspace/config/modules/healthcheck.cfg
    healthcheck.checks = General Information, Checksum, Item summary,
                         User summary, Log Analyser Check, License, Embargo info
    plugin.named.org.dspace.health.Check =
      org.dspace.health.LicenseCheck = License

ReportDiff resolves a [name=...] segment against the check name recorded in
the stored report, so the mapping can never match and report-diff silently
drops the licences row from both the field mapping and the field order.
"License summary" is the name healthcheck.cfg uses on dtq-dev, which is
where this resource came from; HealthReportIT on this branch already
addresses the same check as "License".

healthcheck.cfg is deliberately not touched: the shipped check names are
correct, the resource was the outlier.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@milanmajchrak
milanmajchrak merged commit 81422c9 into dtq-dev-9-base Sep 10, 2026
12 checks passed
@milanmajchrak
milanmajchrak deleted the ufal/fix-report-diff-license-name-9-base branch September 10, 2026 09:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant