[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: |
| 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: |