[LIVECOPY-319] Rewire instanceof impl instead interface Created: 24/Jun/22  Updated: 25/Jan/23

Status: Open
Project: Live Copy
Component/s: None
Affects Version/s: 3.2.8
Fix Version/s: None

Type: Improvement Priority: Major
Reporter: Björn Eschle Assignee: Unassigned
Resolution: Unresolved Votes: 3
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Date of First Response:
Epic Link: AuthorX Support
Team: AuthorX

 Description   

StandardRewirePageLinksHelper performs rewiring based on instance checks of implementations instead of interfaces, which fails for custom field definitions.

void rewriteLinksForField(Node node, EditorPropertyDefinition field, Locale locale, boolean protectFieldAfterRewire) throws Exception {
    ...
    } else if (field instanceof CompositeFieldDefinition) {
        this.handleCompositeField(node, (CompositeFieldDefinition) field, locale, protectFieldAfterRewire);
    } else if (field instanceof ConfiguredSwitchableFieldDefinition) {
        this.handleSwitchableField(node, (ConfiguredSwitchableFieldDefinition) field, locale, protectFieldAfterRewire);
    }
}

Using interfaces would allow for custom implementations:
CompositeFieldDefinition -> FormDefinition
ConfiguredSwitchableFieldDefinition -> SwitchableFormDefinition


Generated at Mon Feb 12 02:27:37 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.