I have a Wizard with a one WizardPage and a Form. It use to work fine but i have updated to new spring lib and I am starting to get some really strange errors.
I have a RefreshableValueHolder that updates ComboBox items on show(). As the model is changing so I need to update combobox model.
Following is the exception that Iam getting on wizard.execute().
Here is my wizard.execute()Code:03:39:51,448 DEBUG [org.springframework.richclient.list.DynamicComboBoxListModel] Setting newly selected item on value holder to Accounting 03:39:51,448 DEBUG [org.springframework.richclient.list.DynamicComboBoxListModel] Notifying combo box view selected value changed; new value is 'Accounting' 03:39:51,498 DEBUG [org.springframework.richclient.list.DynamicComboBoxListModel] Firing contents change event; selected item may have changed 03:39:51,498 DEBUG [org.springframework.richclient.list.DynamicComboBoxListModel] Returning selected item Accounting 03:39:51,498 DEBUG [org.springframework.richclient.list.DynamicComboBoxListModel] Returning selected item Accounting 03:39:51,498 DEBUG [org.springframework.richclient.list.DynamicComboBoxListModel] Returning selected item Accounting 03:39:51,498 DEBUG [org.springframework.richclient.list.DynamicComboBoxListModel] Fired contents change event! 03:39:51,508 ERROR [org.springframework.richclient.application.config.ApplicationAdvisor] java.util.ConcurrentModificationException at java.util.LinkedHashMap$LinkedHashIterator.nextEntry(LinkedHashMap.java:354) at java.util.LinkedHashMap$KeyIterator.next(LinkedHashMap.java:365) at org.springframework.binding.value.support.AbstractValueModel.fireValueChanged(AbstractValueModel.java:64) at org.springframework.binding.value.support.BufferedValueModel.onWrappedValueChanged(BufferedValueModel.java:82) at org.springframework.binding.value.support.BufferedValueModel$WrappedModelValueChangeHandler.valueChanged(BufferedValueModel.java:70) at org.springframework.binding.value.support.AbstractValueModel.fireValueChanged(AbstractValueModel.java:64) at org.springframework.binding.value.support.PropertyAdapter$DomainObjectChangeHandler.valueChanged(PropertyAdapter.java:70) at org.springframework.binding.value.support.AbstractValueModel.fireValueChanged(AbstractValueModel.java:64) at org.springframework.binding.value.support.ValueHolder.setValue(ValueHolder.java:52) at org.springframework.binding.form.support.AbstractFormModel.setFormObject(AbstractFormModel.java:69) at org.springframework.richclient.forms.CompoundForm.setFormObject(CompoundForm.java:55) at com.vaau.rbacx.client.ui.view.businessunitsview.NewNewBusinessUnitWizard.execute(NewNewBusinessUnitWizard.java:53) at com.vaau.rbacx.client.ui.view.businessunitsview.NewNewBusinessUnitWizard.execute(NewNewBusinessUnitWizard.java:61) at org.springframework.richclient.command.TargetableActionCommand.doExecuteCommand(TargetableActionCommand.java:97) at org.springframework.richclient.command.ActionCommand.execute(ActionCommand.java:188) at org.springframework.richclient.command.ActionCommand$1.actionPerformed(ActionCommand.java:123) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1764) at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1817) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:419) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:257) at javax.swing.AbstractButton.doClick(AbstractButton.java:289) at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1113) at javax.swing.plaf.basic.BasicMenuItemUI$MouseInputHandler.mouseReleased(BasicMenuItemUI.java:943) at java.awt.Component.processMouseEvent(Component.java:5134) at java.awt.Component.processEvent(Component.java:4931) at java.awt.Container.processEvent(Container.java:1566) at java.awt.Component.dispatchEventImpl(Component.java:3639) at java.awt.Container.dispatchEventImpl(Container.java:1623) at java.awt.Component.dispatchEvent(Component.java:3480) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3450) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3165) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3095) at java.awt.Container.dispatchEventImpl(Container.java:1609) at java.awt.Window.dispatchEventImpl(Window.java:1590) at java.awt.Component.dispatchEvent(Component.java:3480) at java.awt.EventQueue.dispatchEvent(EventQueue.java:450) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136) at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)
Here is my form.createControl()Code:public void execute() { if (wizardDialog == null) { wizardDialog = new WizardDialog(this); wizardDialog.setResetMessagePaneOnDisplay(true); wizardForm = new CompoundForm(); } wizardForm.setFormObject(new BusinessUnit()); wizardDialog.showDialog(); }
I am going nuts over this, please any help will be really appreciated.Code:protected JComponent createFormControl() { FormLayout layout = new FormLayout("left:pref, 5dlu, pref:grow"); JGoodiesBeanFormBuilder formBuilder = new JGoodiesBeanFormBuilder(getFormModel(), layout); businessUnitNameField =(JTextField) formBuilder.add("businessUnitName")[1]; refreshableValueHolder = new RefreshableValueHolder(new Block() { public Object call(Object object) { return getFlattenedBusinessUnits(); } }, true); parentBusinessUnitComboBox = getFormModel().createBoundComboBox("parentBusinessUnit", refreshableValueHolder, "businessUnitName"); formBuilder.getWrappedFormBuilder().add(PARENT_BUSINESS_UNIT_LABEL_ID, parentBusinessUnitComboBox); return formBuilder.getForm(); }
Amad


Reply With Quote