Repository navigation
Conversation
Ekhorn
force-pushed
the
feature/import-export-asset-attribute-configuration
branch
from
October 5, 2026 07:02
4c60293 to
0f5c80c
Compare
Contributor
Author
MartinaeyNL
reviewed
Oct 9, 2026
MartinaeyNL
left a comment
Member
There was a problem hiding this comment.
AI Review of #3380 — Feature/import export asset attribute configuration
Reviewed the full diff (2 commits, closes #3378).
Verdict
Solid, well-structured implementation that meets most acceptance criteria, with tests at both util and container level. A few contract inconsistencies, one misleading UI string, and some duplication to clean up before marking ready.
Issues
Medium
- Misleading overwrite warning —
attributeConfiguration.overwriteConfirmsays "overwrite existing attribute values", but import only replacesmeta(the test explicitly asserts values are untouched). Should say metadata, or users will fear data loss. - Broken contract javadoc on
AttributeConfigurationImportPreview— doc says "Afailuremeans ... the remaining fields are empty", but theNO_IMPORTABLE_ATTRIBUTESpath inAttributeConfigurationUtil.previewreturns populatedmissingAttributes/typeMismatches/asset types alongside the failure. Fix the doc (or the behavior) so API consumers know what to expect. - Missing-body reported as 409 DRAFT_MISMATCH — in
AssetResourceImpl.previewAttributeConfigurationImport,request == null(ordraft == null) falls into theDRAFT_MISMATCHbranch and returns CONFLICT. A missing/empty body is a 400-class problem, not "the draft changed". - No test for
DRAFT_MISMATCH— the whole draft identity check (id/realm/typevs stored asset) and its 409 mapping are untested, unlike every other failure mode. - Duplicated authorization logic — export smartly reuses
get(), but import re-implements realm + restricted-user checks thatupdate()already has. Extract a shared helper or the two paths will drift.
Low
- Export "disabled while dirty" state —
modifiedis bound at render time inindex.ts(.modified="${!!this.isModified()}"). Verify the panel re-renders onOrEditAssetModifiedEventso the button actually disables mid-edit. - Generic error for 403 on import — a user without
write:assetsgetserrorOccurredinstead of a permission message (getFailurePreviewonly understands the preview body). - Possible stray character in
getSkippedTemplate:(${mismatch.importedType} ${mismatch.targetType})looks like it should be an arrow (→); check it's a real glyph and not a control char (same check forgeëxporteerd/geïmporteerdin the nl locale). selectFiletranslation key is referenced but not added in this PR — confirm it exists inor.json.- Docs — checklist item 4 claims docs are written/updated; nothing in the diff touches documentation.
- Commit hygiene — second commit is literally
wip; squash/reword before merge.
Acceptance criteria coverage
| AC | Status |
|---|---|
| 1. Import/Export in Attributes section header | ✅ via getPanel actions slot — issue says "before the expand control", confirm placement matches |
2. Export v1 doc, selection of non-empty meta attrs, <asset-name>-attribute-config.json, disabled while dirty |
✅ |
| 3. Distinguishable rejections (5 failure modes) | ✅ with tests |
| 4. Exact name/type matching, skip + report, never change type | ✅ |
| 5. Confirm dialog: importable/skipped lists, overwrite + asset-type-mismatch warnings, cancellable | ✅ |
6. Wholesale meta replacement, dirty state, result reported |
✅ (result dialog is the one flagged as off-design in the PR comment) |
7. read:assets / write:assets enforced in resource |
✅ with tests |
| 8. Tests: rejected docs, missing attrs, type mismatch, asset type mismatch, meta replacement | ✅ except DRAFT_MISMATCH (see #4) |
Other notes
- Sonar reports 5 new issues and 0% coverage on new code (likely Groovy tests not counted).
- PR is still Draft with an open design question from the author about the post-import dialog.
Ekhorn
force-pushed
the
feature/import-export-asset-attribute-configuration
branch
from
October 14, 2026 15:01
0f5c80c to
046f32a
Compare
Ekhorn
force-pushed
the
feature/import-export-asset-attribute-configuration
branch
from
October 14, 2026 15:10
046f32a to
cbdf8e1
Compare
|
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.




Description
Checklist