[MSHOP-139] Selecting product in product teaser throws MgnlInstantiationException Created: 15/May/14  Updated: 08/Dec/14  Resolved: 05/Dec/14

Status: Closed
Project: Magnolia Shop (closed)
Component/s: None
Affects Version/s: 2.0.1
Fix Version/s: 2.1

Type: Bug Priority: Neutral
Reporter: Joerg von Frantzius Assignee: Robert Šiška
Resolution: Obsolete Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Magnolia 5.2.4


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   

When adding a "Shop Product Teaser" to the Content area of a shop homepage, and then trying to select a product in the teaser's dialog, the following exception is thrown:

[..]
Caused by: com.vaadin.event.ListenerMethod$MethodException: Invocation of method buttonClick in info.magnolia.ui.form.field.LinkField$3 failed.
        at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:528)
        at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:167)
        at com.vaadin.server.AbstractClientConnector.fireEvent(AbstractClientConnector.java:969)
        at com.vaadin.ui.Button.fireClick(Button.java:368)
        at com.vaadin.ui.Button$1.click(Button.java:57)
        ... 92 more
Caused by: info.magnolia.objectfactory.MgnlInstantiationException: Unable to resolve parameters for constructor public info.magnolia.ui.contentapp.choosedialog.ContentAppChooseDialogPresenter(info.magnolia.ui.form.field.factory.FieldFactoryFactory,info.magnolia.objectfactory.ComponentProvider,info.magnolia.cms.i18n.I18nContentSupport,info.magnolia.ui.dialog.actionarea.DialogActionExecutor,info.magnolia.ui.api.app.AppContext,info.magnolia.ui.dialog.choosedialog.ChooseDialogView,info.magnolia.i18nsystem.I18nizer,info.magnolia.i18nsystem.SimpleTranslator)
        at info.magnolia.objectfactory.ObjectManufacturer.newInstance(ObjectManufacturer.java:77)
        at info.magnolia.objectfactory.guice.GuiceComponentProvider.newInstanceWithParameterResolvers(GuiceComponentProvider.java:121)
        at info.magnolia.objectfactory.guice.GuiceComponentProvider.newInstance(GuiceComponentProvider.java:107)
        at info.magnolia.ui.contentapp.ContentApp.openChooseDialog(ContentApp.java:92)
        at info.magnolia.ui.framework.app.AppControllerImpl.openChooseDialog(AppControllerImpl.java:406)
        at info.magnolia.ui.form.field.LinkField$3.buttonClick(LinkField.java:247)
        at sun.reflect.GeneratedMethodAccessor614.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:508)
        ... 96 more



 Comments   
Comment by Tran Thi Ngoc Tram [ 30/Jul/14 ]

Hi,

Since 5.2.2, this module needs to correct the app configuration in class property of shopProducts.

Mistake: info.magnolia.ui.api.app.registry.ConfiguredAppDescriptor

Correct: info.magnolia.ui.contentapp.ConfiguredContentAppDescriptor or ContentAppDescriptor

Best regards,
Tram.Tran

Comment by Robert Šiška [ 05/Dec/14 ]

In the future, use Magnolia 5.3.3 (or later) with latest version of shop module (2.1) where this issue is resolved.

If you're bound to stay with 5.2.x, you can work around this issue by setting /modules/shop/apps/shopProducts/class to info.magnolia.ui.contentapp.ConfiguredContentAppDescriptor, as Tram.Tran suggests.

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