[MAGNOLIA-5887] Node2Bean should not try to instantiate enumerations, which causes an exception Created: 18/Aug/14  Updated: 19/May/22  Resolved: 19/May/22

Status: Closed
Project: Magnolia
Component/s: node2bean
Affects Version/s: 5.3.1
Fix Version/s: None

Type: Bug Priority: Neutral
Reporter: Cheng Hu Assignee: Unassigned
Resolution: Won't Do Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Relates
relates to MAGNOLIA-5627 Node2Bean: support enums case-insensi... 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   

To reproduce:

  1. In Config App, go to /modules/standard-templating-kit/dialogs/pages/forum/stkForumHeader
  2. Create a content node named "modalityLevel", which is a field mapped to an enum in the bean
  3. See that N2B actually tries to instantiate it as a bean, causing an exception
2014-08-18 16:56:40,619 WARN  magnolia.jcr.node2bean.impl.Node2BeanProcessorImpl: Can't instantiate bean for /modules/standard-templating-kit/dialogs/pages/forum/stkForumHeader/modalityLevel
info.magnolia.jcr.node2bean.Node2BeanException: info.magnolia.objectfactory.MgnlInstantiationException: No suitable constructor found for class [class info.magnolia.ui.api.overlay.OverlayLayer$ModalityLevel]
	at info.magnolia.jcr.node2bean.impl.Node2BeanTransformerImpl.newBeanInstance(Node2BeanTransformerImpl.java:261)
	at info.magnolia.jcr.node2bean.impl.Node2BeanProcessorImpl.toBean(Node2BeanProcessorImpl.java:135)
	at info.magnolia.jcr.node2bean.impl.Node2BeanProcessorImpl.toMap(Node2BeanProcessorImpl.java:227)
	at info.magnolia.jcr.node2bean.impl.Node2BeanProcessorImpl.toBean(Node2BeanProcessorImpl.java:132)
	at info.magnolia.jcr.node2bean.impl.Node2BeanProcessorImpl.toBean(Node2BeanProcessorImpl.java:94)
	at info.magnolia.ui.dialog.registry.ConfiguredDialogDefinitionProvider.<init>(ConfiguredDialogDefinitionProvider.java:58)
	at info.magnolia.ui.dialog.registry.ConfiguredDialogDefinitionManager.createProvider(ConfiguredDialogDefinitionManager.java:123)
	at info.magnolia.ui.dialog.registry.ConfiguredDialogDefinitionManager$1.visit(ConfiguredDialogDefinitionManager.java:93)
	at info.magnolia.jcr.util.NodeUtil.visit(NodeUtil.java:656)
	at info.magnolia.jcr.util.NodeUtil.visit(NodeUtil.java:658)
	at info.magnolia.jcr.util.NodeUtil.visit(NodeUtil.java:658)
	at info.magnolia.ui.dialog.registry.ConfiguredDialogDefinitionManager.reload(ConfiguredDialogDefinitionManager.java:85)
	at info.magnolia.cms.util.ModuleConfigurationObservingManager.reload(ModuleConfigurationObservingManager.java:98)
	at info.magnolia.cms.util.WorkspaceObservingManager$1$1.doExec(WorkspaceObservingManager.java:90)
	at info.magnolia.context.MgnlContext$VoidOp.exec(MgnlContext.java:414)
	at info.magnolia.context.MgnlContext$VoidOp.exec(MgnlContext.java:411)
	at info.magnolia.context.MgnlContext.doInSystemContext(MgnlContext.java:385)
	at info.magnolia.cms.util.WorkspaceObservingManager$1.onEvent(WorkspaceObservingManager.java:86)
	at info.magnolia.cms.util.ObservationUtil$ObservationBasedDelayedExecutor$1.run(ObservationUtil.java:253)
	at info.magnolia.cms.util.DelayedExecutor$RunnableWrapper.run(DelayedExecutor.java:103)
	at EDU.oswego.cs.dl.util.concurrent.ClockDaemon$RunLoop.run(Unknown Source)
	at java.lang.Thread.run(Thread.java:695)
Caused by: info.magnolia.objectfactory.MgnlInstantiationException: No suitable constructor found for class [class info.magnolia.ui.api.overlay.OverlayLayer$ModalityLevel]
	at info.magnolia.objectfactory.ObjectManufacturer.newInstance(ObjectManufacturer.java:104)
	at info.magnolia.objectfactory.guice.GuiceComponentProvider.newInstanceWithParameterResolvers(GuiceComponentProvider.java:121)
	at info.magnolia.objectfactory.guice.GuiceComponentProvider.newInstance(GuiceComponentProvider.java:107)
	at info.magnolia.jcr.node2bean.impl.Node2BeanTransformerImpl.newBeanInstance(Node2BeanTransformerImpl.java:259)
	... 21 more


 Comments   
Comment by Roman Kovařík [ 19/May/22 ]

Hello,

This ticket is now marked as closed due to one of the following reasons:

  • A long period of inactivity
  • Uses an old or Beta version of an application, module, or framework that we no longer support
  • The issue is no longer reproducible or has been fixed in later versions

If you are still facing a problem or consider this issue still relevant, please feel free to re-open the ticket and we will reach out to you.

Thank you,
The Magnolia Team

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