-
Bug
-
Resolution: Fixed
-
Major
-
5.2.2
If you use the extends mechanism for generic fields (see example-config.png), the ConfiguredDialogDefinitionManager throws a ClassCastException.
14-03-13 10:46:40 ERROR AUTHOR[Thread-22]info.magnolia.ui.dialog.registry.ConfiguredDialogDefinitionManager: Unable to create provider for dialog [test-module:generic/extendedField] java.lang.ClassCastException: info.magnolia.ui.form.field.definition.SelectFieldDefinition cannot be cast to info.magnolia.ui.dialog.definition.ConfiguredFormDialogDefinition at info.magnolia.ui.dialog.registry.ConfiguredDialogDefinitionProvider.<init>(ConfiguredDialogDefinitionProvider.java:58) at info.magnolia.ui.dialog.registry.ConfiguredDialogDefinitionManager.createProvider(ConfiguredDialogDefinitionManager.java:117) at info.magnolia.ui.dialog.registry.ConfiguredDialogDefinitionManager$1.visit(ConfiguredDialogDefinitionManager.java:90) at info.magnolia.jcr.util.NodeUtil.visit(NodeUtil.java:654) at info.magnolia.jcr.util.NodeUtil.visit(NodeUtil.java:656) at info.magnolia.ui.dialog.registry.ConfiguredDialogDefinitionManager.reload(ConfiguredDialogDefinitionManager.java:82) at info.magnolia.cms.util.ModuleConfigurationObservingManager.reload(ModuleConfigurationObservingManager.java:112)
Reason is that it tries to registrate the generic field as dialog definition. The prior check on the node is to weak. So it is useless. An instanceof check in info.magnolia.ui.dialog.registry.ConfiguredDialogDefinitionManager#createProvider would make more sense.
Acceptance criteria