[BLOSSOM-180] Blossom Incompatible with Magnolia 5.3 Created: 02/Jul/14  Updated: 25/Jul/14  Resolved: 25/Jul/14

Status: Closed
Project: Blossom
Component/s: None
Affects Version/s: 3.0.2
Fix Version/s: None

Type: Bug Priority: Neutral
Reporter: OLD Chris Jennings Assignee: Tobias Mattsson
Resolution: Fixed Votes: 3
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Text File BlossomFormDialogPresenter.java     File magnolia-module-blossom-3.0.2-BLOSSOM-180.jar    
Issue Links:
duplicate
duplicates MGNLUI-3034 BlossomFormDialogPresenter breaks due... Closed
relation
is related to BLOSSOM-186 Update sample to Magnolia 5.3.1 and D... Closed
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)
Bug DoR:
[ ]* Steps to reproduce, expected, and actual results filled
[ ]* Affected version filled
Date of First Response:

 Description   

Blossom component info.magnolia.module.blossom.dialog.BlossomFormDialogPresenterImpl extends Magnolia core class info.magnolia.ui.dialog.formdialog.FormDialogPresenterImpl

When the Blossom implementation calls the superclass's constructor, it does not include the new AvailabilityChecker and ContentConnector parameters introduced by 5.3.

Therefore, attempting to open the dialog associated with a Blossom component causes Magnolia to fail with:

java.lang.NoSuchMethodError: info.magnolia.ui.dialog.formdialog.FormDialogPresenterImpl.<init>(Linfo/magnolia/ui/dialog/registry/DialogDefinitionRegistry;Linfo/magnolia/ui/dialog/formdialog/FormBuilder;Linfo/magnolia/objectfactory/ComponentProvider;Linfo/magnolia/ui/dialog/actionarea/DialogActionExecutor;Linfo/magnolia/ui/dialog/formdialog/FormView;Linfo/magnolia/i18nsystem/I18nizer;Linfo/magnolia/i18nsystem/SimpleTranslator;)V
at info.magnolia.module.blossom.dialog.BlossomFormDialogPresenter.<init>(BlossomFormDialogPresenter.java:70)



 Comments   
Comment by Adi De Masi [ 02/Jul/14 ]

If someone needs a quickfix for Magnolia 5.3, here is how to do it:

  • checkout blossom-module
  • in the pom-file of the blossom-module change the magnoliaVersion to 5.3
  • in src/main/java/info/magnolia/module/blossom/dialog/BlossomFormDialogPresenter.java
    change the following:
 
     @Inject
     public BlossomFormDialogPresenter(DialogDefinitionRegistry dialogDefinitionRegistry, FormBuilder formBuilder, ComponentProvider componentProvider, DialogActionExecutor executor, FormView view, I18nizer i18nizer, SimpleTranslator i18n) {
-        super(dialogDefinitionRegistry, formBuilder, componentProvider, executor, view, i18nizer, i18n);
+        super(dialogDefinitionRegistry, formBuilder, componentProvider, executor, view, i18nizer, i18n, componentProvider.getComponent(AvailabilityChecker.class), componentProvider.getComponent(ContentConnector.class));
         this.dialogDefinitionRegistry = dialogDefinitionRegistry;
     }
Comment by Tobias Mattsson [ 04/Jul/14 ]

Attaching a patched jar that works with Magnolia 5.3.

Comment by Stefan Baur [ 07/Jul/14 ]

For my Maven Project I have created this patch class in <webapp>/src/main/java: BlossomFormDialogPresenter.java

Comment by Tobias Mattsson [ 25/Jul/14 ]

As of Magnolia 5.3.1 this issue has been resolved.

Generated at Sun Feb 11 23:30:56 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.