Details
Description
AbstractInputGuiComponentFactory doesn't count with multiple form components created in input panel
Caused by: java.lang.RuntimeException: java.lang.IllegalStateException: this kind of handler cannot be attached to multiple components; it is already attached to component [TextField [Component id = input]], but component [DateInput [Component id = i nput]] wants to be attached too at com.evolveum.midpoint.gui.impl.prism.panel.PrismValuePanel.createValuePanel(PrismValuePanel.java:171) at com.evolveum.midpoint.gui.impl.prism.panel.PrismValuePanel.initLayout(PrismValuePanel.java:75) at com.evolveum.midpoint.gui.impl.prism.panel.PrismValuePanel.onInitialize(PrismValuePanel.java:66) at org.apache.wicket.Component.fireInitialize(Component.java:873) at org.apache.wicket.MarkupContainer.internalInitialize(MarkupContainer.java:1038) at org.apache.wicket.MarkupContainer.addedComponent(MarkupContainer.java:1015) at org.apache.wicket.MarkupContainer.add(MarkupContainer.java:240) at com.evolveum.midpoint.gui.impl.prism.panel.PrismPropertyPanel.createValuePanel(PrismPropertyPanel.java:60) at com.evolveum.midpoint.gui.impl.prism.panel.ItemPanel$1.populateItem(ItemPanel.java:97) at org.apache.wicket.markup.html.list.ListView.onPopulate(ListView.java:523) at org.apache.wicket.markup.repeater.AbstractRepeater.onBeforeRender(AbstractRepeater.java:124) at org.apache.wicket.Component.beforeRender(Component.java:939) at org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1754) ... 160 common frames omitted Caused by: java.lang.IllegalStateException: this kind of handler cannot be attached to multiple components; it is already attached to component [TextField [Component id = input]], but component [DateInput [Component id = input]] wants to be attached too at org.apache.wicket.behavior.AbstractAjaxBehavior.bind(AbstractAjaxBehavior.java:63) at org.apache.wicket.Behaviors.add(Behaviors.java:59) at org.apache.wicket.Component.add(Component.java:4458) at com.evolveum.midpoint.gui.impl.factory.panel.AbstractInputGuiComponentFactory.configure(AbstractInputGuiComponentFactory.java:59) at com.evolveum.midpoint.gui.impl.factory.panel.AbstractInputGuiComponentFactory.configure(AbstractInputGuiComponentFactory.java:29) at com.evolveum.midpoint.gui.impl.prism.panel.PrismValuePanel.createValuePanel(PrismValuePanel.java:165) ... 172 common frames omitted
Code around InputPanels also fails if panel.getFormComponent() returns null (eg. readonly state where fields were replaced by label)