[MAGNOLIA-3299] Make "saveHandler" property properly overridable. Created: 15/Sep/10  Updated: 04/Nov/15  Resolved: 04/Nov/15

Status: Closed
Project: Magnolia
Component/s: admininterface
Affects Version/s: 4.3.6
Fix Version/s: None

Type: Improvement Priority: Major
Reporter: Danilo Ghirardelli Assignee: Philipp Bärfuss
Resolution: Won't Do Votes: 0
Labels: saveHandler
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Text File patch.txt    
Issue Links:
relation
is related to BLOSSOM-14 Make possible to set a SaveHandler fo... Closed
Template:
Patch included:
Yes
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:

 Description   

In the class DialogMVCHandler it's really hard to override the default saveHandler creation properly.
The property is private (and this is right), but methods that should be delegated to initialize it just set/use it directly. I'm talking about getSaveHandler(), createSaveHandler() and configureSaveHandler():

  • configureSaveHandler() have the saveHandler passed as parameter, but internally just checks the private field and not the passed one.
  • createSaveHandler() does not returns the new SaveHandler but simply set it internally. The method is declared as protected but it's virtually impossible to override it without using reflections to set the initialized value.
  • getSaveHandler() relies on the fact that createSaveHandler() have already set the private field.

Given the situation, it's hard to override any part of saveHandler initialization or retrieval mantaining a fallback on the original behaviour. You have either to use reflections or to override (copy&paste) all those three methods just to change one at most.

The attached patch will make override easier.



 Comments   
Comment by Michael Mühlebach [ 04/Nov/15 ]

Given the thousands of other issues we have open that are more highly requested, we won't be able to address this issue in the foreseeable future. Instead we will focus on issues with a higher impact, and more votes.
Thanks for taking the time to raise this issue. As you are no doubt aware this issue has been on our backlog for some time now with very little movement.
I'm going to close this to set expectations so the issue doesn't stay open for years with few updates. If the issue is still relevant please feel free to reopen it or create a new issue.

Generated at Mon Feb 12 03:45:09 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.